Repairing pool cleaning robot with Atmega8

One day Davide found that his pool cleaning robot was dead. Damage was caused by chlorine which cut through gasket and shorted circuits. Official repairing wasn’t an option because new electronics would cost more than robot itself. So he thought that in reality cleaning robot doesn’t do much – moves around and sucks water through the filter. He can build his own control circuit based on his microcontroller of choice. He built a circuit which is actually a count down timer. Robot works in periods that can be selected with five buttons. Settings are stored in to microcontrollers internal EEPROM so once set it always works as programmed. Status LEDs indicate robot working conditions. Green shows that robot is working, while RED indicates over/under current detection. Robot moving motor is BLDC, so he used hobby ESC Mistery FM30A to drive motor with PWM generated from Atmega. That’s it solved and robot continues its work. Continue reading

Winding your own guitar pickup

Electric guitars picks sound waves by using electromagnetic pickup coils. In order o get different guitar characteristics or simply repair damaged coil, you may need to rewind guitar pickup. There are many ways of doing this. Some people do this by hand what is long and boring process. Other attach bobbin to electric drill to turn it faster, but it is hard to count coil windings and it is hard to control. To make this process smooth and controllable, Davide has constructed a pickup winding machine based on Atmega8 microcontroller. When complete, it became pretty professional device with several handy features. It has a wind counter based on hall sensor. It has low speed motor start, automatic stop once wind counter reaches preset value. There can be up to 99999 windings selected. Motor can turn in any direction. And reach preset maximum motor speed. Motor is interfaced by using standard L298N chip. Settings and current information is displayed on LCD screen with three push buttons. Continue reading

Building precise temperature meter

Temperature sensor devices are common around us. They differ in their precision and measuring method. What interests us is MCU based temperature meter that gives reliable readings. For instance cheap room thermometers aren’t that precise. They can be have error about 1 degree. This might not be acceptable in some situations. So what to do if you want really precise measurements? Scott Harden has been working on new projects where he wants to control crystal oven with high precision. As sensor he chooses LM335 linear temperature sensor. In order to get high resolution, he built LM324 op-amp based based circuit which expands smaller temperature interval to Atmega8 microcontroller ADC range and thus he gets about 0.01F resolution. Since he uses cheap and available components like LM324 operation amplifier, this project becomes really attractive. You can get crisp temperature controller without investing much. As this is initial project stage, Scott plots data using Python scrip. Continue reading

Jazda – hackable bicycle computer

Bicycle enthusiasts love having few high tech gadgets installed on it. Usually there are speedometer, lights and other stuff that can be purchased around. In order to have full control and ability to add new features the only way is to start building your own bicycle computer. Great start can be so called ‘jazda’ bicycle computer. It is based on Atmega8 microcontroller with (seems) Nokia graphical LCD screen. It is battery operated (3V) device with three buttons for selecting actions. It has plenty connectors for various sensors including mandatory wheel rotation sensor. With this sensor computer already is able to indicate speed and cadence (RPM). There are also a bunch of derivative parameters like distance max speed avg speed. Graphical LCD allows plotting some data like speed during time. Project seems to be in progress and more features are on the way. Continue reading

Project Ouroboros: Reflashing USBASP into an ATmega8 Development Board

When I was trying to search for cheap AVR programmers on eBay i came across a bunch of AVRASP programmers from China, they cost a lot cheaper compared to their premium counterparts, it was a surprise to know that when they arrived that these programmers (or hex loaders as I call them) are made using an ATmega8! I was astonished to learn that a microcontrollor is programming another microcotroller – something like recursive programming. A cool dude that goes by the name of  jethomson had a brilliant idea of actually modifying the AVRASP programmer so that it would become an ATmega8 development board ready to take in code – he even made it compatible and programmable with the famous Arduino Environment. All that was needed to complete the transformation was a little soldering job, a push button, wires and an external programmer, that was for the hardware side for the software he played with the AVR fuses and added a few lines to the boards.txt file. To demonstrate his work, he modified the USB Business Card to output  “All work and… Continue reading

Homebrew industrial control PLC using Atmega8

Back in college we had this subject on Programmable Logic Controllers – which is used to control industrial motors, actuators and indicators while collecting input data from sensors? Why use a PLC? Well PLCs are compact, off the shelf, easy to program using Ladder Logic, its much lesser in cost and less power hungry compared to the other means of control while able to control high power instruments and machines. Did I say much less in the previous paragraph? Well it cost less but not cheap – here is a home brew PLC. It doesn’t go in a black box [like the PLCs from Siemens] but it sure do high power control. The main controller of this PLC project is an ATMega8A-P which is rigged to an external EEPROM using I2C bus to be able to hold on more command sequences. The microcontroller is isolated from the high power devices. Inputs are made out of opto couplers – this would enable the microcontroller to sense from sensors that outputs voltages higher/lower than the limits of the AVR. For the output… Continue reading