Skip to the content
2 layers35 × 45 mmAether, the printed circuit board in 3D

All-in-one home air quality monitor measuring Temp, Humidity, CO2, VOCs, Particulate Matter, and NOx. Powered by ESP32-C3 running esphome, and built with Home Assistant integration

Size
35 × 45 mm
Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
59
Pads
226
Tracks, vias
361, 55
Pours
8
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
14 Mar 2026
Updated
30 Oct 2026

Overview

Aether is an open-source printed circuit board by EnriqueNeyra, from the EnriqueNeyra/aether repository on GitHub. It is a 2-layer board of 35 × 45 mm with 57 parts on 59 nets, routed with 361 tracks and 55 vias.

It is built around the ESP32-C3-MINI-1-N4, TLV62569DBVR-TP and 0.1UF 50V 5*11, with the MBR0530, 1N5819WS and FPC-05FB-24PH20 among its other parts. Its parts include 21 capacitors, 13 resistors, 7 diodes, 3 ICs and 2 switches. It belongs with the home automation and IoT and sensors and measurement boards and the ESP32 and RISC-V boards of this library.

Main components

10

README

README.md

Aether

Aether air quality monitor showing its e-paper dashboard

Aether is a comprehensive air quality monitor by Syntropy Labs built around an ESP32-C3, a Sensirion SEN66 sensor, and a 3.7" e-paper display. It measures CO2, Temperature, Humidity, PM1.0, PM2.5, PM4.0, PM10, VOC index, and NOx index, and exposes those readings on-device, on the local network, and through Home Assistant.

Repo Guide

PathContents
firmware/ESPHome configuration, custom components, web UI sources, and display code
hardware/pcb/KiCad PCB project
hardware/manufacturing/PCB manufacturing outputs, BOM, and centroid files
hardware/datasheets/Reference datasheets used during hardware design
enclosure/SolidWorks enclosure and assembly files
manifests/Firmware manifests for OTA and WebUSB
www/The combined WebUSB flasher and Quick Start Guide site

Contents

Features

  • Measures CO2, Temperature, Humidity, PM1.0, PM2.5, PM4.0, PM10, VOC index, and NOx index using the Sensirion SEN66
  • Displays live readings on a 416x240 3.7" e-paper panel
  • Serves a local web dashboard from the device itself
  • Supports ESPHome / Home Assistant integration
  • Supports USB factory flashing, firmware recovery, and OTA updates
  • Fully local, and can run with or without Wi-Fi

Hardware

To build one Aether unit, the following core parts are needed:

PartLink
Aether PCBSyntropy Labs Store (PCB files available in hardware/ folder)
3.7" e-paper display moduleGood Display / Elecrow
Sensirion SEN66 air quality sensorSensirion
Reverse 6-pin JST-GH cableAdafruit / AliExpress
3D-printed enclosure partsenclosure/
2x M3 x 6 mm countersunk screws + nutsScrews / Nuts

As an Amazon Associate I earn from qualifying purchases.

Aether parts laid out before assembly

Alternative Display Compatibility

The Aether PCB implements the standard 24-pin FPC e-paper interface. While designed for the 3.7" GDEY037T03, it is hardware-compatible with many other common e-paper panels (e.g., those using SSD1680, UC8151D, and IL0373 driver ICs). Please note that these alternative displays have not yet been tested or confirmed to work with this device.

If you choose to use an alternative display, you will need to:

  1. Update the firmware to instantiate the correct GxEPD2 display driver class.
  2. Modify the enclosure design to physically fit the new panel dimensions.

For specific supported ICs and detailed firmware instructions, see display-compatibility.md.

Assembly

High-level assembly flow:

1. Press-fit the SEN66 into the enclosure body.

Insert_SEN66_into_Enclosure

2. Connect the e-paper display to the PCB with the FPC connector.

Connect_ePaper_to_PCB

3. Press-fit the PCB into the enclosure body.

Insert_PCB_into_Enclosure

4. Connect 6-pin JST GH Cable.

Connect_JST_Cable

5. Bring display over in position above the PCB.

Display_Placement_1

Display_Placement_2

6. Attach the display cover.

Attach_Display_Cover

7. Secure the assembly from the bottom with the two M3 fasteners.

Secure_With_M3_Screws

Firmware Setup

Any Aether devices purchased through Syntropy Labs are pre-flashed with device firmware and fully tested

Flashing firmware onto a device

For a new board or a device that needs recovery:
  1. Connect Aether to your computer over USB.
  2. Open the Aether WebUSB flashing tool and go to Firmware & Updates.
  3. Click Install Aether firmware under Install or Update over USB.
  4. Keep the page open until flashing is complete.
  5. Let the device boot.
For a device that is already set up and just needs newer firmware:
  • Over Wi-Fi (recommended): open the device's local web UI, go to Firmware & updates, and click Update. Home Assistant offers the same update.
  • Over USB: follow the steps above. When the connected device is already running Aether firmware, the flasher offers an update that keeps your Wi-Fi and settings instead of erasing the device.

Note: The flashing page in www/ is built around ESP Web Tools / Web Serial and requires desktop Chrome or Edge.

Firmware development

If you are working on the ESPHome firmware, use the latest ESPHome release. Releases are built with it, and CI checks every PR against it. The default PlatformIO toolchain needs Python 3.12–3.14:

sh
pip install --upgrade esphome
git clone https://github.com/EnriqueNeyra/aether.git
cd aether/firmware
sh
esphome config aether.yaml
esphome compile aether.yaml
esphome run aether.yaml

Release firmware can't be flashed over Wi-Fi. To iterate over Wi-Fi, flash aether-dev.yaml over USB once, then use esphome run aether-dev.yaml --device <device-ip>.

To try ESPHome's native ESP-IDF toolchain (the default once toolchain: platformio is removed in ESPHome 2027.2.0), pass -s toolchain esp-idf, e.g. esphome -s toolchain esp-idf compile aether.yaml.

Using Aether

Normal operation

Once powered, Aether reads the SEN66 and refreshes both the on-device display and the local web dashboard. Temperature can be shown in either Fahrenheit or Celsius.

Wi-Fi setup and behavior

On boot, Aether will expose a temporary setup access point so you can connect it to Wi-Fi through the captive portal flow. The network will appear as aether-XXXXXX.

aether-access-point

  • If you want local web UI access, network-based ota updates, or Home Assistant integration, connect the device to Wi-Fi during setup.
  • If you do not configure Wi-Fi, the device will still work as a standalone monitor fully offline.

Once connected to the access point, you will automatically be redirected to the captive portal. Select your network and enter the password to connect. Once connected to Wi-Fi, the device also hosts its local web UI at aether-XXXXXX.local or the device's local IP.

Side button behavior

The side / boot button supports multiple actions:

  • Short press (tap, under 1 second): toggles between the normal dashboard and the info screen
  • Long press (hold ~3 seconds) from the normal screen: enters factory reset confirmation
  • Long press (hold ~3 seconds) again on the reset screen: confirms the factory reset flow
  • Long press (hold ~3 seconds) on the info screen while Wi-Fi is not connected: reboots the device, which brings the setup access point back after offline mode

Local web UI

When Aether is on your network, it serves a local browser-based dashboard directly from the device. That UI includes:

  • A live environment view for sensor readings
  • Temperature unit switching
  • Firmware version and update status
  • A way to trigger firmware updates from the device UI

Home Assistant & ESPHome API

Because Aether runs ESPHome, it features a native API over Wi-Fi. This allows for:

  • Automatic Home Assistant Integration: Aether will automatically appear in Home Assistant integrations dashboard once connected to your network. It exposes all 9 sensor metrics (CO2, temperature, humidity, PM1.0, PM2.5, PM4.0, PM10, VOC index, and NOx index).

Open your Home Assistant instance and show your integrations.

  • Custom Integrations: You can integrate Aether into your own software or scripts using its local HTTP API. Exposed endpoints include:
    • GET /api/state - Returns a JSON object with all current sensor metrics and device status.
    • POST /api/temp_unit?unit=C|F - Changes the preferred temperature unit.
    • POST /api/check_update - Asks the device to re-check for a firmware update now.
    • POST /api/perform_update - Triggers the device to immediately begin downloading and installing the latest firmware update over HTTPS (if one is available).

Updates

Aether supports more than one update path:

  • Local USB flashing through the WebUSB flashing tool (source located in www/)
  • In-device update flow through the local web UI
  • Home Assistant when the device is online

Use the USB flashing page for first-time setup and recovery. Use the local web UI for routine updates on devices that are already deployed.

License

Aether is licensed per directory:

Third-party components keep their own licenses, including the fonts in firmware/components/aether_epaper/fonts/ and the libraries the firmware is built with.

License: CC BY-NC-SA 4.0

Parts

57
QtyValueFootprintReferences
94.7uf/25VCapacitor_SMD:C_0603_1608MetricC8, C10, C11, C12, C13, C14, C16, C19, C20
710kResistor_SMD:R_0402_1005MetricR1, R2, R3, R6, R9, R10, R12
6TestPointTestPoint:TestPoint_Pad_D1.5mmTP1, TP2, TP3, TP4, TP5, TP6
51uf/50VCapacitor_SMD:C_0603_1608MetricC4, C15, C17, C18, C21
40.1uf/50VCapacitor_SMD:C_0603_1608MetricC2, C3, C5, C9
3LESD5D5.0CT1G_C5274290aether:SOD-523_L1.2-W0.8-LS1.6-BID2, D3, D4
3MBR0530Diode_SMD:D_SOD-123D5, D6, D7
222uf/10VCapacitor_SMD:C_0603_1608MetricC6, C7
25.1kResistor_SMD:R_0402_1005MetricR4, R5
10.47Resistor_SMD:R_0402_1005MetricR13
1100kResistor_SMD:R_0603_1608MetricR8
110uH/1AInductor_SMD:L_1210_3225MetricL2
110uf/25VCapacitor_SMD:C_0603_1608MetricC1
11N5819WSDiode_SMD:D_SOD-323D1
13Resistor_SMD:R_0402_1005MetricR11
1453kResistor_SMD:R_0603_1608MetricR7
1ESP32-C3-MINI-1-N4aether:XCVR_ESP32-C3-MINI-1-N4U2
1FPC-05FB-24PH20aether:FPC-SMD_24P-P0.50_FPC-05FB-24PH20FPC1
1NR3015S2R2MTaether:IND-SMD_L3.0-W3.0_NR3010L1
1SH-GH1.25-6PWBaether:SW-SMD_SH-GH1.25-6PWBCN1
1Si1308EDLPackage_TO_SOT_SMD:SOT-323_SC-70Q1
1TLV62569DBVRaether:SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BRU3
1TS-1088-AR02016aether:SW-SMD_L3.9-W3.0-P4.45SW2
1TS36XL-6.0 180GF 072aether:SW-TH_SHOU-HAN_TS36XL-6.0SW1
1TYPE-C 16PLT-H10.0aether:TYPE-C-SMD_USB4120-03-CU1

Similar boards

  • 2 layers45 × 45 mmAeroq Hardware v3, the printed circuit board in 3D

    Aeroq Hardware v3

    EnriqueNeyra/Aeroq

    An Indoor Air Quality Monitor Powered by ESP32, SCD40, and SEN54

    56 parts130
  • 2 layers69.4 × 113 mmEpaper reader hw, the printed circuit board in 3D

    Epaper reader hw

    mathias4833/epaper-reader-hw

    An open-source e-paper reader

    126 parts75CERN-OHL-W-2.0
  • 4 layers50.3 × 33 mm154-watch, the printed circuit board in 3D

    154-watch

    martinberlin/H-spi-adapters

    PCB design for SPI adapters (HATs)

    67 parts23
  • 2 layers91 × 84 mmBadge, the printed circuit board in 3D

    Badge

    wisdom-km/chroma-badge

    Open-source color e-ink name badge — hardware, firmware, and companion software.

    58 parts
  • 4 layers70.2 × 71 mmC3-27-epaper touch, the printed circuit board in 3D

    C3-27-epaper touch

    martinberlin/bistable-smart-switch

    An epaper switch project with 2 PCBs, controller+touch, and 220AC to 3DC with Relay (Latch or solid-state)

    64 parts32Apache-2.0
  • 2 layers40 × 33 mmRecab, the printed circuit board in 3D

    Recab

    hung1508/Recab_mini_HW

    157 parts
  • 2 layersHabitReminderEPaper, the printed circuit board in 3D

    HabitReminderEPaper

    Rikeroo/habit-reminder

    Low energy physical habit reminder, using RGB LEDs, a small task screen and tactile switches to build useful habits and get tasks done

    52 parts
  • 4 layers98.3 × 54.6 mmPanelize TestBoard Final, the printed circuit board in 3D

    Panelize TestBoard Final

    StickyPix/Not-So-Sticky-Pix

    Spectra 6 and 4 gray E-paper frame

    151 parts6

Questions

How big is the Aether PCB?

It measures 35 × 45 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Aether use?

57 parts, built around the ESP32-C3-MINI-1-N4, TLV62569DBVR-TP, 0.1UF 50V 5*11 and MBR0530. 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 Aether KiCad files?

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

Can I use the Aether design in my own project?

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