How to make your own ESP32 breakout board with minimal circuit

Summary:       ESP32 became one of the most common MCU due to its versatile functions. In this tutorial, we will learn how to make a breakout board for your ESP32-WROOM, with its minimal needed circuitry.


ESP32 became one of the most common MCU due to its versatile functions. In the past years, this MCU fell in the taste of the IoT developers and hobbyists. ESP32 integrates a rich set of peripherals, ranging from capacitive touch sensors, Hall sensors, SD card interface, Ethernet, high-speed SPI, UART, I²S, and I²C. This MCU is commonly found in his module version ESP32-WROOM. The figure below shows the sketch of the ESP-WROOM module. 



As you can see, the module has castellated side pins, making it a good choice for hobbits. Because of that, in this tutorial, we will learn how to make a breakout board for your ESP32-WROOM, with its minimal needed circuitry. It is also good to note that this circuit is the base design for any ESP32 breakout board, so you can reuse it for your future PCBs. 


Step 1

Open Proteus software and go to the Pick Device window. You can open this window by clicking the icon on your left (red arrow). Once it opens, type in the Keyword tab “ESP32”. As I already have it in my library, it appears solo.





If you don’t have it in your library, you can click on the yellow bar on the bottom of the Pick Device window. Once you click the yellow bar, a list of components will appear. All of them are ESP32, they differ by the size of the flash memory and layout. We are using in this tutorial the ESP32-WROOM-32D 4Mb. The figure below shows the selected one. 


To add in your schematic, you just need to click ok and double-click the select one. 

Step 2



ESP32-wroom needs few connections to work. These connections are VDD, Ground, Enable, and Io0. VDD and Ground are obviously power pins, so we only need to add external components for Enable and Io0. Enable must be set to 3.3v in order to let the chip run, by adding a push-button, we can send Enable to the ground, allowing the reset of the ESP32. Io0 sets the module in program state when LOW, for example, to program ESP32-wroom, you just need to set Io0 to ground and then set Enable pin also to ground. By adding a push button and a pull-up in Io0, you can control when to program your module. 

Now, repeat Step-1 and add the push-button PT636 SK25J SMTR, 10K resistors, and a 4-pin connector. After that, rearrange and connect the components. The figure below shows how your circuit should look like 




Step 3

Now that we have the basic connection of the ESP32, we need to place the connector for programming and power. As the ESP32 wroom module already comes with a bootloader, you can program it using only UART. Go to Terminal Modes -> BIDIR and place four terminals. Connect two in the connector and the other two in the TX and RX of the ESP32. Now, right-click on the BIDIR terminal and go to Edit Properties and type TX then repeat the same for RX.








You should now have something similar to the figure below. 


Step 4

Now let’s insert the LEDs for indication and power regulator. Repeat Step 1 and place LM1117, TBLOCK-l2, 10uF cap, 47uF cap, 300 ohms res, and a LED (in this tutorial LTST-C191KRKT).




Now build the following circuit shown below. 








Step 5

In this step, we will add a BIDIR terminal in all ESP32 pins that were not yet connected.  In this tutorial, each module pin has a respective connector. Place a CONN-SIL10, CONN-SIL18, CONN-SIL6 and have a circuit as shown below:





Step 6


Now, that the schematic is complete, click on the icon shown in the figure below. 



A window will open where you can make the layout of your board. Go to Component Mode and start placing the items that appear on the Component Window. To place the components you just need to select them in the Component Window and click on the layout window. 



Step 7


Now you need to make the board edge. You can do it by going to the Box mode icon, and then selecting board edge in the layer menu. After that, you click on the corner of where you want to make the board edge and drag the mouse.  You should have something like the image below. 



Now click on Autorouter on the top corner and then click Begin Routing. 



By default, it will run a 2-layer connection. 



Step 8

You can visualize the board by going into the 3D viewer window by clicking the icon shown below. 









If you arrive at this point, you now have an ESP32 breakout board circuit/PCB with a minimal circuit connection for your projects.