EnvStick USB Temperature Sensor using PIC12F683

Summary of EnvStick USB Temperature Sensor using PIC12F683


The EnvStick is a low-cost, homemade USB temperature sensor that appears as a serial (COM) port and reports ambient temperature at user-set intervals. It supports Windows/Linux, polls up to 100 times per minute, uses in-circuit programming, includes an indicator LED, and is built with only 11 components around a PIC12F683.

Parts used in the EnvStick:

  • PIC12F683 microcontroller
  • Temperature sensor (analog temperature element)
  • USB interface components (D+ and D- related parts)
  • USB connector (USB A plug or USB jack as used)
  • Indicator LED
  • Current-limiting resistor for LED
  • Decoupling capacitor(s)
  • Pull-up or pull-down resistor(s) for USB/data or MCU pins
  • Crystal or oscillator components if required by PIC12F683 setup
  • PCB/connector wiring and supporting passive components to total 11 components

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.

USB Temperature Sensor

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”.

Schematic USB Temperature Sensor

Here’s the schematic. Click for a larger version.

 

For more detail: EnvStick USB Temperature Sensor using PIC12F683

Quick Solutions to Questions related to EnvStick:

  • What does the EnvStick do?
    It measures ambient temperature and sends readings over a USB virtual COM port at set intervals.
  • How accurate is the temperature sensor?
    The article states accuracy is plus or minus 0.5 degrees Celsius.
  • How often can the EnvStick report temperature?
    It can poll up to 100 times per minute.
  • What operating systems are supported?
    Windows and Linux are supported by the provided software.
  • How does the EnvStick appear to the computer?
    It shows up as a serial port (a COM port on Windows).
  • Can the reporting interval be changed?
    Yes; pressing p in the terminal program lets you set the number of seconds between readings.
  • How many components are used in the EnvStick?
    The design uses only 11 components.
  • Does the EnvStick have any visual indicators?
    Yes; it includes an indicator LED.
  • Is the device programmable in-circuit?
    Yes; it supports in-circuit programming.
  • What microcontroller is used?
    The project uses a PIC12F683 microcontroller.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter