Stelios's Place

A place for thoughts and ideas

USB Thermometer



  This is a small project I've done to test the PCB@Home manufacturing procedure. It took a while for the circuit board to finish but the results are very impressive. I still need to figure out how to do some things in ExpressPCB. I have re-created the parts I need in ExpressPCB with custom drill holes and bigger copper pads around them. It is very useful when you will be doing the drilling and soldering by hand since you will avoid damaging the pads around the hole.

   In order to replicate the project you will need:
  • Picaxe 08m
  • R10K resistor
  • 330R resistor
  • R4K7 resistor
  • DS18B20 digital thermometer
  • USB-2-serial cable (I'm using an old data sync cable)
  • Red LED

   I played around with the filling plane to minimize the amount of the copper to be removed from the PCB board. It does give a good finishing result on the board. This is how the board looks after the etching:

PCB Circuit
Circuit board after etching process

  The way this circuit works, is having a Picaxe 08m chip polling the DS18B20 digital thermometer every 5 seconds and sending the data to the PC using the serial port. I wanted to be able to connect the board to a PC through the USB port to have power and serial communications at the same time. I used an old mobile phone data cable that has a Prolific USB to Serial IC. This IC is supported on Linux and Windows PCs without problems (you need to make sure that you are using the latest drivers though).

PCB 
      Circuit
Circuit Diagram


  For the Windows PCs I wrote a small application in Liberty Basic. This application reads the data through the serial port, using the USB-to-Serial cable, and displays it on a window. This was actually a chance to test the Liberty Basic language using a serial port to communicate with a micro controller. I was very impressed! Accessing the serial port through Liberty Basic it's was an easy task. Creating GUI's and putting it all together it's even easier.

LB App
LB application screenshot

  For anyone else using Linux/Unix you can just use any comm application like minicom to open the USB serial device at 2400bps and start reading the data. I noticed that Liberty Basic can run quite happily under Linux/Wine which is a big advantage for the language. The trick to access the serial port under wine it's to create a symbolic link inside.wine/dosdevices directory to the serial device, e.g. cd .wine/dosdevices; ln -s /dev/ttyUSB0 com1

   This is how the assembled circuit board looks like. It's pretty small and I'm sure it could get even smaller. If you intent in putting the circuit in a case make sure that the air can freely flow over the thermometer IC so you can have valid temperature readings.

Final Circuit
The complete device

Comments and suggestions are welcomed.


~steliosm

Downloads:

Note: You need to set the serial port in the ini file before starting the application. You can find this information in Hardware -> Device Manager -> Ports (COM & LTP).


Search

Navigation