Skip to the content
2 layers56.1 × 66.3 mmThesensor, the printed circuit board in 3D

Thesensor

makrcat/EN.FO

thing that uses BME680 for sensing altitude/weather for the outdoors

Size
56.1 × 66.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
17
Nets
21
Pads
57
Tracks, vias
126, 5
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
18 Aug 2026
Updated
24 Oct 2026

Overview

Thesensor is an open-source printed circuit board by makrcat, from the makrcat/EN.FO repository on GitHub. It is a 2-layer board of 56.1 × 66.3 mm with 17 parts on 21 nets, routed with 126 tracks and 5 vias.

It is built around the BME680. Its parts include 4 connectors, 2 resistors, 1 IC, 1 diode and 1 switch. It belongs with the ESP32 and RISC-V boards of this library.

Main components

1

README

README.md

outdoorsy-gadget

The EN.FO is a personal project for tracking the environment when outdoors. It measures altitude (pressure), temperature, humidity, and air quality through the BME680 chip. And it also has games now :3c

Around the end stages submitted to hack club stardance.

Why I made this

I found a BME680 in a store, and I'd seen people making these home weather station setups and using temperature sensors for their first projects. I thought it would be cool to be able to track the weather while outside too, like while hiking or going somewhere without wifi!

It would be pretty neat to get momentary values from a sensor for the surrounding area instead of looking online.

CAD models

View PCB on KiCanvas

https://cad.onshape.com/documents/2de4779b51845175f3a3e786/w/7837df9d32ef23797361ec83/e/9a8511381228d62ac6592067?renderMode=0&uiState=6abf75e68beab4dd691114fb

Flashing to ESP32

Materials:

  • You want an esp32 with at least 512kb of RAM, or else it can't run the heavy graphics of circuitpython.
  • You need a similar ST7789-driven screen, a microcontroller as specified above, and a bme680.
  • Also, having a fuse would probably be good (just in case you short out components).

Install circuitpython! Then,

I use vscode to program, but I used Thonny to handle the flashing.

  • Programs that go into the microcontroller are src, graphics, settings.json, logger.json, and fontsPCF, side by side on root/.
  • You also have to install the libraries separately on Thonny, but it only takes a bit.

In case you want to actually make one

Check if you are soldering the ESP-32 so that it's "bottom side up", or label-side up. The USB-C should be on the bottom. Same goes with the UPS module, make sure the USB-C is on the bottom. Or else you have to edit the CAD to match.

Testing the program locally

I wanted to test the UI quickly, so the computer simulation is for that. The data is simulated in mockIC.py.

⚠️ Important note!! Open the firmware folder by itself! Otherwise, vscode will read the file paths incorrectly.

Other images

This project originally started with a BMP & an e-ink, but gradually didn't work for the use case. I have a cool e-ink now, though.

Parts

17
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_2.2mm_M2_PadH1, H2, H3, H4
2LOGOLOGOG***, G***
2SW_PushButton_Switch_THT:SW_PUSH_6mmNEXT1, SELECT1
1100KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
11N4004Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
133KResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
1BME680Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ1
1BatteryConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ5
1ST7789Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ3
1SW_SPDTButton_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1QSW1
1UPSConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ6
1XIAO-ESP32-C6-DIPSeeed_Studio_XIAO_Series:XIAO-ESP32-C6-DIPU1

Similar boards

  • 2 layers65 × 30 mmTr109-sensorboard, the printed circuit board in 3D

    Tr109-sensorboard

    directive0/TR-109

    Design and production files for the TR-109 Picorder

    57 parts37MIT
  • 2 layers64 × 50 mmEverAliveSensor PCB, the printed circuit board in 3D

    EverAliveSensor PCB

    jfm92/everAliveSensor

    Solar-powered BLE environmental sensor (temp, humidity, pressure) with a 50F supercapacitor — potentially infinite lifetime, 19-day dark autonomy. ESP32 + BME680. Experimental.

    54 parts28
  • 2 layers43 × 43 mmBadge, the printed circuit board in 3D

    Badge

    oshwabadge2020/Badge-PCB

    Open Hardware Summit 2020 wrist-watch badge

    78 parts19
  • 2 layers36.8 × 90.9 mmBwlr3d, the printed circuit board in 3D

    Bwlr3d

    teapotlaboratories/bwlr3d

    Teapot BWLR3D: Asset Tracker and Environmental Sensor with Solar Energy Harvesting

    108 parts18MIT
  • 2 layers52 × 56.6 mmMuMo v2-Node, the printed circuit board in 3D

    MuMo v2-Node

    Strooom/MuMo-V2-Node-PCB

    PCB design for the Museum Monitor V2

    79 parts17
  • 4 layers33.1 × 64.7 mmNrg3, the printed circuit board in 3D

    Nrg3

    panStamp/kicad

    Kicad projects

    135 parts15GPL-2.0
  • 2 layers38.6 × 72.1 mmBwlr1b, the printed circuit board in 3D

    Bwlr1b

    teapotlaboratories/bwlr1b

    Teapot BWLR1B: Wireless Environmental Sensor over LoRa

    42 parts15MIT
  • 2 layers20 × 50.2 mmOBJEX DoorSensor v1.2, the printed circuit board in 3D

    OBJEX DoorSensor v1.2

    electronet-au/Smart-DoorWindow-sensor

    Open source Smart door/window sensor. ESP32-C3 based with a custom power latch to obtain a deep sleep mode current of (30-60nA).

    82 parts12CERN-OHL-W-2.0

Questions

How big is the Thesensor PCB?

It measures 56.1 × 66.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Thesensor use?

17 parts, built around the BME680. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Thesensor KiCad files?

From the makrcat/EN.FO repository on GitHub, at the commit this page was made from: the board is pcb/thesensor.kicad_pcb and its schematic pcb/thesensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Thesensor design in my own project?

Its repository states no licence, so its author keeps all rights: ask makrcat before reusing the design.