Tempduino - Arduino Based Temp and Humidity Display




Introduction: Tempduino - Arduino Based Temp and Humidity Display

The temperature in my office at work varies quite a bit depending on the time of day, season, and the whims of the other people I share the floor with. When I’m sitting at my desk shaking uncontrollably or sweating profusely it would be nice to know if it’s due to the temperature or just work related stress. A simple $5.00 thermometer would suffice, but where’s the fun in that? Making my own thermometer might cost ten times as much, but I might learn something in the process and it would be way cooler than any cheap store bought thing? I’d rather make something myself even if I have to pay a “maker’s premium.”

Step 1: BOM

Step 2: Design

The first thing to do is layout the placement of devices on the Perma-Proto board. This was the first time I've used Fritzing. Fritzing is an open-source electronics design application available for Windows, Mac OSX, and Linux. I chose to try it out on this project because I knew that Adafruit had a large Fritzing library of parts that included the Perma-Proto board. The software makes the layout of parts and connections on the Perma-Proto a snap. The Fritzing file can be downloaded along with the Arduino sketch from GitHub.

Step 3: Program Blank AVR

The microcontroller used in this project is typically sold as a blank chip, but some vendors sell Atmel ATMega328P AVRs pre-programmed with the bootloader necessary to interface with the Arduino IDE. If you’re using a blank microcontroller, you’ll need to burn a bootloader to it with a some kind of programmer. There’s a bunch of devices out there for programming AVRs. I use the Adafruit Standalone AVR ISP Programmer Shield (pictured above). It comes in a user assembled kit that makes programming the chips super simple.

Step 4: Solder

The Fritzing diagram illustrates part placement and wiring. It shows the connections on only one side of the board and only illustrates what connections need to be made not the exact wire placement. It will be necessary to make some of the connections on the back side of the Perma-Proto board and some under the seven segment display.

Solder the seven segment display in last as it covers some of the components and wiring. It also over-hangs the ATMega328P so make sure you solder in the AVR, or solder in the socket and put the chip in it, before soldering in the display. In hindsight, soldering in a 4 pin female header for the display to plug into might not have been a bad idea. On the other hand, I'm not sure how sturdy that would have been.

Step 5: Kickstand

To make the board stand up on a desktop, cut a piece of a large paper clip and pop it into two of the empty ground bus holes that run along the top and bottom of the board.  With the paper clip on the right and the barrel jack on the left, the board stands up at about 60 degrees.

Step 6: Sketch

Download the Arduino sketch and Fritzing file from GitHub. Connect the Tempduino to a computer running the Arduino IDE with a FTDI interface and upload the sketch. The Tempduino should only be powered through the FTDI connector or the barrel jack, not both.

Step 7: Tempduino


Be the First to Share


    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • Block Code Contest

      Block Code Contest
    • Cold Challenge

      Cold Challenge



    3 years ago

    Thank you for sharing your project. I know it has been a while but it is very interesting. Have several questions but the first one I hope you can help with is why is AREF connecting to 5V without it being called out in the sketch? Thank you.


    Reply 8 years ago

    did you ever figure your problem out with declaring dht?


    9 years ago on Step 2

    Would it be possible to add the schematic view from Fritzing as well? It may make it clearer which components are connected.


    Reply 9 years ago on Introduction

    The Perma-Proto part does not act like a breadboard in Fritzing. Connections made on the Perma-Proto in the breadboard view do not translate to the schematic screen. The schematic view only has the components on it.


    9 years ago on Introduction

    Would you mind pasting the sketch here, instead of the picture?


    Reply 9 years ago on Introduction



    //tempduino (temperature and humidity display)
    //by jeff clymer (jeff@techunboxed.com)
    //2013.01.14 http://techunboxed.com
    //version 3.1

    #include "DHT.h"
    #include "Adafruit_LEDBackpack.h"
    #include "Adafruit_GFX.h"

    #define DHTPIN 2 //DHT22 is connected to digital pin 2
    #define DHTTYPE DHT22 //set the type of sensor

    Adafruit_7segment matrix = Adafruit_7segment();

    void setup() {

    void loop() {
      float h = dht.readHumidity(); //h = DHT humidity
      float t = dht.readTemperature(); //t = DHT temp

        matrix.print(t*1.8+32); //display temp in fahrenheit
        matrix.writeDisplay(); delay(30000); //wait 30 seconds
        matrix.print(h); //display humidity percentage
        delay(10000); //wait 10 seconds


    Reply 9 years ago on Introduction

    Thanks! (but I meant in the body of the instructable so everyone can read it on that step) :)