Skip to the content
PCBKitNew board
2 layers31 × 43.6 mmIot postbox, the printed circuit board in 3D

Integrated open-source HW and FW for an IoT smart mailbox sensor with Wi-Fi and LoRaWAN connectivity.

Size
31 × 43.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
40
Nets
42
Pads
148
Tracks, vias
572, 27
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
7 Jul 2021
Updated
26 Sep 2025

Overview

Iot postbox is an open-source printed circuit board by paclema, from the paclema/iot-postbox repository on GitHub. It is a 2-layer board of 31 × 43.6 mm with 40 parts on 42 nets, routed with 572 tracks and 27 vias.

It is built around the ESP-12F, DW01 and FS8205A, with the TP4056 among its other parts. Its parts include 13 resistors, 7 capacitors, 7 connectors, 6 ICs and 5 diodes. It belongs with the radio and wireless and home automation and IoT boards and the ESP8266 boards of this library.

Main components

4

README

README.md

IoT-PostBox

CC BY-NC-SA 4.0 Donate

IoT-PostBox is a complete smart mailbox sensor solution that monitors mailbox activity and sends wireless notifications when events occur. The project consists of custom hardware designs with integrated battery management and charging system, and firmware that monitors switch sensors to detect mailbox events. The hardware has evolved from initial ESP8266-based designs (IoT-PostBox v0.x) to current ESP32S2-based designs (IoT-PostBox v1.x) with added LoRaWAN capabilities for extended range communication beyond WiFi and a optimized power management system. The device is designed for battery-powered operation with onboard charging circuitry. When an event is detected, the device wakes from deep sleep, connects wirelessly (WiFi or LoRa), publishes the event via MQTT or LoRaWAN, and returns to sleep to maximize battery life. The system includes device configuration and management through the WebConfigServer library, which provides a web-based dashboard to visualize data and handle device configurations easily using a config.json file.

Installation and use: The device is installed inside the mailbox with switches positioned to detect when the mail slot or door is opened. One switch can detect mail insertion (when the slot is opened to insert mail), while another can detect mail collection (when the mailbox door is opened to retrieve mail). This allows monitoring both mail delivery and pickup events.

Hardware evolution:

  • v0.x (ESP8266): WiFi-only communication, basic power management using CH_PD pin to disable the microcontroller, battery charging system, switch sensor inputs.
  • v1.x (ESP32-S2): Enhanced with LoRaWAN capability, improved power management with deep sleep modes managed by interrupts (allowing identification of wake-up source via WAKE_UP_BITMASK), advanced battery management, native USB programming, and expanded I/O options.

[!NOTE]
For detailed hardware specifications, BOMs, and pinouts, see pcb_desings/readme.md.


📁 Repository Structure

  • /src/ — Main firmware source code for IoT-PostBox
  • /pcb_desings/ — Hardware designs, documentation, BOMs, gerbers, and 3D models
  • /data/ — SPIFFS filesystem data (configs, static webapp, certificates)
  • /platformio.ini — PlatformIO project configuration

⚡ Getting Started

  1. Select and configure your hardware:

    • For IoT-PostBox PCBs: Choose between IoT-PostBox v0.x (ESP8266-based) or IoT-PostBox v1.x (ESP32-S2-based) versions. See pcb_desings/readme.md for detailed specifications.
    • For development boards: The firmware also supports various ESP8266/ESP32 development boards (see available targets in platformio.ini), but full compatibility and functionality is only guaranteed with the custom IoT-PostBox PCBs designed for this purpose.
    • Configure the appropriate target in platformio.ini for your hardware version (e.g., IoT-PostBox_v1 for IoT-PostBox v1.x PCB).
    • Edit data/config/config.json with your initial configuration (WiFi credentials, MQTT settings, etc.) following the WebConfigServer library standard.
  2. Upload SPIFFS data:

    sh
    pio run -t uploadfs
  3. Build and upload firmware: Use PlatformIO to compile and flash the firmware to your device.

  4. Configure the device: Access the web dashboard hosted by the device for WiFi, MQTT, and power management setup, or update the configuration by editing config.json and re-uploading SPIFFS data.


📈 Web Dashboard

The static web dashboard is provided by the WebConfigServer library and served directly from the device.

If you need to customize the dashboard:

  • Go to the WebConfigServer repository and follow the build instructions
  • Copy the generated static files to the /data/ folder
  • Upload /data/ to the device SPIFFS

📚 Dependencies

This project uses the following main libraries:


📄 License

CC BY-NC-SA 4.0    IoT-PostBox © 2019-2025 by paclema is licensed under CC BY-NC-SA 4.0

Hardware and firmware designs are provided for educational and non-commercial use. For commercial use, please contact the author for permission.


Parts

40
QtyValueFootprintReferences
710KResistor_SMD:R_0805_2012MetricR1, R2, R3, R4, R5, R6, R7
310uFCapacitor_SMD:C_0805_2012MetricC1, C3, C4
31KResistor_SMD:R_0805_2012MetricR8, R9, R10
31N4007Diode_SMD:D_SOD-123D1, D2, D3
21ufCapacitor_SMD:C_0805_2012MetricC6, C7
10.1uFCapacitor_SMD:C_0805_2012MetricC5
1100RResistor_SMD:R_0805_2012MetricR11
1100nFCapacitor_SMD:C_0805_2012MetricC2
11MResistor_SMD:R_0805_2012MetricR12
12KResistor_SMD:R_0805_2012MetricR_PROG1
1300KResistor_SMD:R_0805_2012MetricR13
1BatteryConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ5
1BatteryConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ6
1CHRGLED_SMD:LED_0805_2012MetricD4
1DW01Package_TO_SOT_SMD:SOT-23-6_HandsolderingU4
1ESP-12FRF_Module:ESP-12EU1
1FS8205APackage_SO:TSSOP-8_4.4x3mm_P0.65mmU5
1LEDConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ7
1MCP1700-3302E_SOT23Package_TO_SOT_SMD:SOT-23U6
1POWERMSK12C02:1P2T_SPDT_MSK-C02_7pinSW1
1PowerInConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3
1STDBYLED_SMD:LED_0805_2012MetricD5
1Switch_1Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ1
1Switch_2Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ2
1TP4056lib:TP4056_SOP-8-PPU3
1TTL_UART_adapter_iot_postboxConnector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalU2
1USB_B_MicroConnector_USB:USB_Micro-B_Amphenol_10118194_HorizontalJ4

Questions

How big is the Iot postbox PCB?

It measures 31 × 43.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Iot postbox use?

40 parts, built around the ESP-12F, DW01, FS8205A and TP4056. 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 Iot postbox KiCad files?

From the paclema/iot-postbox repository on GitHub, at the commit this page was made from: the board is pcb_desings/iot-postbox/iot-postbox.kicad_pcb and its schematic pcb_desings/iot-postbox_v1/INTERFACE.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Iot postbox design in my own project?

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

More from paclema/iot-postbox

2
  • 2 layers59 × 34 mmIot postbox v1, the printed circuit board in 3D

    Iot postbox v1

    paclema/iot-postbox

    Integrated open-source HW and FW for an IoT smart mailbox sensor with Wi-Fi and LoRaWAN connectivity.

    87 parts
  • 2 layers16 × 19 mmTtl to usb adapter, the printed circuit board in 3D

    Ttl to usb adapter

    paclema/iot-postbox

    Integrated open-source HW and FW for an IoT smart mailbox sensor with Wi-Fi and LoRaWAN connectivity.

    10 parts

Similar boards

  • 2 layersSDS011, the printed circuit board in 3D

    SDS011

    greenMikeEU/shrdzm

    SHRDZM (just a name, not an acronym) is an ESP8285/ESP8266 based sensor and actor integration platform.

    21 partsGPL-3.0
  • 2 layers78.5 × 20.6 mmKamiTrack, the printed circuit board in 3D

    KamiTrack

    kitspace-test-repos/kicad6-file-collection

    65 partsMIT
  • 2 layers54.9 × 95 mmBoard v5, the printed circuit board in 3D

    Board v5

    brev-dev/another_esp8266_sensor_board

    PCB layout and instructions for a multi-purpose esp8266 sensor device, with optional LORA connectivity.

    86 parts5GPL-3.0
  • 2 layersCharger stepup, the printed circuit board in 3D

    Charger stepup

    Aplyard/Oled-Clicker

    Clicker Counter for Arduino Nano

    19 parts117BSD-3-Clause
  • 2 layers84 × 98 mmJoule Chief, the printed circuit board in 3D

    Joule Chief

    fishPointer/Joule-Thief

    I teach myself new skills by designing projects that require to develop the skills I want in order to complete them.

    93 parts25MIT
  • 2 layers32 × 32 mmTuxmini v03, the printed circuit board in 3D

    Tuxmini v03

    tux-friend/tux-cube

    Physics Sensor Cube Tux³

    83 parts18GPL-3.0
  • 2 layers159 × 140.1 mmPhazor, the printed circuit board in 3D

    Phazor

    skrmsh/skirmish-hardware

    Skirmish Hardware © 2022-2023 by Ole Lange is licensed under CC BY-NC-SA 4.0. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/

    123 parts10
  • 2 layers80 × 25 mmLedGateController, the printed circuit board in 3D

    LedGateController

    Knifa/ws28xx-led-driver

    A straightforward DIY WS28xx LED driver.

    73 parts3