Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs
Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

SCP1000 barometer logger with graphical LCD

Jermington posted his latest SCP100Barometer project in AvrFreaks. For this project he used SCP barometer and DX160 connected to Atmega8 microcontroller. Graphical LCD displays latest 128 readings while one reading occur once in 20 minutes. So totally you can see information of about two last days.   Zipped project files and schematics can be downloaded from here. Continue reading

2 channel LM35DZ temperature sensor project

This is quite simple temperature measuring unit which uses two LM35DZ sensors, Atmel AVR AT90S4433 (now obsolete) which is compatible to Atmega8. Information is displayed on standard LCD and optionally sent to RS232 port. Circuit diagram of temperature sensor is here. C files are available in site. Site originally is written in Japanese language, so use a translator. Continue reading

One-handed wearable keyboard

It seems that link to this project is dead, but you may download it from here. The key layout of this keyboard is similar to qwerty, with a thumb key to switch between the left and right sides of the keyboard.   It was intended for use with a wearable computer. With some modifications and processor upgrade it can be a great project to use in many wearable applications. Continue reading

Lithium ion battery charger for robotics

This is a universal charger of Lithium Ion batteries based on Atmega8 microcontroller. As you may know, LiIon batteries have many advantages comparing to regular NiMh or NiCd. Main of them are: high capacity by weigh and volume, no memory effect, fast charge and so on.   But these batteries require special charging algorithm. You cant plug to some voltage and expect them to charge. It needs non constant voltage and current during charging cycle. Charging generally follows these steps: Current control at the Max Charge Current is used until the battery voltage reaches the voltage threshold (normally 4.1 or 4.2 volts per series cell). The battery is about 70% charged at this point; The voltage is now controlled very accurately (this is very important) at the threshold voltage while the current drops off naturally. Once the current reaches the lower cutoff ( about 100 mA per parallel cell typically), charging is stopped after a top-off time delay. So this battery charger consists of control circuit based on atmega8, charge control circuitry and reference voltage circuit. AVR-GCC v3.2 project files… Continue reading

I-Button electronic door lock

Electronic lock developed by Dim uses the Dallas i-Button DS1990 data carrier. I-Button transfers identification data via 1-wire protocol which only requires single data lead and ground. It carries unique 64-bit registration number which can serve as a key to unlock an electric door lock.   Control circuit is based on Atmega32 microcontroller which stores up to 20 key data plus master key in EEPROM memory and also assigns a person name to key ID which can be displayed on LCD while key is activated. Electronic lock can be configured via RS232 interface. Keys and persons can be assigned using PC windows screens. Project files are available in downloads page. It is hard to say how this is convenient to use such key – maybe in some specific areas like event tracking, inventory marking. Of course it is probably more convenient to use RFID. Continue reading

Running uClinux on ARM microcontroller

ARM microcontrollers are 32 bit systems with high potential. It is enough power to run small operation systems like uClinux. The only limitation is that operations systems require much more program memory than internal chip memory can provide. Ulrich Radig used a NXP LPC2294 ARM7 microcontroller which carries 256K of internal Flash memory which is enough to place a boot-loader which loads uClinux kernel to SRAM.   It interesting how he solved low memory problem. SD card was split in to two partitions where one partition FAT16 was used to store kernel which has to be loaded to memory, second is Linux (ext2) partiion for custom use. To support this he has written a simple driver. When Linux is loaded, it is easy to run various custom programs like web servers, and so on. Continue reading