Project Overview
This is a compact, custom air quality monitor built around the ESP32-S3. I designed it to be an all-in-one solution for tracking environmental data, giving me a much better understanding of the air quality in my workspace.\
- This project is intended for educational and research purposes only
- The author accepts no liability for regulatory non-compliance resulting from use of this project
- Users are solely responsible for ensuring compliance with all applicable local laws and regulations This project is provided as-is, with absolutely no warranty of any kind, express or implied. The author(s) accept zero responsibility or liability for any outcome resulting from the use, assembly, or operation of this hardware - including but not limited to property damage, fire, personal injury, or death.
Use entirely at your own risk. The author(s) have no responsibility whatsoever for anything that goes wrong.
- Regulatory Disclaimer This project may use uncertified radio frequency (RF) modules. These components may have not been independently tested or certified for compliance such as for FCC (USA), CE (EU), or any other regulatory framework. ard.**. The author(s) accept no responsibility for any damage, injury, or death caused.
- No certification. This design has not been tested, certified, or approved for any commercial, consumer, safety-critical, or regulatory-controlled application.
- No guarantees. The author(s) make no guarantees regarding the accuracy or fitness for purpose of the schematic, BOM, firmware, or any associated documentation. By using, building, or operating this project in any form, you accept full and sole responsibility for all risks and any consequences that arise. By using this project in any form, you agree to assume all associated risks and responsibilities.
How to Use
Flashing: No integrated usb flashing feature. You can use your choice of usb flashing device eg FT or CH chipsets, connect them respectively on the PCB via the headers. Copy firmware into Ardiuno IDE or preffered flashing software, then flash directly.
Integration: The device is built to talk directly to Home Assistant via ESPHome/MQTT. Once you flash the firmware, it will show up as a sensor entity on your dashboard.
Features: You can view real-time data on your dashboard or through the low power e ink display. Optional fan with control and speed, status etc. Flexible desing, connect any device to the respective power, uart or spi pins.\
Why I Built This
Many makers do soldering, 3D printing, and working with various materials in an enclosed space. Like many of you, I realised that standard, off-the-shelf air quality sensors often lack the accuracy. I got tired of guessing if my ventilation was sufficient, so I designed this board to get accurate, reliable readings so I can actually manage the air quality while I work. Also for monitoring Co2 because sleep is important :) |
\
Bill Of Materials
| # | bom.csv | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** | **** |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | BOM Date Created:23/05/26 | BOM Export Date: 23/05/26 | ||||||||||||||||||||||||
| 2 | EST LCSC TOTAL: $30.73 | |||||||||||||||||||||||||
| 3 | TOTAL – 1 SEN55 Sensor: $92.61 | |||||||||||||||||||||||||
| 4 | Uploaded data | LCSC Matching Results | ||||||||||||||||||||||||
| 5 | LCSC# | Mfr. | Mrf# | Description | Package | Value | Customer Part Number | Quantity | Target Price(USD) | Target Lead Time(Business Days) | Mrf# | Mfr. | Order Qty. | Unit Price(USD) | Ext.Price(USD) | LCSC# | Package | Min | Mult | SPQ | Availability | Stock Status | Customer Notes | Description | Matched status | Product Link |
| 6 | C15849 | C0603 | - | 11 | CL10A105KB8NNNC | Samsung Electro-Mechanics | 50 | 0.0077 | 0.39 | C15849 | 0603 | 50 | 50 | 4000 | 4032550 | In Stock | 1uF ±10% 50V Ceramic Capacitor X5R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C15849\.html | |||||||
| 7 | C96446 | C0603 | - | 10 | CL10A106MA8NRNC | Samsung Electro-Mechanics | 20 | 0.0223 | 0.45 | C96446 | 0603 | 20 | 20 | 4000 | 277300 | In Stock | 10uF ±20% 25V Ceramic Capacitor X5R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C96446\.html | |||||||
| 8 | C1591 | C0603 | - | 10 | CL10B104KB8NNNC | Samsung Electro-Mechanics | 100 | 0.0032 | 0.32 | C1591 | 0603 | 100 | 100 | 4000 | 1456500 | In Stock | 100nF ±10% 50V Ceramic Capacitor X7R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C1591\.html | |||||||
| 9 | C307467 | C0603 | - | 4 | CL10A475KL8NRNC | Samsung Electro-Mechanics | 5 | 0.0304 | 0.15 | C307467 | 0603 | 5 | 5 | 4000 | 192075 | In Stock | 4.7uF ±10% 35V Ceramic Capacitor X5R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C307467\.html | |||||||
| 10 | C883598 | C1206 | - | 4 | GRM31CR61A107MEA8L | muRata | 5 | 0.1955 | 0.98 | C883598 | 1206 | 5 | 5 | 2000 | 209960 | In Stock | 100uF ±20% 10V Ceramic Capacitor X5R 1206 | Exact Matches | https://www\.lcsc\.com/product\-detail/C883598\.html | |||||||
| 11 | C21122 | C0603 | - | 3 | CL10B223KB8NNNC | Samsung Electro-Mechanics | 50 | 0.0046 | 0.23 | C21122 | 0603 | 50 | 50 | 4000 | 1335100 | In Stock | 22nF ±10% 50V Ceramic Capacitor X7R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C21122\.html | |||||||
| 12 | C307467 | C0603 | - | 3 | CL10A475KL8NRNC | Samsung Electro-Mechanics | 5 | 0.0304 | 0.15 | C307467 | 0603 | 5 | 5 | 4000 | 192075 | In Stock | 4.7uF ±10% 35V Ceramic Capacitor X5R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C307467\.html | |||||||
| 13 | C6119851 | C0603 | - | 2 | CGA0603X5R475K350JT | HRE | 20 | 0.0304 | 0.61 | C6119851 | 0603 | 20 | 20 | 4000 | 18100 | In Stock | 4.7uF ±10% 35V Ceramic Capacitor X5R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C6119851\.html | |||||||
| 14 | C1591 | C0603 | - | 2 | CL10B104KB8NNNC | Samsung Electro-Mechanics | 100 | 0.0032 | 0.32 | C1591 | 0603 | 100 | 100 | 4000 | 1456500 | In Stock | 100nF ±10% 50V Ceramic Capacitor X7R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C1591\.html | |||||||
| 15 | C6563232 | C0603 | - | 1 | 0603B112K500NT | FH | 100 | 0.0030 | 0.30 | C6563232 | 0603 | 100 | 100 | 4000 | 400 | In Stock | 1.1nF ±10% 50V Ceramic Capacitor X7R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C6563232\.html | |||||||
| 16 | C1591 | C0603 | - | 1 | CL10B104KB8NNNC | Samsung Electro-Mechanics | 100 | 0.0032 | 0.32 | C1591 | 0603 | 100 | 100 | 4000 | 1456500 | In Stock | 100nF ±10% 50V Ceramic Capacitor X7R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C1591\.html | |||||||
| 17 | C86295 | C0603 | - | 1 | CL10A226MP8NUNE | Samsung Electro-Mechanics | 10 | 0.0157 | 0.16 | C86295 | 0603 | 10 | 10 | 3000 | 1989760 | In Stock | 22uF ±20% 10V Ceramic Capacitor X5R 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C86295\.html | |||||||
| 18 | C98220 | R0603 | - | 5 | RC0603FR-0710KL | YAGEO | 100 | 0.0015 | 0.15 | C98220 | 0603 | 100 | 100 | 5000 | 0 | Backordered | 100mW 10k? 75V Thick Film Resistor ±100ppm/? ±1% 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C98220\.html | |||||||
| 19 | C14675 | R0603 | - | 5 | RC0603FR-07100KL | YAGEO | 100 | 0.0014 | 0.14 | C14675 | 0603 | 100 | 100 | 5000 | 1073900 | In Stock | 100mW 100k? 75V Thick Film Resistor ±100ppm/? ±1% 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C14675\.html | |||||||
| 20 | C25804 | R0603 | - | 4 | 0603WAF1002T5E | UNI-ROYAL | 100 | 0.0014 | 0.14 | C25804 | 0603 | 100 | 100 | 5000 | 0 | Backordered | 10k? ±1% 100mW 0603 Thick Film Resistor | Exact Matches | https://www\.lcsc\.com/product\-detail/C25804\.html | |||||||
| 21 | C95177 | R0603 | - | 4 | RC0603JR-070RL | YAGEO | 100 | 0.0014 | 0.14 | C95177 | 0603 | 100 | 100 | 5000 | 1026800 | In Stock | 100mW 0? 75V Thick Film Resistor ±5% 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C95177\.html | |||||||
| 22 | C25804 | R0603 | - | 2 | 0603WAF1002T5E | UNI-ROYAL | 100 | 0.0014 | 0.14 | C25804 | 0603 | 100 | 100 | 5000 | 0 | Backordered | 10k? ±1% 100mW 0603 Thick Film Resistor | Exact Matches | https://www\.lcsc\.com/product\-detail/C25804\.html | |||||||
| 23 | C114659 | R0603 | - | 2 | RC0603FR-0712KL | YAGEO | 100 | 0.0016 | 0.16 | C114659 | 0603 | 100 | 100 | 5000 | 1073600 | In Stock | 12k? 100mW 75V Thick Film Resistor ±100ppm/? ±1% 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C114659\.html | |||||||
| 24 | C52069115 | R0603 | - | 1 | MFCR0603F3R00Q9R | RESI | 5 | 0.0840 | 0.42 | C52069115 | 0603 | 5 | 5 | 5000 | 4610 | In Stock | 3? 400mW ±50ppm/? ±1% 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C52069115\.html | |||||||
| 25 | C23411 | R0603 | - | 1 | 0603WAF470LT5E | UNI-ROYAL | 100 | 0.0051 | 0.51 | C23411 | 0603 | 100 | 100 | 5000 | 59400 | In Stock | 470m? ±1% 100mW 0603 Thick Film Resistor | Exact Matches | https://www\.lcsc\.com/product\-detail/C23411\.html | |||||||
| 26 | C22883 | R0603 | - | 1 | 0603WAF1583T5E | UNI-ROYAL | 100 | 0.0014 | 0.14 | C22883 | 0603 | 100 | 100 | 5000 | 166400 | In Stock | 158k? ±1% 100mW 0603 Thick Film Resistor | Exact Matches | https://www\.lcsc\.com/product\-detail/C22883\.html | |||||||
| 27 | C107231 | R0603 | - | 1 | RC0603FR-0751KL | YAGEO | 100 | 0.0016 | 0.16 | C107231 | 0603 | 100 | 100 | 5000 | 140700 | In Stock | 100mW 51k? 75V Thick Film Resistor ±100ppm/? ±1% 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C107231\.html | |||||||
| 28 | C22892 | R0603 | - | 1 | 0603WAF1822T5E | UNI-ROYAL | 100 | 0.0012 | 0.12 | C22892 | 0603 | 100 | 100 | 5000 | 17100 | In Stock | 18.2k? ±1% 100mW 0603 Thick Film Resistor | Exact Matches | https://www\.lcsc\.com/product\-detail/C22892\.html | |||||||
| 29 | C105574 | R0603 | - | 1 | RC0603FR-07200KL | YAGEO | 100 | 0.0016 | 0.16 | C105574 | 0603 | 100 | 100 | 5000 | 196200 | In Stock | 100mW 200k? 75V Thick Film Resistor ±100ppm/? ±1% 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C105574\.html | |||||||
| 30 | C2930091 | R0603 | - | 1 | FRC0603F3003TS | FOJAN | 100 | 0.0011 | 0.11 | C2930091 | 0603 | 100 | 100 | 5000 | 1794600 | In Stock | 300k? ±1% 100mW 0603 Thick Film Resistor | Exact Matches | https://www\.lcsc\.com/product\-detail/C2930091\.html | |||||||
| 31 | C105579 | R0603 | - | 1 | RC0603FR-0747KL | YAGEO | 100 | 0.0016 | 0.16 | C105579 | 0603 | 100 | 100 | 5000 | 370600 | In Stock | 100mW 47k? 75V Thick Film Resistor ±100ppm/? ±1% 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C105579\.html | |||||||
| 32 | C2998085 | R0603 | - | 1 | FRC0603F9001TS | FOJAN | 0 | - | - | C2998085 | 0603 | 100 | 100 | 5000 | 0 | discountinued | 9k? ±1% 100mW 0603 Thick Film Resistor | Exact Matches | https://www\.lcsc\.com/product\-detail/C2998085\.html | |||||||
| 33 | C109318 | R0603 | - | 1 | RC0603FR-0710RL | YAGEO | 100 | 0.0039 | 0.39 | C109318 | 0603 | 100 | 100 | 5000 | 3822900 | In Stock | 100mW 10? 75V Thick Film Resistor ±1% ±200ppm/? 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C109318\.html | |||||||
| 34 | C22461457 | RES-ADJ-SMD_3P-L3.8-W3.7_VGF39NCHXT | - | 1 | VGF39NCHXT-B201 | HDK | 5 | 0.1107 | 0.55 | C22461457 | SMD-3P,3.8x3.7mm | 5 | 5 | 2500 | 2525 | In Stock | 200? ±25% 150mW SMD Potentiometers, Variable Resistors | Exact Matches | https://www\.lcsc\.com/product\-detail/C22461457\.html | |||||||
| 35 | C105881 | R0603 | - | 1 | RC0603FR-07330RL | YAGEO | 100 | 0.0015 | 0.15 | C105881 | 0603 | 100 | 100 | 5000 | 351200 | In Stock | 100mW 330? 75V Thick Film Resistor ±100ppm/? ±1% 0603 Chip Resistor - Surface Mount RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C105881\.html | |||||||
| 36 | C2875591 | IND-SMD_L4.7-W4.7 | - | 2 | CDH4D28N-100M | MINGSTAR | 5 | 0.1803 | 0.90 | C2875591 | SMD,4.7x4.7mm | 5 | 5 | 2500 | 2505 | In Stock | 1A 10uH ±20% 128.3m? SMD,4.7x4.7mm Fixed Inductors RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C2875591\.html | |||||||
| 37 | C436534 | IND-SMD_L5.4-W5.2_PSPMAA0503 | - | 1 | PSPMAA0503-3R3M-ANP | PROD Tech | 5 | 0.1292 | 0.65 | C436534 | SMD,5.4x5.2mm | 5 | 5 | 2000 | 4805 | In Stock | 5A 3.3uH ±20% 6A 38m? SMD,5.4x5.2mm Fixed Inductors RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C436534\.html | |||||||
| 38 | C7436545 | SOD-123_L2.8-W1.8-LS3.9-FD | - | 4 | MBR0530T1G | FUXINSEMI | 10 | 0.0162 | 0.16 | C7436545 | SOD-123 | 10 | 10 | 3000 | 5700 | In Stock | Diode Independent 30V 0.5A Surface Mount SOD-123 | Exact Matches | https://www\.lcsc\.com/product\-detail/C7436545\.html | |||||||
| 39 | C110921 | SOD-123F_L2.8-W1.8-LS3.7-RD | - | 1 | PMEG2010AEH,115 | Nexperia | 5 | 0.2158 | 1.08 | C110921 | SOD-123F | 5 | 5 | 3000 | 5360 | In Stock | Diode 1 Independent 20V 1A Surface Mount SOD-123F | Exact Matches | https://www\.lcsc\.com/product\-detail/C110921\.html | |||||||
| 40 | C150716 | SOT-223_L6.7-W3.5-P2.30-BR | - | 3 | AP2114H-3.3TRG1 | DIODES | 5 | 0.1763 | 0.88 | C150716 | SOT-223 | 5 | 5 | 4000 | 14765 | In Stock | 3.3V Positive Fixed SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C150716\.html | |||||||
| 41 | C15651 | SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BL | - | 3 | RT9193-33GB | RICHTEK | 5 | 0.1271 | 0.64 | C15651 | SOT-23-5 | 5 | 5 | 3000 | 0 | Backordered | 3.3V Positive Fixed SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C15651\.html | |||||||
| 42 | C3013946 | WIRELM-SMD_ESP32-S3-WROOM-1U | - | 1 | ESP32-S3-WROOM-1U-N16R8 | ESPRESSIF | 1 | 5.5217 | 5.52 | C3013946 | SMD,19.2x18mm | 1 | 1 | 650 | 0 | Backordered | 2.4GHz ESP32-S3R8 -103.5dBm SMD,19.2x18mm RF Transceiver Modules and Modems RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C3013946\.html | |||||||
| 43 | C113659 | VSSOP-8_L3.0-W3.0-P0.65-LS5.0-BL | - | 1 | TPS61085DGKR | TI | 1 | 0.5915 | 0.59 | C113659 | VSSOP-8-0.65mm | 1 | 1 | 2500 | 4530 | In Stock | Boost Adjustable 2.8V |
Exact Matches | https://www\.lcsc\.com/product\-detail/C113659\.html | |||||||
| 44 | C664389 | SOT-23-5_L3.0-W1.6-P0.95-LS2.8-BL | - | 1 | LT1615IS5#TRPBF | ADI | 1 | 6.0924 | 6.09 | C664389 | TSOT-23-5 | 1 | 1 | 2500 | 143 | In Stock | Boost Adjustable 1V |
Exact Matches | https://www\.lcsc\.com/product\-detail/C664389\.html | |||||||
| 45 | C3293144 | SW-SMD_8P-L6.7-W5.4-P1.27-LS8.4 | - | 1 | DSHP04TSGER | kangshen | 4 | 0.5202 | 2.08 | C3293144 | SMD,P=1.27mm | 4 | 4 | 2000 | 29172 | In Stock | Dip Switch SPST 4 Position Surface Mount-8P,5.4x6.6mm 25mA 24V | Exact Matches | https://www\.lcsc\.com/product\-detail/C3293144\.html | |||||||
| 46 | C963206 | SW-SMD_MK-12C02-G020 | - | 2 | MK-12C02-G020 | G-Switch | 5 | 0.1168 | 0.58 | C963206 | SMD,6.6x1.4mm | 5 | 5 | 3000 | 9555 | In Stock | Slide Switch SPDT 1A @ 6V Surface Mount, Right Angle Rectangular Columnar 6.6mm | Exact Matches | https://www\.lcsc\.com/product\-detail/C963206\.html | |||||||
| 47 | C720477 | SW-SMD_L3.9-W3.0-P4.45 | - | 2 | TS-1088-AR02016 | XUNPU | 10 | 0.0538 | 0.54 | C720477 | SMD,4x3mm | 10 | 10 | 4000 | 582850 | In Stock | Tactile Switch SPST 160gf 2mm SMD (SMT) Tab 4mm x 3mm Surface Mount | Exact Matches | https://www\.lcsc\.com/product\-detail/C720477\.html | |||||||
| 48 | C2856796 | FPC-SMD_6P-P0.50_XUNPU_FPC-05F-6PH20 | - | 3 | FPC-05F-6PH20 | XUNPU | 5 | 0.1000 | 0.50 | C2856796 | SMD,P=0.5mm,Surface Mount,Right Angle | 5 | 5 | 2000 | 66135 | In Stock | FFC/FPC Connector 6 Position 0.5mm Pitch Bottom Contact Surface Mount, Right Angle -25?~+85? | Exact Matches | https://www\.lcsc\.com/product\-detail/C2856796\.html | |||||||
| 49 | C240840 | 4PIN_FAN_PWM | - | 1 | 470531000 | MOLEX | 5 | 0.1803 | 0.90 | C240840 | Through Hole,P=2.54mm | 5 | 5 | 1000 | 21670 | In Stock | Connector Header 4 position 2.54mm Pitch Through Hole | Exact Matches | https://www\.lcsc\.com/product\-detail/C240840\.html | |||||||
| 50 | FLASH | - | 1 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |||||||||
| 51 | C3446015 | FPC-SMD_XUNPU-FPC-0.5FX-24PWBH20 | - | 1 | FPC-0.5FX-24PWBH20 | XUNPU | 5 | 0.1424 | 0.71 | C3446015 | SMD,P=0.5mm | 5 | 5 | 2000 | 3065 | In Stock | Hinged Lid -25?~+85? 24P 0.5mm 500mA 50V Tin Bottom Contact Surface Mount, Right Angle Phosphor bronze SMD,P=0.5mm FFC, FPC (Flat Flexible) Connector Assemblies RoHS | Exact Matches | https://www\.lcsc\.com/product\-detail/C3446015\.html | |||||||
| 52 | C219228 | LED-SMD_L1.6-W0.8-RD-WHITE-2 | - | 1 | HL-PST-1608H233W(8000-12000K) | HONGLITRONIC | 20 | 0.0197 | 0.39 | C219228 | 0603 | 20 | 20 | 4000 | 73360 | In Stock | White LED Indication - Discrete 3.3V 0603 | Exact Matches | https://www\.lcsc\.com/product\-detail/C219228\.html | |||||||
| 53 | https://www\.aliexpress\.com/item/1005009258276115\.html | 4.2”E-INK | - | 1 | GDEY042T81-T02 | GooDisplay | 1 | 22.46 | 22.46 | - | - | - | - | - | - | - | - | ALIEXPRESS | ||||||||
| 54 | C3289597 | SOT-323_L2.0-W1.3-P1.30-LS2.1-BR | - | 1 | SI1308EDL-T1-BE3 | VISHAY | 1 | 0.4041 | 0.40 | C3289597 | SC-70-3 | 1 | 1 | 3000 | 2243 | In Stock | N-Channel 30V 1.5A 0.5W Surface Mount SC-70-3 | Exact Matches | https://www\.lcsc\.com/product\-detail/C3289597\.html | |||||||
| 55 | https://www\.aliexpress\.com/item/1005008474655738\.html | 24 PIN FPC CABLE | - | 1 | - | - | - | 0.99 | 0.99 | - | - | - | - | - | - | - | - | ALIEXPRESS | ||||||||
| 56 | https://www\.aliexpress\.com/item/1005006672233038\.html | - | SEN55 | - | - | 1 | - | - | SEN55 | Sensirion | 38.43 | 38.43 | - | - | - | - | - | - | - | - | ALIEXPRESS |
Changelog
06/30/2026
New Housing/Case. Improved viewing angles, fits larger sensors, looks much better.
03/31/2026
Optimise PCB size under 100mmx100mm for cheaper fabrication costs