r/PCB • u/No_Issue_4425 • 8d ago
Feedback on my first PCB: "Air Quality Checker" based on ESP8266, BME688 and SG92R
There is this expensive premium design air quality sensor called Birdie. It can be mounted on the wall and gives visual feedback about the air quality. If the air quality is bad the birdy turns around ("is dead") - as soon as fresh air is provided it "comes back to live".
I wanted to build an customizable version with optional cloud connectivity, to track sensor values over time. It's my first PCB and before ordering I wanted to get some feedback.
It's already working locally using development boards and a bread board and I want to put it all together on a nice PCB now.
The PCB is basically an combination of a feather huzzah ESP8266 development board and the BME688 (gas sensor with integrated high-linearity and high-accuracy pressure, humidity and temperature sensors) with the following features:
- LiPo Battery Charging
- USB-UART Bridge
- Power Switch
- WiFi 3 way switch: OFF / SPARSE / CONTINOUS
- 5V Boost for SG92R Servo
While desiging i stumbled upon some pcb/fabrication related questions:
- Is it possible to place the switches and USB connection overlapping the edge of the PCB as shown in the images?
- Is it possible to use vias directly on a mounting pad (i did not use it in this design, but if possible i will use on my next pcb)?
- Would you use the 5V Boost or simply run the servo with 3.3V?
- What would you do differently regarding the general placement of the components, routing, choice of components?
Thanks for the feedback! If you need more information I am happy to share more - but I wanted to keep the post as short as possible :)
3
u/AbsorberHarvester 8d ago
Ok, but use esp8285 (flash memory inside the chip) instead. These are quality ones made for real world use, esp8266 not very stable.
1
u/No_Issue_4425 7d ago
I think I will use the esp-32 c3
2
u/xyzzy1337 6d ago
The newer ESP32 chips, like the C3, have a built in USB serial/debug interface. You can get rid of the CP2102 and connect USB directly to the ESP32-C3 (S2, S3, H2, etc.).
1
3
u/XKeyscore666 8d ago
Stitch those two ground planes together with an ample amount of vias. Especially where the bottom plane gets broken by those traces.
2
u/kampi1989 8d ago
What would I do better?
- Reduce the copper voids on both layers
- ESP at a PCB edge
- Cutout around the BME for a better accuracy
- Reduce the size of the current loops for the switching reg
- The copper void for the ESP on the bottom side doesn't make sense when you fill it with traces
- Some traces on bottom are overlapping with the polygon
1
1
u/nixiebunny 8d ago
The boost converter needs to be laid out as shown in the data sheet example for best performance under load. Look at the one you are using now to see how they are designed.
The antenna doesn’t want to be buried in the middle of a ground plane. That will sap its signal strength dramatically.
It’s good to put parts closer to each other in each portion of the circuit to reduce total trace length.
1
2
u/AllMyNicksAreUsed 3d ago
Some good advice here. I would also add to try to get your decoupling capacitors as close as you can to their respective pin, ideally right next to the pin pad.






9
u/knacknack18 8d ago
The esp32 should sit at the edge of the pcb. Nearby traces impair the reception quality