Bare ESP-WROOM-32 modules on our own little board: what’s the minimum around them?
I manage facilities for a hotel and I’ve been learning electronics for about a year, so please forgive the level. I built a room temperature/humidity sensor on an ESP32 DevKit + SHT31 that reports to our Hermetry dashboard, and management wants one in each of 40 rooms. The DevKit is huge and ugly on a wall, so a friend suggested designing a small board with just the ESP-WROOM-32 module on it. I ordered 50 modules.
Now I’m looking at the module and realise I don’t know what has to be around it. The DevKit has a USB chip, buttons, a regulator, a bunch of small parts. Which of those do I actually need for a board that sits on a wall and just runs? And how do I even program it without the USB?
Whatever else you do, keep copper and the ground plane away from under the antenna end of the module, and let the antenna hang over the board edge if you can.
Noted! Power would be a 5 V USB phone charger in the wall socket, there’s one near every desk.
We did a board like this for a course project last term, here’s the list we ended with, everything else on the DevKit is nice-to-have:
- 3.3 V regulator good for 500 mA or more. The ESP32 pulls short peaks of several hundred mA when Wi-Fi transmits. We used an AP2112K-3.3; the AMS1117 everyone copies works but runs hot and needs more input headroom.
- 10 uF + 100 nF right at the module’s 3V3 pin, plus a 22 uF or bigger at the regulator output.
- EN pin: 10k pull-up to 3.3 V and 1 uF to ground, so it resets cleanly when power comes up. Without the cap ours booted randomly.
- GPIO0: 10k pull-up and a pad or button to ground. Held low at reset = download mode.
- Leave GPIO12 unconnected or pulled low. If something pulls it high at boot, the module thinks the flash is 1.8 V and won’t start.
- A 6-pin header for programming: 3V3, GND, TX, RX, EN, IO0.
For programming you don’t need USB on every board. Buy one USB-UART adapter (CP2102 or CH340), wire TX to RX and RX to TX, hold IO0 low, tap EN, and flash. Do this once per board. After that use OTA for updates so you never open the wall box again. The sensor on I2C goes on GPIO21/22 like on the DevKit, so your sketch doesn’t change.
Board rev 1 came back from the fab last week. 9 of 10 boot and report to Hermetry, the tenth had a solder bridge. My first attempt had no capacitor on EN and two boards only started when I touched the pin, exactly like you said. Programming with the CP2102 adapter and a pogo clip now.
For the next 30, think about OTA from day one and give each one a sticker with its device name. Climbing to 40 wall boxes to re-flash is a weekend gone.
- Debes estar registrado para responder a este debate.
Únete a la conversación
Inicia sesión para preguntar y responder, dar me gusta a las publicaciones útiles y marcar la respuesta que resolvió tu problema. Cada aportación suma puntos y niveles.

