- Learn Linux
- Learn Electronics
- Raspberry Pi
- LPI certification
- News & Reviews
How to use a Raspberry Pi Pico as a temperature display. This uses a tiny 0.9 inch OLED display with a AM2320 temperature sensor.
In this case I’ve used a different variant of the Pico which is the Tiny 2040 from Pimoroni. This is based around the same microcontroller, which is the RP2040 created by Raspberry Pi.
There are a few differences between the Tiny2040 and the Raspberry Pi Pico. The first most obvious is the size. The TINy 2040 has been designed to be as small as possible. It has only 8 digital pins and 4 analog pins. Along with the power pins this gives a total of 16 pins (excluding the debug pins). It’s also narrower, if you are using a breadboard then it gives you one extra row of pins.
They’ve replaced the single colour LED with a 3 colour LED, note that this is just an LED, it’s not a NeoPixel which they use on some of their add-on boards. The tiny 2040 uses a USB-C connector instead of a micro-USB connector used on the Pico.
The Tiny2040 is more expensive than the Pico. Where size is important then the Tiny2040 is likely a good fit, but otherwise you may be better with the cheaper Raspberry Pi Pico.
The temperature sensor and OLED display both use I2C. This allows multiple devices to be connected to a single-bus using only 2-wires (plus power supply and ground).
For more details of how I2C works see Electronics guide to I2C between Raspberry Pi, Arduino and Raspberry Pi Pico.
The temperatures sensor I using here is the AM2320. This is similar in appearance to the DHT11 which I have used in previous projects. The AM2320 can use a single-wire interface like the DHT11 uses, but it also includes support for I-squared-c which is what I used.
To display the output I’ll be using a tiny 0.91 inch OLED screen (SSD1306).
This is a tiny monochrome screen with a easy to read display which can display text or monochrome graphics. The screen has a resolution of 128 x 32 pixels. I actually bought this to create a departure sign for a model railway, but I thought it made a good fit for this circuit as well.
The code is available to download below.
Other libraries referenced include:
Please view the copyright information regarding use of the circuits.