Binary Thermometer USB Powered

5.2K2127

Intro: Binary Thermometer USB Powered

Assembly instructions for the Binary Thermometer Kit I designed.

You can purchase one at:

http://www.etsy.com/listing/122729791/

STEP 1: Get Your Iron Hot

I use Lead-Free solder with my iron set to 320 degrees Celsius.  It is a good idea to keep a wet cellulose sponge handy to clean your iron tip occasionally.  You will not need a fancy temperature controlled iron, but they do make soldering more of a pleasure.

STEP 2: The Spread

Layout all your parts to make sure you have everything you need.  If you have all that is shown in the picture, you should be ready to go!

STEP 3: Lights

First we will populate the eight LED's onto the board.  Please notice that each LED has a flat side.  This should match the flat side on the white outlines printed on the board.  Once the LED's are in place, check again to make sure they are oriented properly prior to soldering.  Also, be sure they are flush with the board as well.

You should have nice chocolate kiss shaped solder joints.  If not, do not worry, that will come with practice.  Be sure to heat the joint (not the solder) and let the solder flow into the circuit board hole filling the void and bonding to the LED wires. 

You may use a set of wire trimmers to clip off the excess leads.  I got these clippers in the craft section of Wal-Mart and they work great for cutting wires nearly flat to the board.

STEP 4: Four and No More

Now we can solder our four resistors.  Bend the leads right at the resistors ends and place them in the marked holes, flush with the board.  You can bend them a bit so they stay in place while you solder.  Cut the excess leads flush just like the LED's.

STEP 5: Z Power

We are about half-way there!

Next we solder on the USB connector.  The leads are small, but we only have to solder the two outer ones.  Be sure to not bridge any of the leads with stray solder. 

You should also solder the USB connector tabs on the top and bottom of the board for a good mechanical connection. 

Next, solder on the jumpers for the Celsius/ Fahrenheit switch.  If you want to power the kit with an external 5 volt supply, you can solder on that jumper as well.  They are both labeled on the board.

STEP 6: The Brain

We need a computer to coordinate the temperature measurements and LED lighting.  The 8-pin black microcontroller does this for us.  Be sure to orient it properly on the board.  The dot on top of the chip should match up with the tab on the board's white outline.  The pictures show this clearly.

STEP 7: 98.6

Let's solder the temperature sensor.  It is accurate to about 1 Degree Celsius.  Oriented it with the flat side matching the board.  You can bend it flat if you would like.  Do not heat it anymore than you must when soldering to prevent damage.

STEP 8: Voila!

Plug a powered USB cable in and with the board light up!

All of the LED's will light first as a test.  If all the LED's do not light, check your orientations.

The clock will give the temperature first  in Celsius and then in Fahrenheit.  Below it is reading 68 degrees.

If you would like to read the clock in Celsius, just place a jumper across the "C/F Select" jumper pins. 

Congratulations and enjoy your thermometer!

27 Comments

In my world 68 dec is 1000100 in binary.
It's in Binary Coded Decimal: 0110 (6) 1000 (8)
http://en.wikipedia.org/wiki/Binary-coded_decimal

this should help the N00bs
Exactly! It is reading the current room temperature, 68 degrees Fahrenheit. It is easier to read BCD with digits.
Thank you both. I can see it now. I made one a year back which is binary only. Took a while before I learned to read it in a glance.
Do you have a schematic for this someplace?

I wondering if you had to program this in assembler to get 1-wire communications, F/C conversion, BCD display multiplexing.... seems like a lot for just 1k ROM!?
I programed it in C, but with a mind to machine level instructions. I have attached an image of the schematic. It is pretty simple.
Thank you!
I was able to find the kit on eBay, so I will be able to assemble and try it out soon... this schematic will help me make sense of it a lot better.

Do you forward the source code to your customers if they request it?
Thanks! Your kit is packed and will ship in the morning. I generally do not send out the source code. But I will offer plenty of help and pointers if you want to write your own firmware. It is more fun to write your own code.

For example, there are lots of 1-wire drivers out there (Atmel even has one) but I wrote my own for fun. I also used the internal pull-up resistors instead of an external resistor just to be a minimalist. The 1-wire bus is slow enough that is works, but only barely. The next production run will have an 4k7 pull-up on DQ.

And if you are unlucky enough to have the clock in sub-zero temperatures, it will display the temperature in ones-complement format.

Thank you, for your encouragement. I have a couple of ideas how to proceed.
I really like minimal as well. Kind of a challenge!

What's the best way to contact you?
You can send me a private message through instructables if you need to contact me.
Neat project!
Just wondering how you drive 8 LED's with 4(?) pins ...?
Thanks for asking! They are multiplexed. See:

http://en.wikipedia.org/wiki/Charlieplexing

Temp sensor is 10bit accurate - 0,0625°C . But microcontroller program can be set not to use such accuracy.
The datasheet says it's typically +/- 0.5 degrees Celsius accuracy. Reality often differs somewhat from manufacturer's specification, but rarely by an order of magnitude.
It has a sub degree precision, but the absolute accuracy is around 1 C. I have tested many of these and found these estimates reasonable.
you should NEVER solder IC without proper socket. NEVER! Just for it's security.
Sure you can! Just look at the datasheets.
Datasheet doesn't have such info. Not attiny13a's datasheet. But when you make this instructable you should have in mind, that lots of people who will be making such kit, won't be masters with professional tools like you. And then it's very easy to overheat IC. Datasheet tells max storage temp is 150°C. I's not much. just few seconds too long ;)
More Comments