Thermometer using PIC16F877A and BME280

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

pic_therm_main

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.

pic_therm_schem