A software engineer's first PCB: from breadboard to a custom BME280 sensor board
A veteran software developer with only decade-old firmware experience documents building a custom printed circuit board from scratch. After getting an Arduino Nano ESP32 blinking and wiring up an LCD and BME280 temperature/humidity sensor over I2C, they decided to leave breadboard prototyping behind and design a production-style replacement for the BME280 breakout board — a modest scope chosen deliberately over the more ambitious goal of recreating the entire Arduino.
The workflow is a practical tour of the hardware stack for newcomers. Schematics were drawn in KiCad (chosen for being free and GPL-licensed), transcribing the I2C wiring straight from the sensor’s datasheet, then mapping each part to a footprint — the author narrowed to I2C-only rather than cloning the board’s dual I2C/SPI support. They cover the SMD-versus-through-hole tradeoff and standardized package sizes, settling on 0805 as roughly the smallest practical for hand soldering. Layout stayed on a single front layer with ground fills and vias to ease routing.
Sourcing and fabrication expose real-world friction: DigiKey carried everything except the BME280 itself, which was backordered for months, so the author desoldered one from an Amazon module. Gerber and drill files went to JLCPCB, with door-to-door delivery in about 2–3 weeks for under $10. Assembly relied on a temperature-controlled Hakko iron and a hot-air rework station for the smaller surface-mount parts. The piece is less a security story than a clear-eyed account of a software person learning that hardware’s real constraints live in datasheets, footprints, and supply chains.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.