From Breadboard to Custom PCB in One Weekend
A developer with only firmware experience from a decade ago decided to build a custom PCB. The goal: replace a commercially available BME280 sensor breakout board with a hand-designed, hand-soldered module. The result? First-try success.
Why Not Just Use a Dev Board?
The author started with an Arduino Nano ESP32 dev board, got an LCD and BME280 sensor working over I2C, but wanted to move beyond breadboard prototyping. Instead of recreating the entire Arduino board, they focused on the sensor module—a simpler, self-contained project that could be swapped in without firmware changes.
Tooling: KiCad Over EasyEDA
For schematic capture and PCB layout, the author chose KiCad because it's free, GPL-licensed, and runs on macOS. The BME280 datasheet (pages 38+) provided the I2C connection diagram. The author transferred that directly into KiCad, creating a schematic with the sensor, pull-up resistors, and decoupling capacitors.
Footprint selection required learning SMD sizing codes. The author chose 0805 resistors and capacitors—small enough for compact boards but large enough for hand soldering. The BME280 sensor itself uses a standard 8-pin LGA package.
PCB Layout: Ground Fill and Vias
In the KiCad PCB editor, all traces were routed on the top layer. The author added ground fills on both layers and connected them with vias—a common technique to simplify routing and reduce noise. The resulting board is a two-layer design, roughly 15mm x 18mm.
Ordering: JLCPCB Under $10
Gerber and drill files were exported from KiCad with default settings. The author uploaded them to JLCPCB, a Chinese manufacturer. Order-to-door took 2–3 weeks and cost under $10. No assembly service was used—the author wanted to hand-solder.
Component Sourcing: DigiKey and Desoldering
Most components (resistors, capacitors, header pins) came from DigiKey. The BME280 sensor was out of stock everywhere with multi-month backorders, so the author desoldered it from the original Amazon breakout board. This is a practical workaround when specific ICs are scarce.
Assembly: Hakko Iron and Quick Hot Air Station
The author used two tools:
- Hakko FX888DX-010BY soldering iron at 650°F (343°C)
- Quick 861DW hot air station at 250°C, airflow setting 15
Solder paste was applied to pads, components placed, and the board heated with the hot air gun. The BME280 sensor was the trickiest part—8 pads underneath, invisible during soldering. The author relied on flux and surface tension to align the chip.
Total assembly time: 15 minutes.
Results: Plug-and-Play on First Try
The custom board worked immediately when plugged into the same I2C bus. No firmware changes, no debugging. The author attributes success to careful schematic copying from the datasheet and proper ground fill.
What's Next?
The author plans to design a single board combining the ESP32, LCD, and BME280—a more complex project requiring power regulation and programming interface. The experience proved that custom PCBs are accessible to any developer willing to read datasheets and learn KiCad.



