This M32 card is having an LCD inteface with contrast adjustment, an RS232 port for connecting with PC, a connector for 8 analog voltage inputs to measure by ADC, a Real Time Clock IC DS1307 from maxim with battery back-up, four general purpose keys, two keys for generating interrupts and an LED.
The circuit can be powered by an easily available 12v DC adapter. The voltage regulator IC 7805 used to convert the input into regulated 5v supply.

See below the kit in powered on condition and the schematic (click to enlarge the images)

The PCB is completely home-made, using the etching technique with the Ferric Chloride chemical. If you want to know how to make a PCB yourself from your layout, visit following webpage, it's really helpful:

The schematic and layout of the M32_card shown here are prepared using EAGLE. It's a single layer board for making the home-preparation easy. Check out the bottom layer and the layouts in the pics below:

The software for the ATmega32 controller is written using imageCraft AVR compiler. The software contains code for LCD interface, use of RTC and communication with PC with RS232 port. Using the Hyper terminal in windows, the functionality of the kit can be checked, as I've mentioned in my previous post of RTC_EEPROM interface with ATmega128.
Sown below are the pics of RTC circuit in test and related screen shot of the hyper terminal while interacting with the M32_Card

Here is Proteus ISIS Simulation:

The complete source code files including new addition of ADC (check out Here) can be downloaded below.

Hi phoenix,PCBs (or Copper Plates) are available in Ritchie Street vendors of electronics components. I didn't buy the etchant from Chennai, but for getting it, visit any chemical shop which supplies chemicals to school and college laboratories, normally they have it, and seeing the number of schools and colleges here, I'm sure there will be plenty of them here!!

Firstly, I want to thank you for sharing your views and ideas its really very interesting to work on ..I have knowledge on PCB etching..Even i want to try out this starter kit. can you please mail me schematic and PCB layout and some related documents to my mail id: m.sonyjoice@gmail.com, and also can you please send me the source code using CodeVisionAVR as I'm not comfortable in using ICCAVR.

Hi Sony,I've sent you the pcb files and the source code in ICCAVR format. Also, I've sent you the ADC project files converted into CodeVision to show that it's really easy to port code from ICCAVR to CodeVision. You can check it out and try to convert the m32 board source code. If any problem, you can ask here.

This is actually exactly what I have been looking for. I am planning to connect a SHT11-Sensor from Sensirion and build a raptile-tank-controller. Could you please send me the schematic and the layout-file?

hi,im new in this thing n my lect asignt me a project using ATmega16,keypad(with LCD),SD(storage)..can u help me about it expcialy bout the interfacing n coding.im totaly out of idea.heheemail..affiz85@yahoo.com

Dear sir, i am vinod patil,yesterday i received source code for caller ID.so, i want to say thank you very much for your reply. sir, i also need souce code for LCD interfacing to IC89c51. kindly request to plz send me this souce code also. thank you, with regards vinod patil,indore vinodpatil786@gmail.com

Hi, so far I've not applied solder mask or tinning on my pcb. I directly solder on the copper pads. Though I haven't faced any problem ,I'd too like to apply them for giving a professional look to PCB. But right now I'm not able to get them in my local market. Whenever I try it successfully, I'll put it up on the blog!

i am making a project on speed control of dc motor using pwm technology using atmega 16 and also i am connecting a lcd of single line display could you please sentd me code for the same as i have to submit my project in one weeks time and now that i am in a deep trouble as i am not having acode for the project

hi u hv done great job... dear i m working on Atmega32 interface with parallel port using pong prog... can u send me files that tell me how to bais Atmega 32 and how its interfacing works.. my email is capricornboyonly4u@yahoo.com

Hi Dharmani!!My name is Anbe. I've just started working with Atmega mcu. ( Only on test boad). I really want to make a real project - my first project too. Can you give me this schematic, pcb layout and the code C, please??? Thank you very much for this help. Have a nice day.P/s: My email: ngocan88@gmail.com

Hello there, same request please. Could you send the project related files to wat3rfall2003 (at) yahoo.co.uk ? Thank you very much. Any chance one could interface another LCD than the one stated? I was thinking I have a broken Sony CDX-GT20 with the LCD and front panel intact. I also have the service manual for the CDX-GT2XX series.

Hi friend,Congratulations on a job very well done.Please send me the complete project to:49427(at)cantv(dot)netMeanwhile, I am trying to make a controller/driver for a 2 axis cnc which is like making holes every 0.5 mm on a 3x4 meter surface. Which needs like 100 meg of ram to hold the pattern! How can I add that ram to this board also to include L297 & L298 for the PWM part utilizing 6 wire stepper motors.Thanking you in advance for your kind help.

BTW, I already have a board(which I purchased $40) that is very similar to yours only it also has a L298 in addition to the ATMEGA32L PU8, a 4x4 keyboard a small Stepper attached and rs232 + a relay etc.I can send you a pic of the front and the rear if you like?Can you tell me how to change it's program so it would interface to PC utilizing my interface rather than the simple one it came with?

Hi again,Regarding having a huge memory in any embedded system I found the following link. Can you please explain how it could a MicroSD be interfaced with your card?It says an SPI can be utilized but yours has 6 pin and this needs 7?

As I live in Australia, can you please provide me with compatible parts list(also schematics) for creating Atmega32 LCD kit, i would first create it in a breadboard system ,before transferring it to PCB. Also I have a Jaycar (local electronics supplier) kit (AVR ISP serial programmer). Would it be possible for me to use that to program the Atmega32? (it says it can program atmega32).Also could you please provide me with the C+ code for the AVR compiler(is that code compatible with all Atmel Compilers?).

Also, is ot possible to use bigger character LCD for this project?

Also one last thing!, could you please put up the project of programming graphical LCD (bigger screen with colour graphics).

hey sir, my self Jaimin Shah.nice article.... this post helped me a lot to learn how to make development kit... thank u very much for such good post.. am also looking forward to make this project can u help me ny sending me schematics, layouts and source code to my id if possible... it will be very helpful to me.. i will b very thankful to u... with regards jaimin shah

great job man.i have already make board atmega16 with double layer pcb. My friend helped me to design the pcb, but have some problem that lcd not working and when I checked port B and Port D, have some problem that one of the header couldn't be control. I confused with the schematic that myfriend make. Could you sent me schematic and layout file for comparing with my mine.my email: tghprsty@yahoo.comThanks Dharmani!

Hi, thats the nice work......Could you please mail me the schematic of the development board and the usb programmer to me..and dod u have any idea that how can i make the atmega 16 development board.and is there any difference between the two..do mail me at makhijaaman@yahoo.comthnkzzzzzzzzz...great job.

Hi, I enjoyed reading ur blog. I'm inspired and want to build one of my own.. I live in the US and am trying to find these parts.. Question: what kind of connector is that between the main pcb and the lcd.. (Obviously, I'm a newby, ha!) Thanks!

Thanks for providing your hard work for public interest. I am looking forward to build your ATMega32 Starter's Kit. I started the PCB design in Protues VSM and I can give you the file if you want to put another version of the PCB layout design.

I use Keil uvision as code development platform in C. The advantage is uvision works integrated with Protues VSM and I can see the result simulated.

Is there any way that you can provide me Keil c51 version of your C code. I am mainly a hardware guy - so it takes a lot of time for me to migrate and debug. If you can please send me the code to faithnic(at)gmail(dot)com

I made the system (by making PCB with Proteus) and also tested the system with a blink LED program written with AVR GCC (AVRStudio4). I made a parallel programmer (stk200) using Ponyprog to program. The LED blinks ok with ATMEGA32. Then I downloaded your M32 hex file. The LCD shows 'WELCOME' in the first line and the courser blinks in the 2nd line. In the PC I get "F9 2C 3C F1 84 60 79 69 AD 29 4A 29 4A 29 2A 29 A2 2A 5A 77 08 4A FA" when I reset the processor. It responds when I press 1, 2, 3.. etc but all seems garbage. I am using Realterm 19200, 8N1, None. The terminal shows framing error. Any clue?

Can you please send me the C source file in AVR GCC? That will really help.

Hi, I am new to AVR controller. Previously i have worked on PIC using microc and i have used winpic800 for burning the code. If i want to use microC for AVR which programmer i need to use for burning the code. Plz give me some suggestions

Hi, there are lots of AVR programmers, USB, serial port or parallel port operated. If you search on net, you'll find plenty of info on them.You can have a look at my following post to find some links to make an AVR programmer yourself:http://www.dharmanitech.com/2008/09/diy-avr-programmers.html

I am going to use your circuit itself. I am going to use MikroC PRO for AVR. Can i burn the code with this compiler using ur circuit. And is there any need to burn bootloader before burning any code...

At the right side of this page we are having AVR Serial Programmer link. I have assembled the same circuit. Is there any need of lock bit and fuse bit setting for ATMega32 controller in ponyprog serial programmer. When i am using that programmer with the ciruit which i have assembled programming is burning in the controller but it is not executing... So i am not getting whether my code is burning or not... I wrote a small led blinking sample code... The code is correct bcz i got that code along with the MikroC Pro Avr compiler.. Plz help me out its very urgent for me..

Hi Kiranmai,when you buy a new atmega chip, it comes with default 1MHz internal oscillator enabled, you can straight away start using the chip without changing any fuse bits. But if you are using port pins which are multiplexed as JTAG pins, then you need to disable JTAG, as by default it is enabled, there you need to change fuse byte.So, if you are connecting the LED on PORTC of mega32, it may not be working due to this. You can try non-jtag port pins, if you don't want to play with fuse.Ponyprog displays message after the write & verification is successful, are you getting that message? If you are, then better check the connections again, as the code is proper as you say.

Dear sir,We have made the ATMEGA32 board as per your design. We are getting the "WELCOME" message on the lcd after disabling jtag but we are not getting any values or message in hyper terminal after connecting it through serial port(RS232). Please suggest some methods to sort out the problem.Thanks

Hi,for the RS232 communication, First of all, check that the hyper terminal is set at 19200 baud rate, no parity, flow control as 'none'.Also, make sure that the controller is running at external 16MHz crystal (by default, it will be running at 1MHz, you need to change the fuse settings to change it).

Secondly, check the connections. In my schematic, I've used a male DB9 connector on the PCB. So, you need a RS232 cable with a female connector on both sides. By chance, if you have soldered a female connector on PCB, replace it with the male connector and change the cable with both the sides female connector (one connector will go to PC and the other identical connector will connect to the PCB connector).

Hi Dharmani, I am using pony prog serial programmer for programming my ATMEGA32 with 12MHz external crystal. Before it was working fine but suddenly when i am trying to burn the code i am getting error that "Device missing (or) unknown device". I have replace the controller with new one but same problem is occuring. Connection everything is right. Is there any problem with crystal...Please reply me ASAP...

Hello Mr. Dharmani,I have followed your advice and our avrs are workin again!!However i have the follwing difficulties:1)We are able to program only thru Ponyprog and ICCAVR is not detecting the board/cable..though ponyprog works fine...2)when we dump d m32 hex code onto the avr,the sequnce of words in "welcome" come one after d other and go away.All the characters of welcome are displayed one after other very fast...and at end a BLINKING "!" (EXCLAMATION MARK) STAYS ON.Please advice how to get over it.

i have already posting regarding my AVR board which i am using. I am ponyprog2000. when i am selecting write program memory(FLASH) i am getting "Device missing or Unknown device" and at the time when i press "write program" PA0 to PA5 leds are blinking and after the error message they are OFF. After that PA0-7 leds are blinking in asynchornous way with some delay. How can i rectify my error. Please help me out.. Thanks in Advance...

Dear Dharmani!This is ankit mutha, another robotics & embedded systems enthusiast. I wish to make a similar board as this one for my college robotics club. Though this board is complete in itself I wish to add some motor drivers and some debug leds.It would be very generous of u if u could send me the schematics of this board. I would like to modify it and enhance it further and share my modifications to ur design.

you can mail the schematics to mutha.ankit@gmail.com (my id) or esrc.mbm@gmail.com (club's id).

Was bit busy in between.I built your M32 kit and it seems functioning except:

1. LCD shows one line2. The serial port sends garbage when RST. Term Emulator shows "Framing Error". This can only happen when there is a Ground problem, or noise or long cable or Baud Rate mismatch. I checked all, din't find any clue. I want to test with lower baud rate. Can you send me the source file?

Although I am not sure why I didn't get any reply from my earlier posts!!

Hi Nic, sorry if I didn't reply you earlier! I'm sending you the source code right away!!You can check if you have selected correct crystal (16MHz) as that can also cause baudrate mismatch.You can test with another LCD, if you have, as sometimes the LCD has that kind of defect of displaying one line only.

Hii need help am doing RFID security system using ATMEGA 32 and the sensor is coil..i wrote the code but it didnt work so i need any circuit digram for the programing part contains mega 32, Max233 and Rs23 and i f know any software that i can simulate the this part..

Hi nice work!In my project iam building an autonomous bot that would traverse in a field and take the parameters like soil temperature,images of crop etc.,Iam planning to include serial camera module(which can be interfaced with Atmega32) and stores in sd/mmc card interface.I need to know exactly how do you interface sd card with atmega 32 i.e., how do i transfer output from camera to the sd card and transfer those stored images on to my PC serially??Can you also help me where can i get such cameras which would give a digital o/p so the interfacing with atmega32 can be done..

Hi Sally,you can use Proteus VSM software tool which is extremely useful for debugging the AVR code on the actual schematic. Saves quite a lot of work of putting things together on real hardware.You can search on net to find more info on it.

Dear Sir,I tried to work on RTC(DS1307) using your code as reference.But i need RTC to update time every after 1 sec and to be displayed on LCD. The RTC is updating time only at power-on reset & no further update on LCD is seen.Is it possible to read RTC after every 1sec Please guide me.Waiting for your reply Thank you

To Anonymous:Regarding the RTC; you can use the RTC_routines given in this post. Call the RTC_read function at fixed interval. Display the RTC value every time you read it, it will automatically update. For example, call it every 200ms. Wehenever time changes even by a second, the display will update when you write to LCD next time.

Hi Dharmani,You did a great work... My group just started working with Atmega32 for our project. We use your work as our reference..Can you please send me the schematic and pcb layout for this? Email: elssambo@yahoo.com

Hi!i was looking for a development board to interface and program ATMEGA32 with LCD,KEYPAD ,AND SENSORS(motion,temperature,smoke sensors). I'm trying to learn this whole interfacing thing and your help will be greatly appreciated. can u please send me the PCB layout and schematic details to my email.

i want to ask you please i have ATmega32 for my project which converting a ps/2 keybord to a wireless one.. i did not buy STK500so until now i have to burn the chip and program it using superpro when i want to download acode. and this realy not good.

when i see this page i understand that if i build the skematic and the download abootloder for the ATmega32 then i will can download the codes seriale .am i right ?

please send to me any thing will help me: boot loader code and hex file, any example to check on it using hyperterminal...this is me email(noor.dyab@hotmail.com)i will be very greatful for any help.

i want to ask you please i have ATmega32 for my project which converting a ps/2 keybord to a wireless one.. i did not buy STK500so until now i have to burn the chip and program it using superpro when i want to download acode. and this realy not good.

when i see this page i understand that if i build the skematic and the download abootloder for the ATmega32 then i will can download the codes seriale .am i right ?

please send to me any thing will help me: boot loader code and hex file, any example to check on it using hyperterminal...this is me email(noor.dyab@hotmail.com)i will be very greatful for any help.

Firstly, I want to thank you for sharing your views and ideas its really very interesting to work on ..I want to try out this starter kit. can you please mail me schematic and PCB layout and some related documents to my mail id: knijil@gmail.com, and also can you please send me the source code

I greatly appreciate your clean intentions of sharing knowledge which is the only key to keep learning.Request you to kindly forward me the pcb layout , schematics and the complete related files for your M32 kit project to my mail id: nachibhav@gmail.com

hi, this is mahesh from hyderabad.i have done the circuit according to u'r schematic. i have dumped the hex file into controller . but i am not getting any display on both lcd andhyperterminal.by using a make file i dumped the code to controller. please help me..mahesh.niet@gmail.com

sorry for disturbance i just sea your work right now and its amazing and very good idea and symbol design and i wanna to build it by myself and i need your help in schematic and pcb thanks for your ideas and good luckmail: elham.abdalgabar@gmail.com

the 'macros.h' & 'iom32v.h' are ICCAVR compiler specific files. So, if you are using this compiler, no error will be displayed, every other compiler will display error for those files.Use your compiler specific files. For example, if you are using avr-gcc (winAVR, AVR studio) then you can replace both those files with 'avr\io.h'.You can go thru the compilers library help & find out which file you need to include.

Hi.. tis is simply nice... very good for beginners...i would although love to see a motor driver on board so that it could be used for robotics too.... it would be kind if you could help me with the schematics and relevant materials...mail: thoughtsenkindled@hotmail.com

i am really impressed by your work. I need your help for my project. I use an Atmega32L Ucontroller and for programming i am using codevision avr c compiler software. can u please help me with codings of the color sensors( red,blue,yellow)need to sense colors and give commands to microcontroller. thanks you.my email: premkamal235@gmail.com

HiI require a complete in detailed ciruit diagram and layout and also the coding for ADC interfacing since i m a student and have just been introduced to this subject..Thanking you in advance..my id rajdawda07@gmail.com-Rajiv.P.Dawda

i want to interface a 20*4 lcd ,4*4 keypad with atmega 32.and i want to store inputs given by keypad to sd card with time and date so pls help me for that this is very imp for my semester project.........

I have checked from your website that atmega32 starterkit have also data logger for microsd.I would like to know whether this modul supported with DT AVR Low Cost Micro system(ATMEGA8535).And could you send me schematic and source code for atmega8535 for sd card?And how much does this modul cost? Please send me some information to my email iqbalhabibie@gmail.com

Hi. This project is fantastic. I dont suppose you could write a parts list could you. I am going to try and build this and use it as a development board to learn bout avr's.Also would it be straight forward to swap the chip for an avr mega1284? Thanks

Well, mpx4115a has voltage output proportional to the pressure, so any microcontroller having ADC would be fine for this job, and since ATmega32 has in-built ADC, it can be used here (and if you use external ADC chip, then, any microcontroller in the world can do the job).

Hi dharmani sir,i want to make a project in which i have to use mega 32 for connection of temperature and megnetic switch sensor to it.i want the output on lcd and loudspeakar.please send me circuit diagram idea to complete it.

ey man thats great.. i do need some assistance regarding the lcd... I;m trying to drive one myself (a QP5515 from jaycar) with an atmega32. all connection seem to be alrite as when i power up the controller just the first row of the display appears to be on but when I program it (using most of the code u posted) both rows goe totally on and there is no sign of what im trying to display... I would appreciate if u could give me a hand with this.. thanks mate

@Carlos: Check out the LCD contrast pot, as this is the single most reason for such a behavior. You can set the contrast pot to around 2k resistor for safer side. Once something is visible, you can adjust the pot for getting best contrast.

I am new to the world of AVR Microcomputer programming. I like your project very much and would like to build one of my own. I have downloaded your code and a copy of ImageCraft, Release 8.05 rev 02, but I am having a problem building the project using this tool. I am getting the following error and warning messages. Any help you can give me to resolve these issues would be greatly appreciated.

Safe Landing, Welcome!!

Hi techies,this blog is created for sharing design ideas of circuits based on microcontrollers!! Be it any controller, i don't mind! my favourite microocntrollers are AVRs from Atmel (Microchip)Have a say if you find anything useful or the opposite on this blog!! You can also share your comments on the designs!

Free Datasheets

Translate this page

Subscribe To

Copyright (c) 2009-2018 CC DharmaniDisclaimer: Information presented on this blog is on a cost-free basis and though it is tested with best of my knowledge to make it error-free, no warranty is given for any mistake and hence no responsibility taken for any faults. Try it at your own risk! -CC Dharmani