

Custom pcb
WIP - first revision HAS ISSUES - Levoit Air Purifier Custom IoT PCB - based on ESP32
- Size
- 71.5 × 67.8 mm
- Copper layers
- 4
- Thickness
- 4.69 mm
- Parts
- 91
- Nets
- 70
- Pads
- 259
- Tracks, vias
- 919, 154
- Pours
- 17
- Routed
- Yes
- KiCad
- KiCad 5 (file 20210424)
- Created
- 14 Apr 2021
- Updated
- 7 Sep 2021
Overview
Custom pcb is an open-source printed circuit board by depau, from the depau/leviot-hw repository on GitHub. It is a 4-layer board of 71.5 × 67.8 mm with 91 parts on 70 nets, routed with 919 tracks and 154 vias.
It is built around the ESP32-WROOM-32, 74HC595D,118 and AMS1117-3.3. Its parts include 34 resistors, 21 capacitors, 13 diodes, 11 switches and 4 ICs. It belongs with the ESP32 boards of this library.
Main components
3ESP32-WROOM-32
SMD,18x25.5mm-40℃~+85℃ -98dBm 2.4GHz 2.7V~3.6V 20dBm Bluetooth4.2 ESP32-DOWDQ6 UART、SDIO、SPI、I2C、GPIO、PWM、ADC、DAC SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi Modules74HC595D,118
SOIC-16-40℃~+125℃ 1 100MHz 19ns@4.5V,50pF 2V~6V 74HC 8 Serial-to-Serial or Parallel Tri-State SOIC-16 Shift Registers ROHSNexperiaShift RegistersAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) Regulators
README
README.mdLevIoT - Air Purifier replacement controller
This is a replacement PCB based on ESP32 for the Levoit "True HEPA Air Purifier" Core 300, (Amazon model number: 817915027059).
It has currently not been tested yet, I just ordered it from a PCB manufacturer.
I spent around 30€ for 5 PCBs with most components pre-soldered by the PCB manufacturer, + around 13€ on AliExpress for the push buttons, shift registers and PH connectors.
Touchpad springs and LEDs are going to be recovered from the original PCB.

Taking the original board out
The top cover comes off by inserting a spudger tool between the top white and gray plastic parts.
The PCB is attached to the top plastic lid with some clips, and connected to the motor via a 6-pin JST-PH connector.
Control board protocol
Pinout:
| Pin # | Function |
|---|---|
| 1 (red) | VCC |
| 2 | GND |
| 3 | Speed 3 |
| 4 | Speed 2 |
| 5 | Speed 1 |
| 6 | Night mode |
The control board simply pulls one of the pins from 3 to 6 high with the other ones low to set the speed, with all low being "off".
The motor side seems to accept pretty much any voltage > 1V as long as the current is at least ~20 mA, though when using the original board I measure 4V across the pin and ground - current should be around 80 mA.
You can test it by placing a 100 ohm resistor between 5V and one of the speed pins.
Important safety notice
I'm not an electrical motor expert but I know that fans need to be started at the maximum speed from the off state in order to prevent motor strain, overheating and fire hazards.
See this video about it by Technology Connections: https://www.youtube.com/watch?v=hQ3GW7lVBWY
A custom board firmware must kickstart the fan at maximum speed for ~1 sec after power on, then set it back to whatever speed is desired.
The original board does this automatically.
License
CERN Open Hardware License, strictly reciprocal.
Disclaimer
I will not take any responsibility for broken air filters caused by modding or installing this custom PCB. You take your own responsibility.
Parts
91| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 0u1 | Capacitor_SMD:C_0402_1005Metric | C6, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21 |
| 7 | 1k5 | Resistor_SMD:R_0402_1005Metric | R7, R8, R9, R10, R12, R13, R16 |
| 7 | 510R | Resistor_SMD:R_0402_1005Metric | R28, R29, R30, R31, R32, R33, R34 |
| 5 | 470R | Resistor_SMD:R_0402_1005Metric | R17, R21, R23, R24, R25 |
| 5 | 560R | Resistor_SMD:R_0603_1608Metric | R1, R4, R5, R6, R27 |
| 4 | 47R | Resistor_SMD:R_0402_1005Metric | R18, R19, R20, R22 |
| 3 | 0u1 | Capacitor_SMD:C_0805_2012Metric | C2, C3, C8 |
| 3 | 10k | Resistor_SMD:R_0402_1005Metric | R11, R15, R26 |
| 3 | 22u | Capacitor_SMD:C_0805_2012Metric | C1, C4, C7 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R2, R3 |
| 2 | 74HCT595PW,118 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U2, U3 |
| 1 | custom-pcb:OSHW-LOGO-L | ||
| 1 | 10u | Capacitor_SMD:C_0402_1005Metric | C5 |
| 1 | 200R | Resistor_SMD:R_0402_1005Metric | R14 |
| 1 | 2H | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D10 |
| 1 | 4H | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D12 |
| 1 | 6H | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D6 |
| 1 | 8H | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D9 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | BOOT | aliexpress-switch:Tactile_Push_Button_SMD_3x3x1.5mm.kicad_mod | SW2 |
| 1 | BOOT_D | aliexpress-switch:Tactile_Push_Button_SMD_3x3x1.5mm.kicad_mod | SW11 |
| 1 | CONN_CTL | Connector_JST:JST_PH_B6B-PH-K_1x06_P2.00mm_Vertical | J1 |
| 1 | CONN_DBRD_IN | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | CONN_DBRD_OUT | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J4 |
| 1 | CONN_UART | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2 |
| 1 | ESP32-WROOM-32 | RF_Module:ESP32-WROOM-32 | U4 |
| 1 | Fan speed | touchpad_spring:touchpad_spring | SW4 |
| 1 | Filter | touchpad_spring:touchpad_spring | SW7 |
| 1 | I | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D5 |
| 1 | II | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D7 |
| 1 | III | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D8 |
| 1 | LED_R_FILTER | custom-pcb:LED_D5.0mm-centered | D11 |
| 1 | LED_W_FAN | custom-pcb:LED_D5.0mm-centered | D13 |
| 1 | LED_W_LOCK | custom-pcb:LED_D5.0mm-centered | D3 |
| 1 | LED_W_NIGHT | custom-pcb:LED_D5.0mm-centered | D2 |
| 1 | LED_W_TIMER | custom-pcb:LED_D5.0mm-centered | D4 |
| 1 | LEVOIT_CTL_BOARD_ALIGN | custom-pcb:board-alignments | board_alignments |
| 1 | Light | touchpad_spring:touchpad_spring | SW8 |
| 1 | Lock | touchpad_spring:touchpad_spring | SW9 |
| 1 | Night mode | touchpad_spring:touchpad_spring | SW5 |
| 1 | On/Off | custom-pcb:LED_D5.0mm-centered | D1 |
| 1 | RESET | aliexpress-switch:Tactile_Push_Button_SMD_3x3x1.5mm.kicad_mod | SW1 |
| 1 | RESET_D | aliexpress-switch:Tactile_Push_Button_SMD_3x3x1.5mm.kicad_mod | SW10 |
| 1 | SPR_POWER | touchpad_spring:touchpad_spring | SW3 |
| 1 | Timer | touchpad_spring:touchpad_spring | SW6 |
The 89 most common of 91 parts.
Questions
How big is the Custom pcb PCB?
It measures 71.5 × 67.8 mm and has 4 copper layers, 4.69 mm thick.
What parts does the Custom pcb use?
91 parts, built around the ESP32-WROOM-32, 74HC595D,118 and AMS1117-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 Custom pcb KiCad files?
From the depau/leviot-hw repository on GitHub, at the commit this page was made from: the board is custom-pcb/custom-pcb.kicad_pcb and its schematic custom-pcb/custom-pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Custom pcb design in my own project?
Its repository states no licence, so its author keeps all rights: ask depau before reusing the design.
Similar boards
- 2 layers70 × 100 mm

- 6 layers80 × 70 mm

IMX6 Demo Board from REF
ts-manuel/iMX6-Demo-Board
Demo board for the i.MX6ULL Single-Core Processor with Arm Cortex-A7 Core
504 parts10GPL-3.0 - 2 layers150 × 100 mm

Christmas banana synth
adaand00/christmas-banana-synth
The Christmas banana synth is a stylophone synthesizer with 24 keys and a buzzer for sound. The back features PCB art of a winter landscape. There are also 12 built-in songs available.
87 parts2 - 2 layers110 × 110 mm

FloorHeatingCentral
kvoit/FloorHeatingController_HW
Contoller board for up to 10 floor heading circuits. Thermostats via MQTT or 868MHz RF (to be developed). Changed from 1-Wire to 868MHz connectivity in version 2.0.
72 parts2Apache-2.0 - 2 layers99.8 × 49.8 mm

LedArrayDemo
radex/radmatrix
Tiny modular LED matrix. NOTE: Moved to https://code.hackerspace.pl/radex/radmatrix
453 parts2 - 2 layers70 × 70 mm

Corolla wheel car
Cxmrykk/Toyota-Steering-Wheel
Toyota (20-24) EV Steering Wheel Transceiver, Clockspring, Spline Adapter
40 parts1 - 4 layers208 × 129 mm

Mainboard v2 r1
Benjamin-girard-1/geophys_acquisition_module
Modular ESP32-S3 geophysical data-acquisition system with custom hardware, multi-channel ADC, GNSS, IMU, removable analog sensor cards, firmware, and host tools
287 parts - 4 layers190 × 110 mm
