Skip to the content
PCBKitNew board
2 layers34.1 × 33.6 mmEPaperBreakout, the printed circuit board in 3D

Smart Air Quality Sensor built using ESP32, SEN66 and ESPHome

Size
34.1 × 33.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
31
Nets
29
Pads
125
Tracks, vias
313, 104
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
8 Jun 2026
Updated
7 Jul 2026

Overview

EPaperBreakout is an open-source printed circuit board by FeatureNAB, from the FeatureNAB/air-sensor repository on GitHub. It is a 2-layer board of 34.1 × 33.6 mm with 31 parts on 29 nets, routed with 313 tracks and 104 vias.

It is built around the B0540W and SI1304BDL. Its parts include 13 capacitors, 8 connectors, 4 resistors, 3 diodes and 1 transistor. It belongs with the sensors and measurement and home automation and IoT boards of this library.

Main components

2

README

README.md

Smart E-Ink Air Quality Monitor

This repository contains all the 3D models, PCB production files, and ESPHome software configurations to build the Desktop Air Quality Monitor featured on the channel.

Watch the video

The device uses an ESP32 and the Sensirion SEN66 to track 9 different air quality metrics (PM1, PM2.5, PM4, PM10, VOCs, NOx, CO2, Temperature, and Humidity) and displays them on an e-ink screen. It connects natively to Home Assistant and the firmware is written using ESPHome.

3D Files can be found on Printables, on Makerworld, or in the releases tab.

What's in this Repository?

If you just want the final ready-to-go files, check the Releases tab on the right!

All source files are organized into their respective folders:

  • 📂 enclosure/ - .step and .3mf models for the custom 3D printed housing.
  • 📂 PCB/ - Full KiCad project files and the production folder containing the Gerbers, BOM, and CPL files required for manufacturing.
  • 📂 firmware/ - ESPHome .yaml configuration files, plus precompiled bin files that you can flash directly to your board (Minimal and Home Assistant versions available).

Getting Started

This project comes in 2 flavours - the minimal "just get the sensor working" variant, and the full variant that uses a custom PCB and a 3D printed housing.

Minimal variant

1. Hardware

To build this version, you will need:

Assemble by connecting the 3V, GND, SDA and SCL pins as shown in the video.

2. Firmware

Method A: "As Fast As Possible" (No Coding Required)

  1. If you plan to use the device with Home Assistant, download Firmware_minimal_with_Home_Assistant_bins.zip , if you plan to use it standalone use Firmware_minimal_air_sensor_bins.zip from the Releases tab on the right side of this page.
  2. Plug your ESP32 (C3, C5, C6, or S3) into your computer via USB.
  3. Using a Web Serial compatible browser (like Chrome or Edge), go to web.esphome.io.
  4. Click "Connect", select your board's COM port, and upload the .bin file that matches your specific ESP32 model.
  5. Connect to the device's fallback Wi-Fi network to add it to your home network!

Method B: Do this if you already have Home Assistant (or want to customise your setup)

  1. Open the Software folder and grab the relevant .yaml config file. Copy its contents.
  2. Paste it into your ESPHome Builder dashboard.
  3. Edit your Wi-Fi credentials, encryption keys, and anything else you want to try.
  4. "Install" to compile and flash directly to your board.

Full Variant

1. Hardware

To build this version, you will need:

  • Sensirion SEN66
  • Seeed XIAO ESP32-C6 microcontroller
  • 2.13" e-ink Monochrome Display (Note: this MUST be monochrome, the current PCB design DOES NOT WORK with colour epaper)
  • Custom epaper driver board PCB (see below)
  • 4x M3 size heat set inserts. I used Ruthex.
  • 4x M3 bolts for the front + 1x M3 bolt to keep the PCB in place in the enclosure. CNC Kitchen sell these.
  • A cable to connect the SEN66 to the board
    • I used a stemma cable, cut it in half, and soldered it to a JST-GH 1.25mm pre-crimped cable.
    • Alternatively if you will use the dupont headers on the board you can buy premade cables like these (note this cable won't attach to the stemma convenience connector on the PCB!)
2. PCB

I designed the PCB to be manufactured and assembled by JLCPCB. The ordering process is shown in the video. JLCPCB also offer 3D Printing Services through JLC3DP, so you could have the enclosure made too if you dont have a 3D printer, and they also offer CNC machining services through JLCCNC, if you wanted to make one from metals for a super unique finish.

  1. Head to the Releases tab and download the PCB_fabrication_files.zip .
  2. Upload the Gerber zip to JCLPCB.
  3. Enable PCBA (PCB Assembly) to have the tiny SMD components soldered for you.
  4. Upload the BOM and positions from the zip file.
  5. Order and wait for the goods to arrive.
3. 3D Printing the Enclosure

Download the 3D_Files.zip from the Releases tab and print the enclosure.

  • The .3mf file is pre-configured and ready to print.
  • The .step file is provided if you want to modify the housing in any way.
4. Firmware

Same method as the Method B: firmware steps above. The yaml, images, and extra code for the display and air algorithm is provided for you in the firmware/The Everything Bagel folder, but you'll need to compile it yourself in ESPHome Builder or the ESPHome CLI.

Home Assistant Dashboard

If you are connecting this to Home Assistant and want the UI dashboard card shown in the video, you will need to install HACS (Home Assistant Community Store) and download the Air Quality Card by KadenThomp36. The thresholds and algorithms in my aqi_algo.h match the WHO 2021 recommendations also used by this card, so the recommendations shown on the physical display on this Air Quality device should match those on this card/dashboard.

Support the project

Patreon for anyone interested, so I can continue making projects like this. Thanks!

Some of the links on this page are affiliate links and help support these projects at no cost to you.

Parts

31
QtyValueFootprintReferences
101uF 25VCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C7, C8, C9, C10, C11, C12, C13
3B0540WDiode_SMD:D_SOD-123D1, D2, D3
24.7kResistor_SMD:R_0402_1005MetricR1, R2
2HEADER-7P-18.28X2.5Connector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_Vertical_SMD_Pin1RightJ3, J4
2HEADER-8P-80/40MILConnector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalJ1, J5
10.47R/1%Resistor_SMD:R_0603_1608MetricR3
1100nFCapacitor_SMD:C_0603_1608MetricC6
110KResistor_SMD:R_0603_1608MetricR4
110uHRandomThings:IND-SMD_L5.2-W5.2_MCW-0530L1
1220uF/6.3VCapacitor_Tantalum_SMD:CP_EIA-3528-21_Kemet-BC4
14.7uF/50VCapacitor_SMD:C_1206_3216MetricC5
1Dupont_PeripheralsConnector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_HorizontalJ6
1JST_SH_BTN1Connector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ8
1JST_SH_BTN2Connector_JST:JST_SH_SM03B-SRSS-TB_1x03-1MP_P1.00mm_HorizontalJ9
1JST_SH_I2CConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalI2C
1Si1304BDLPackage_TO_SOT_SMD:SOT-323_SC-70Q1
1To DisplayRandomThings:FPC-SMD_24P-P0.50_XFCN_F0504-H-24-20T-RJ2

Questions

How big is the EPaperBreakout PCB?

It measures 34.1 × 33.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the EPaperBreakout use?

31 parts, built around the B0540W and SI1304BDL. 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 EPaperBreakout KiCad files?

From the FeatureNAB/air-sensor repository on GitHub, at the commit this page was made from: the board is PCB/ePaperBreakout.kicad_pcb and its schematic PCB/ePaperBreakout.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the EPaperBreakout design in my own project?

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

Similar boards

  • 2 layers80 × 33.5 mmTomogatchi, the printed circuit board in 3D

    Tomogatchi

    chimmmmy/echain

    software to control a smart keychain with an e ink display, powered by seed studio nrf52840

    25 parts1GPL-3.0
  • 2 layers34.7 × 22.2 mmESP32 Weather, the printed circuit board in 3D

    ESP32 Weather

    ANSHUMANDOCX/ESP32-Weather-Dashboard

    ESP32 weather dashboard using a 3.7 inch eink display

    23 parts
  • 2 layers61.7 × 46.7 mmEpaperle, the printed circuit board in 3D

    Epaperle

    pavels/epaperle

    29 parts2BSD-2-Clause
  • 4 layers59.2 × 29.2 mmESP32-Eink, the printed circuit board in 3D

    ESP32-Eink

    Outdatedcandy92/ESP32-Eink

    A tiny E-Ink display driver board featuring an ESP32-C3 and an onboard battery charging IC. It wirelessly drives a 2.13-inch E-Ink display and is designed for portable, ultra-low-power projects such as status displays…

    83 partsCERN-OHL-W-2.0
  • 4 layers79.5 × 53.3 mmEINK DEV, the printed circuit board in 3D

    EINK DEV

    p01t3rge1st/EINK_STM32

    Projekt E-INK AiR 2025. Kod oraz schematy zostają umieszczone tutaj.

    80 parts
  • 2 layers43 × 92.3 mmDSKY driver, the printed circuit board in 3D

    DSKY driver

    benkrasnow/DSKY_EL_replica

    Schematic, PCB layout, mechanical CAD, and firmware to create a replica of the DSKY with electroluminescent display

    49 parts261MIT
  • 4 layers50 × 50 mmZicote, the printed circuit board in 3D

    Zicote

    0sirys/SmartInsole_PF_PCB

    Proyecto final, plantilla para medicion de presion plantar

    62 partsMIT