

Station
A weather station project based on the BME280 sensor with live database updates and a web ui.
- Size
- 55 × 55 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 20
- Nets
- 48
- Pads
- 138
- Tracks, vias
- 199, 18
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 6 Dec 2022
- Updated
- 30 Mar 2024
Overview
Station is an open-source printed circuit board by UltimateDoge5, from the UltimateDoge5/Cloudy repository on GitHub. It is a 2-layer board of 55 × 55 mm with 20 parts on 48 nets, routed with 199 tracks and 18 vias.
It is built around the ESP32-C3-MINI-1 and AP2112K-3.3. Its parts include 5 resistors, 3 capacitors, 3 connectors, 2 ICs and 2 diodes. It belongs with the home automation and IoT boards and the ESP32 and RISC-V boards of this library.
Main components
2README
readme.mdCloudy
A weather station with a fronted UI and PHP backend was my first-ever web project. It has been 4 years since I finished it, and I've decided to do it again but with my current knowledge.
Another reason for this project is that I wanted to learn how to design schematics and PCBs. You can see the (hopefully) live data on the website.
Hardware

The station uses a BME280 sensor to measure temperature, humidity and pressure. Besides uploading the data, it's also shown on a 0.96" OLED display (Not included in schematic).
The schematics and PCB use an ESP32-C3-MINI-N4, but because of the costs of manufacturing, assembly/stencil and shipping, I've decided to assemble it on a breadboard with an ESP32-WROOM devkit.
The schematics also include a 3.3V voltage regulator, USB type C for power and programming, and a IDC header for a PMS7003 air quality sensor that I could integrate later if I'd like to.
As for the future sensors, aside from the PM2.5 sensor, I'd like to add a rain sensor and an anemometer. The first one is cheap and easy to do, but the second one is not so much. Anemometers are expensive, and I don't have the tools to make one myself. Even if I had one, I do not have an appropriate location to install it.
Software
The software for the station is in the driver folder. It's written in C++ and uses Arduino libraries. For the backend, I've decided to use Supabase, because of the REST database API and the real-time features which allowed an easy integration with the microcontroller.
Parts
20| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 10kΩ | Resistor_SMD:R_1206_3216Metric | R3, R4, R5 |
| 2 | 100nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C3 |
| 2 | 5.1kΩ | Resistor_SMD:R_1206_3216Metric | R1, R2 |
| 1 | 10µF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C2 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | BLUE | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D2 |
| 1 | Conn_01x04_Pin | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2 |
| 1 | Conn_02x05_Odd_Even | Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical | J3 |
| 1 | ESP32-C3-MINI-1 | PCM_Espressif:ESP32-C3-MINI-1 | U1 |
| 1 | RED | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D1 |
| 1 | SW_Push | Button_Switch_THT:SW_PUSH_6mm_H5mm | SW1 |
| 1 | USB_C_Receptacle | Connector_USB:USB_C_Receptacle_Amphenol_12401610E4-2A | J1 |
The 16 most common of 20 parts.
Questions
How big is the Station PCB?
It measures 55 × 55 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Station use?
20 parts, built around the ESP32-C3-MINI-1 and AP2112K-3.3. 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 Station KiCad files?
From the UltimateDoge5/Cloudy repository on GitHub, at the commit this page was made from: the board is schematics/station.kicad_pcb and its schematic schematics/station.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Station design in my own project?
Its repository states no licence, so its author keeps all rights: ask UltimateDoge5 before reusing the design.
Similar boards
- 2 layers54.4 × 140 mm

- 4 layers75 × 70 mm

Small Pendant
mjhaahr/RGB-LED-Pendant
Small RGB LED Pendant using 1010 (1.0x1.0mm) WS2812B LEDs powered by an ESP32-C3 Mini with a BNO055 IMU
260 parts2MIT - 2 layers33.5 × 22 mm

EmonWiFi
openenergymonitor/emonWiFi
This small adapter allows OpenEnergyMonitor products to be used with a WiFi connection. The module is fully supported by ESPHome and is compatible with many endpoints, for example emonCMS, Home Assistant, and MQTT.
18 parts1CC-BY-SA-4.0 - 2 layers100 × 60 mm

Digital card
AhmedMKAlzoubi/Digital-B-Card
An ESP32-C3 based digital business card / badge with an e-paper display and NFC tap-to-share, designed as a custom PCB in a compact card/badge form factor.
66 parts - 2 layers75.5 × 50.5 mm

- 2 layers63 × 27.9 mm

ESP32-C3 Wi Fi env sensor
caiser01/ESP32-C3_Wi-Fi_env_sensor
ESP32-C3 Wi-Fi connected temperature, humidity, pressure sensor
34 partsMIT - 2 layers100 × 25 mm

CereyanV1
fahreddinaykut/Cereyan
Battery-powered ESP32-C3 smart ventilation fan with magnetic mounting, ESP-NOW synchronization, USB-C charging and programmable mobile control.
67 parts - 2 layers50 × 50 mm

Air monitor
harrisoncrettol/HC-Air-Monitor
A USB-powered desk air quality monitor. One board, one USB-C port, no app to install.
29 parts