How to turn an ESP32 breadboard project into a finished device
Keep the dev board, move the jumper wires to something that cannot shake loose (soldered perfboard or your own PCB), give it a case made for your exact board, and power it from one USB-C port. For a single device, a dev board in soldered headers on perfboard inside a printed case is usually enough; your own PCB pays off when you want several copies or the wiring gets too dense to solder by hand.
If you would rather not do the soldering and CAD yourself, Protoship's Finish my build does these steps on your own hardware for a fixed price. The rest of this page is the do-it-yourself route.
The four decisions
- Wiring
- Jumper wires on a breadboard, soldered perfboard, or a PCB you order. Each step is more permanent and harder to change.
- Case
- A printed case made for your exact board, with openings where the USB plug, buttons and display are.
- Power
- One USB-C port at 5 V for everything, with enough current for Wi-Fi peaks.
- Firmware
- The code that runs today, flashed again and tested after assembly, with the pins it uses written down.
1. Freeze what works
Before you take anything apart, commit the firmware, take a photo of the breadboard from straight above and write the wiring down as a list: module pin to board pin, one line each. That list is what you solder from and what you check in the next step.
2. Check the pins before you solder
A breadboard build can work by luck. A pin that is also a strapping pin may behave until something pulls it the wrong way at reset, and an analog pin on ADC2 stops working once Wi-Fi is on. Check every used pin against the board's strapping, flash and input-only pins; the full list is in ESP32 pins to avoid.
3. Perfboard or your own PCB
Perfboard: right for one device
Solder female headers onto perfboard and plug the dev board in, so it stays replaceable and keeps its USB port. Solder the modules next to it or give them connectors. Route wires on the back, keep the I2C lines short, and check each joint against your wiring list with a multimeter before you plug the board in.
Your own PCB: right for several copies
A carrier PCB holds the dev board in headers and the modules or their connectors in fixed places. You draw it in KiCad or another EDA tool and export Gerber files. Prices for bare boards, checked 4 Nov 2026:
| Maker | Boards | Price | Build and shipping to Germany |
|---|---|---|---|
| JLCPCB | 5, 2-layer, 100×100 mm | $4.00 | Built in 2 days; Global Standard Direct Line $7.04, 9–11 business days |
| AISLER | 3, 2-layer, 100×100 mm, Budget | €40.50 incl. VAT | Dispatched within 10 business days; free shipping inside Germany, no customs |
Having the parts assembled adds a bill of materials, a placement file and fees. The full numbers for JLCPCB, PCBWay, AISLER and CircuitHub are in one-off PCB assembly compared, and the trade-off against having the build finished is in order a PCB yourself or have it built.
4. The case
Start from a model made for your board, then measure the real board, because boards sold under the same name differ. The openings must fit the USB plug, not just the socket, and you need a way to reach the reset and boot buttons for recovery. PLA softens above 60 °C; PETG is the safer choice for anything near a window or a heater. Sources and measurements are in ESP32 case.
5. Power
Power everything from one USB-C port at 5 V. If your board's USB-C port lacks the two 5.1 kΩ resistors on the CC pins, a USB-C charger with a C-to-C cable gives it no power. Wi-Fi transmit peaks reach several hundred milliamps, and servos or LED strips need their own 5 V path rather than the board's 3.3 V regulator. Details and the brownout message are in ESP32 power over USB-C.
6. Flash and test in the case
Flash the firmware again once everything is mounted and test each function with the lid closed: Wi-Fi reach through the case, display readable through the opening, touch calibrated, sensors not warmed by the board next to them.
When to do it yourself, when to hand it off
- Do it yourself
- You own a printer and a soldering iron and enjoy using them, you want several copies, or you will keep changing the hardware.
- Finish my build
- You have one build that works on the breadboard and want it on the wall or the desk. You send your working board, modules and firmware. Protoship designs a case for your exact board, a workshop in Germany builds everything in, tidies the wiring, flashes and tests your firmware and sends it back as a finished USB-C device. You get a fixed price before you ship; a typical build costs about 180 € in Germany including VAT and return shipping and takes about three weeks.
Finish my build covers devices that run on USB at 5 V. It is an individual build service on your own hardware: no mains voltage, no lithium batteries, and radio stays on your existing board or module; we do not solder radio modules.
Let your agent check it
Your agent can do the pin check from step 2 before you solder: check_project reads your GitHub repo or ESPHome, PlatformIO or KiCad file and lists the board, the modules and every used pin against the board's strapping, flash and input-only pins, plus the power envelope. estimate_build gives cost and lead-time ranges for ordering boards yourself versus having the build finished. Connect the Protoship MCP server once:
claude mcp add --transport http protoship https://mcp.protoship.dev codex mcp add protoship --url https://mcp.protoship.dev
An agent without MCP calls GET https://protoship.dev/api/check?url=… with the link to your repo or config file.
Questions
Do I need a custom PCB to make an ESP32 project permanent?
No. For one device, the dev board in soldered female headers on perfboard, inside a case made for it, is permanent enough and keeps the board replaceable. A custom PCB pays off for several copies or wiring too dense to solder by hand.
How much does a first PCB cost?
Checked 4 Nov 2026: JLCPCB lists five 2-layer 100×100 mm boards at $4.00 plus $7.04 Global Standard Direct Line shipping to Germany; AISLER lists three at €40.50 including VAT with free shipping inside Germany. Assembly costs extra.
Can I keep using the dev board's USB port in the finished device?
Yes. If the case has an opening lined up with the port that fits the cable's plug, the dev board's own USB port keeps powering and flashing the device.
What does Finish my build cost and how long does it take?
You get a fixed price for your build before you ship anything. A typical build costs about 180 € in Germany including VAT and return shipping, and the device is back about three weeks after it reaches the workshop.
Finish my build Let your agent check your project
Sources
Read on 4 November 2026.