EnvStick USB Temperature Sensor

The EnvStick is cheap, homemade temperature sensor that plugs into a USB port. It provides a simple way to collect a room’s ambient temperature. I made it for fun.

EnvStick Features:
- Temp sensor (+/- .5 deg C)

- USB 2.0

- Windows/Linux software

- Poll up to 100 times/minute- In-circuit programming- Only 11 components- Indicator LED

The EnvStick shows up as a serial port – a COM port on Windows boxes. Here you can see the typical output (on a program like Hyperterminal) – it waits a specified number of seconds, spits out a temperature reading, and starts waiting again. If you press “p”, you can set the number of seconds in between each temperature reading.
On the right are some of the initial EnvStick attempts. It took me a couple tries to get a board that worked without lots of manual “fixes”.
Here’s the schematic. Click for a larger version.
I got these boards made by Batchpcb.com. They are my first boards with SMD components on both sides. Click for larger versions.
Thanks to the FT232RL USB<->Serial chip, the EnvStick only needs 11 components:

PIC 12F683 microcontroller PIC12F683-I/SN-ND 2.08
DS18B20 temp sensor DS18B20+-ND 5.04
FT232RL USB converter 604-00043-ND 4.02
USB-A male connector WM17117-ND 1.93
LED (red, 1206) 516-1440-1-ND 0.25
L1 (inductor for USB chip) 240-2389-1-ND
R1 (for DS18B20): 4.7k ohm P4.7KGCT-ND 0.08
R2 (for LED): 150ohm P150GCT-ND 0.07
R3 (for PIC reset): 10k ohm P10KGCT-ND 0.07
C1: 10nF PCC1750CT-ND 0.04
C2: .1uF 399-1095-1-ND 0.03
C3: 4.7uF P973-ND 1.38
Total: $15.08

Plus, the board costs about a buck from batchpcb.com. What a deal!

A pictures of the first working EnvStick:
Here are the Eagle and Gerber files, if you want to make your own boards: