Ovidiu asked me to build a digital counter for his new project, a coil winding machine. Here is what I came up with:

Variant 1 : Atmega8 + Nokia 5110 LCD + 3V power supply

I am using an Atmega8-8PU (configured for 8MHz with external crystal), a Nokia 5110 lcd, and a transistor to handle the pulses from a reed relay. A 3.3V regulator provides the voltage for the entire circuit.
reed digital counter atmega2

Everything has been mounted on a test board, including the headers for: ISP programmer (USBAsp), the 5110 Nokia LCD, the power supply (5V in, fed to the 3.3V regulator), the Reed relay connector, the reset button connector and another 2 pins connector, used to read the polarity of coil winding machine's motor, so we know we either increment or decrement the counter.
reed_counter_atmega_1 reed_counter_atmega_2 reed_counter_atmega_3 reed_counter_atmega_4
There are a few connectors:
J1: is for the power supply. The circuit takes 5V, that get into the L7833 for 3.3V output used by the atmega8 uC and the LCD.
J2: is the LCD connector, going to the Nokia 5110LCD.
J3: goes to the reed relay. This is the place we generate pulses for the microcontroller to count.
J4: is the polarity connector. It must be connected in parallel on the coil winding machine's motor. It was designed for a 12V motor (but this can be changed by adjusting the voltage dividers formed by R3-R4 and R5-R6, so they take in the motor voltage, and output not more than 5V). If the motor is connected in normal polarity, we will read PD0 high, if the motor is in inverse polarity, we'll have PD1 high. This info is used in the code to either increment or decrement the counter.
J5: is just a simple momentary switch. When pressed, will reset the counter to zero.
ISP connector: is a 10 pin connector used with the USBAsp AVR programmer.

Circuit diagram:
digital counter reed switch circuit diagram

Fuse bits:
External 8MHz crystal. The settings are:

  2. avrdude -p atmega8 -c usbasp -U lfuse:w:0xff:m -U hfuse:w:0xc9:m

Source code:
You can download and use the source code, under the Apache license, here.

Variant 2 : Atmega8 + 2x16 HD44780 Character LCD + 5V power supply

Some of my readers asked for a custom variant, that uses a 2x16 HD44780 LCD (or a 1x16 smaller variant). These displays require a 5V voltage supply, so here is variant 2 of the digital counter, modified to support these requirements.

2x16 LCD Circuit Diagram:
digital counter reed switch circuit diagram with 2x16LCD HD44780_1_16_connector

Hex file, SCH and source code:
Can be downloaded here: atmega reed digital counter 2x16LCD

(Visited 1,060 times, 1 visits today)
Tagged on:                         

13 thoughts on “Coil Winding machine counter with Atmega8 and Reed relay

  • October 18, 2013 at 1:50 am

    I am trying to understand something, you used a atmega8 that only has 28 pins and in your schematic it shows 32 pins. Ok I am not getting this, pin numbering you got going on here can you please email me with the needed info and how to change it to english.
    Thank you
    Email me at areyoukiddingme31@ymail.com with coil counter in subject line thank you

  • October 18, 2013 at 12:22 pm

    That is because I included the SMD version of the Atmega8 in the SCH. So just use the 28 pins DIP Version instead.

  • October 20, 2013 at 9:03 pm

    OK, Thank you. Now can it be changed to English? It’s a great design by the way been working on something like this for a few months now, and seen this, it’s a great example thank you for sharing this.

  • October 20, 2013 at 11:31 pm

    The source code has been provided at the bottom of the article, you simply need to change the texts and recompile the code. But if you need help, I can do it for you and simply post the .hex file here. What do you think?

  • March 27, 2014 at 11:58 am

    i need the winding method with its assembly cod and interfacing ,please sent me through email :aregaw145@gmail.com

  • April 10, 2014 at 7:51 am

    code for the winding machine

  • July 20, 2014 at 5:47 am

    Sorry that I haven’t gotten back with you on your answer been very busy . If you could please help me with this that would be great. I have built my coil winding machine using stepper motors, I have done what you said to do by changing the text and recompiling and something is just not right.
    Thank you

  • August 20, 2014 at 2:13 pm


    How could one go about purchasing one of these units (if available)? Alternatively if not available for sale, is there a complete parts list available so I could build it? My experience in electronics is very limited.


    Please respond to: ucrecco@shaw.ca

  • September 13, 2014 at 4:15 pm

    Hi there,
    Very nice project, one thing (two actually), what schematic/pcb package is the 2x16LCD- version pcb designed and second could you please post the .hex- code for the controller? (…or if not too much trouble email it to me.)
    Thank you kindly.

  • November 1, 2014 at 1:22 pm

    Radule am construit si eu numaratorul cu atmega 8 si lcd-ul nokia inca nu l-am folosit ca mai trebuie plantat sursa de 3.3v si nu am avut timp sa o comand
    Am incercat sa modific intrare impuls de numarare , in loc de reed sa adaptez optic si nu m-ia iesit nu stiu sa lucrez cu microcontrolere , cred ca am depasit valorile
    Multam pentru munca ta ….o zi buna …Dan

  • November 1, 2014 at 1:28 pm

    Apropo revin____sa stii ca montajul tau a fost construit de multi electronisti amatori dar problema este cu releul reed la viteze mai mari este cam “”mototol”___beleaua este ca noi cei mai batrini nu ne pricepem la programari , cu chiu si vai debia am invatat sa folosesc programatorul IC2

  • December 8, 2014 at 4:21 pm

    hello is freat project,
    have any body try to make this in arduino?
    i will like to find in arduino nano this can anybody makeit?

  • December 8, 2014 at 4:26 pm

    in schematic i dont understand where is go the 332-10 all this what is X1-1 X1-2 etc

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>