Thermometer using PIC16F877A and BME280

tags: embedded · projects

This embedded system measures temperature and humidity and outputs the data on an LCD. The BME280 sensor can also do pressure but I didn’t implement it because the MCU had no more space available. The whole project can be found here; I’ve also included datasheets for the MCU, sensor and LCD.

Development was done on FreeBSD using the workflow I describe here. If you’re using Microchip’s own tools, you’ll have to make some small changes to the code, but nothing too extreme.

The source code.

Components

Safe temperature range

Component Operating temperature
PIC16F877A -40°C - 85°C
BME280 -40°C - 85°C
LCD -20°C - 70°C

So, it’s best for the system to operate in the -20°C to 70°C range.

Schematic

You can also get the PDF version.