Friday, October 3, 2008

Thermometer using DS1621 and Nokia 3310 LCD interfaced with ATmega8

Hi friends,
in my last post I had discussed Nokia 3310 LCD interfacing with AVR ATmega8. It's really fun to work with this LCD.

Now, here I'm presenting one application with the same LCD: Designing a thermometer using DS1621 temperature sensor IC. DS1621 is 8-pin sensor from Maxim, with temp range of -55 to +125 degree C, which can be interfaced with microcontroller over two-wire serial i2c bus. It has operating voltage range from 2.7 to 5.5v. I'm operating it here at 3.3v, same as the one driving the LCD and ATmega8. DS1621 doesn't require any external components to measure temperature. It has got continuous or one-shot temperature reading capability to save power.
Check out the schematic:

Here is the Proteus ISIS simulation result:

I'm using here LM317 for getting 3.3v supply, any 3.3v rgulator can be used to replace it. The LED is only for checking the health of the circuit incase nothing comes up on display. The circuit is programmed to update temperature appx. every second.

I've taken help of LFG application for generating different sizes of fonts for the LCD, thanks o the author M.Ebrahimy. The application can be downloaded from here:
LCD Font Generator

I've created library functions for DS1621 interface with AVR using ICCAVR compiler. This functions can be used with i2c base routines discussed in my earlier posts. You can download the project source code here.

HEX file
Source code (including the 3310 & DS1621 Libraries)
Proteus Simulation Model

(Do you wanna use this HEX file but don't want my name on the display?? Well, just learn how to play with hex file from intel HEX-file tutorial, find ascii characters of my name in the hex file and replace them with yours!!)

Download Datasheets:
1. DS1621
2. ATmega8

Contact: ccd@dharmanitech.com


CC Dharmani said...

Hi Milijan Celic,
I received your mail and I've sent you the Nokia 3310 routines library.
I'm writing here as in-case if you've not received or any other problem is there, please put up your comments here!
Thank you!

Anonymous said...

plz mail me the DS1621 libraries at racerslane@gmail.com

CC Dharmani said...


I've sent you the DS1621 & i2c libraries along with header files as i2c library has been used in DS1621 library.
Write to me if not received.


satpambobo said...

that's cool and hot termometer digital.! i love how your graphical design at that display

putro said...

can u mail me the ds1621 library to putro_ok@yahoo.com

CC Dharmani said...

Hi putro,
I've sent you the ds1621 library and the i2c routines library to be used with ds1621 routines.


putro said...

thanx man

Aaron said...

Great work! Could you please also send me the i2c base library and the DS1621 libraries?


CC Dharmani said...

Hi Aaron,
I've sent the requested libraries to your mail id.
Check it out!

J said...

Please send me the DS1621 and i2c libraries at jbishop17@mail.mccneb.edu. Thanks.

CC Dharmani said...

Hi J, i've sent the files to your mail!

velson said...

Hi, could you please mail me the DS1621 libraries at velson@eunet.rs?

Great work btw. Regards

CC Dharmani said...

thanks velson, I've sent you the libraries!

Karolis said...

Could you send me a LCD library and main.c program in which can only be written a letter or number on a screen or maybe this project. I am trying to make project in AVR studio. I used your library, but result is zero. Everything after small changes compiles beutifull, but screen shows no sign. Strange thing that only yours .hex file which properly shows on screen. Other files that i found on internet shows bursted picture. Big thanks. Karolis.aga@gmail.com

Anonymous said...

I'd also be interested in the DS1621 & i2c libraries along with the header files.

snander @ gmail.com

CC Dharmani said...

Hi Karolis,
I've sent you the libraries with hex code and main function.
Hope it serves the purpose!


CC Dharmani said...

to snander:
check your mail for the libraries!!


Anonymous said...


bboy bayron said...

hi CC Dharmani, send me el main bayron_frv@hotmail.com.

very good project.

CC Dharmani said...

Thanks, man!!
I've sent you the files.

VĂ­ctor Hugo said...


Please send me the DS1621 libraries to vicbeng@gmail.com

Thanks in advance, your codes had been of great help understanding my class.

Abhi said...

please mail me the ds1621 library files

Anonymous said...

please mail me of your complete "Thermometer using DS1621 and Nokia 3310 LCD interfaced with ATmega8" project...

please...i'm just a newbie for avr

many thanx..

Anonymous said...

dear sir
i want to interface pc keyboard to atmega32
please me

email: zeeshan2029@yahoo.com

Anonymous said...

can you please send me DS1621 LIBRARY at a.r4700@gmail.com

Anonymous said...

i have built ur project of mmc card interface its working well

please help me to play mp3 files saved in mmc

Alexandru said...

can you please send me DS1621 LIBRARY and HEX file for the thermometer at alex.papuc@gmail.com Thanks!

andreescuflorentin said...

can you please send me HEX file for the thermometer at andreescuflorentin@yahoo.com Thanks!

andreescuflorentin said...

can you please send me DS1621 LIBRARY and HEX file for the thermometer at andreescuflorentin@yahoo.com.com Thanks!

praveen said...

hi ,
i am praveen i have ds1621 temperature sensor in my project . i am unable to check it please send me all the details man , my email id is praveengitam8@gmail.com

gica said...

Hy. Can you send me the project files at eugenmarianneagu@gmail.com, please?

Marian Neagu said...

Hello. Can you send me the project files at eugenmarianneagu@gmail.com?
I want to make aa automatic dog feeder and I want to use this LCD because is the only one i have.
Thank you.

felipe said...

Hi Dharmani,
Very nice work with the nokia LCD display. I'm also trying to use a nokia 3310 LCD display but I'm having no luck. I'm trying to adapt your code to work with a dspic using spi communication. I would like to know which problems you had when you started interfacing with the LCD...how did you debug to get it working. So far my code is initalizing the SPI and sends data to LCD to try and initialize it. I know the right data is being sent because I'm checking with an oscilloscope, but I don't see any response from the LCD.
If you can help me in any way I'll be very grateful.
Best Regards,

Anonymous said...

Hi, could you send me the ds1621 library? "matajumotors at inbox.lv"

Anonymous said...

HI was wondering if I could see a piture of the back of the lcd. I am having a hard time soldering the pins. All my 3 nokia lcd screens don't have the connector attached to the glass. Are these harder to do. Is the pinout the same.

Bob said...

Can you please e-mail me your main.c source code that uses the Nokia 3310 LCD routines that you developed? I just need example of how you use the routines to get my displays running. My e-mail address is mctasneyr@gmail.com . Thanks.

aniket said...

hi Dharmani sir...!!!
thanks we are using yours program of LCD 3310 interface with atmega8..
but our problem is that the whole screen appears black....
After using your hex file, the same problem continues...

I am sending you our C code at ur email id...plz check it out...
and suggest changes if any...

CC Dharmani said...

That's good, at least the display is showing some life. I think the problem would be in your SPI bus connections, check them again, look for continuity also.

CC Dharmani said...

Also make sure about the capacitor on pin7 (Vout)

arun said...

plz mail me the ds1621 libraries used

biswajit behera said...

i want that LCD font generator software.could u plz send me that on my id. my id is paltu4u@gmail.com.
i also want that library routine.
plz send it to my id.

Anonymous said...

Hi there!

Could you pls email me the i2c and DS1621 libraries?
lukas.nagy /at/ gmail /dot/ com

thank you

Chupo_cro said...

I am looking at your LCD_clear routine, it says:

for(i=0; i<8; i++)
for(j=0; j<90; j++)

and x has to be 0..84, y 0..5!?

Anonymous said...

i am doing this project can please guide me please provide us all the information and how to proceed sir if possible send the informationto my mail id priya.5390@gmail.com

sameh said...

very good project but it cant work in "avr" no include main file can you send to me in
thanks for help us

Anonymous said...

hi,CC Dharmani,
I work on a project of Making a mp3 player with SD card formatted in FAT32 containing the mp3's.
So,i want to interface a GLCD to show the play list.
So,plz sent me your main.c to my main id:"rabin4321@gmail.com"

Another rqst:Do u have any idea about AVR controlled FM reciver???????
if,yes send me plz

Azhar said...

hi good work Dharmani

can u pls mail me the libraries for dsi621 on azhar.karnalkar@gmail.com

dan said...

Hi CC Dharmani,

nice job.

Can you please send me the ds1621 library to botadani.l@gmail.com?

Thanks a lot.


Timothy said...

Hi, good job man :)
Is it possible to send ot my email , the full souce C code for this very good thermometer project of yours?

Cheers from Athens

Timothy said...

Ooops >> this is my email timos2302@hotmail.com <<

Hehe, cheers

zavovi said...

hi, send me please your project for write the letter to LCD. A programme in AVR studio and I have a problem with it.

my mail: zavovi@centrum.cz

Thank you

Iulian said...

Can you please send me the DS1621 library via email? My email: iulian.matesica@gmail.com

Thank you very much!

PS: I have a question, how can I light the display? I know that when it was on the phone, it lights in green. How can I turn that light on?

Anonymous said...

from where u bought the ds1621 ic...

CC Dharmani said...

from a local electronic component shop in Ritchie Street, Chennai.

Anonymous said...


Can you please send me the source code of DS1621 & I2c librairies at :


Thanks for this project.

holy said...

can you please send me an email with code? thanks a lot( holy_andrei@yahoo.com )

C.C. said...

Do you know how to interface a 6101 Nokia Display and camera?

shailesh prajapati said...

please mail me of your complete "Thermometer using DS1621 and Nokia 3310 LCD interfaced with ATmega8" project...

please...i'm just a newbie for avr

my mail :shailesh4440@yahoo.co.in

Yusuf said...

Thanks CC Dharmani. this is very good project for us. but i am using avr studio5 and while editing the project, the program can not find and header files. What can i do in this case?
e-mail address: yusuf.ky@gmail.com

Yusuf said...

i had written header file names in former my comment but they are not visible. avr studio 5 can not find macros.h and iom8v.h header file.

Sagar Gupta said...

The temperature resolution of DS1621 is half Centigrade.. I was wondering how your project is reading 0.1 degree..
Please reply..

Lesliesahib said...

Hi! Nice work.
can you please send me DS1621 and i2c libraries at lesliesahib@gmail.com. Thanks.

Karel Berka said...

I have a problem.
Temperature drops below 0C, then the value is dospleji +54 C!
Please advice

Pedro said...


It's possible to put this working with an arduino uno? I'm trying to do that but I get a lot of errors, specially with "undeclared variables"...

CC Dharmani said...

Hi Pedro,

you are getting errors as you must be using Arduino compiler, while this code was written for AVRStudion compiler.

You can use the Uno board but you need to use the AVRstudio and then burn the hex file using AVRISP instead of arduino bootloader.

Vipul Kute said...

how can i make shure that my LCD was good?
I mean like Normal 16x2 LCD display it does not have back light so after power on is it shows any thing on the display?

Anonymous said...

what if replaced with the sensor LM35? whether the same library or how to how to access adc?

Ekene Okeke said...

Please can you send me step by step guide on how to construct thermostat on proteus ... Using exactly the same components you used here including the Nokia LCD


Anonymous said...

Where can I get DS1621?

Amol Shah said...

If you are in India you can buy it online from DNA Technology DS1621 Digital Thermometer

salmizan zain said...

Hi mr Dharma

How i want to clear this error when i want to simulate the project with proteus

VSM Debugger
VSM model PCD_8544.DLL cannot found for LCD1


rida mimouni said...

Hello please send your code library Nokia 5110, on my email
and thank you