I have released ESP32S-Dev Rev 2.0, and it works even better now than before

ESP32-S DEV Board – Rev 2.0

A few months ago, I started to work on an ESP32-S SOC module in Arduino Uno form factor. This is Revision 2.0 – the ESP32-S Dev Board – Rev 2.0

During the time since I designed, and ultimately had the Rev 1.0 PCB manufactured, It has quickly become one of my go-to development platforms, something that I hoped it would become. It also seemed to be gaining popularity online, with quite a few of them being ordered.

Problems did however arise, as the manufacturer discontinued the SOC module, the AI-Thinker ESP32-S, but, as this was based on the ESP32 WROOM32 from Espressif, which, while still old, was still in production, it was not a serious problem.

Using the Rev 1.0 device was easy enough, but I soon started to experience some irritation, as in my attempts to build a very streamlined device, I left out some add-on components, that now seemed to be a very good idea to have on board…
Let me explain:

In the initial design, I did not include a DC barrel connector, as well as no USB port with a USB-to-serial converter, my argument being that the USB port is usually only used a few times, or at most once, as I usually upload firmware to ESP32’s OTA. Power ( on the bench that is, is usually supplied via a pair of wires, so no dedicated connector seemed to be necessary.

As I proceeded to design addon shields for the device, it became clear that that power connector, at minimum, as well as the standard 2-transistor reset/flash circuit, would be a very very welcome addition to this PCB.

See the pictures below for a comparison of the two boards…

ESP32-S Dev Board Rev 1.0

ESP32-S Dev Board Rev 2.0

I have also decided to use male header pins on this build, as I sort of like to use them more than the female ones ( which seem to develop connectivity issues after a while – this could be due to the quality of the connector strips that I bought)

What changed, and how?

I made quite a few changes, most of them quite subtle.
The most obvious would be the addition of a DC Barrel connector, to allow the device to be powered easier when used as a permanent project. In addition to this, a 6-pin programming header was added, in order to make flashing the device with an external USB-to-serial adapter easier than usual. ( This means that the standard 2-transistor reset/flash circuit was also added). That meant a slight increase in the component count. Additional decoupling capacitors were also added to add voltage stability to the ESP32-S. The routing of the entire board was also changed, with more attention being paid to the heat dissipation of the ESP32-S module, which tended to get a bit hot.

Power is provided by a 3.3v LDO regulator, the same as in the Rev 1.0 hardware.
I do plan to change this to a small buck converter in the near future, as the 800mA provided by the LDO regulator can get a bit limited, especially when using I2S Audio devices, something which I am doing quite a lot over the last few months.

Manufacturing

The PCB for this project was sponsored by PCBWay.

Disclaimer:
Clicking on the PCBWay link will take you to the PCBWay website. It will enable you to get a $5.00 USD voucher towards your first PCB order. (Only if you sign up for a free account).
I shall also receive a 10% commission AT NO COST to you if, and only if, a paid order is generated from the click on this link.

Assembly

This PCB will definitely benefit from using a stencil, but it is not strictly necessary. I did however get one, as I prefer the uniform solder-paste application and speed that they give me.

Stencil for SMD assembly

Component placing took only about 10 minutes in total, including the time needed to place and use the stencil, apply solder paste, select components and place them in their correct positions.

After Solder paste application – Before reflow soldering

The board was then reflow soldered on a hotplate at 223 degrees Centigrade.

After Reflow soldering

The board was inspected for solder bridges and bad joints, and I then proceeded with through-hole component assembly, which took about another 10 minutes.

The completed PCB

Conclusion

This was definitely a very worthwhile revision on a very useful piece of equipment. The addition of the programming header, in particular, already saves quite a bit of time, and the DC Barrel connector opens up new possibilities for the use of the device outside of the “bench” environment.

1 Like

Aren’t the Arduino Uno’s 5V logic at the IO pins? I would think that the reason for using the Arduino footprint would be to also use or have access to all the expansion shields which would be 5V too.

1 Like

Hi,
To answer that, the ESP32 is a completely different microcontroller, actually a SOC ( system on Chip ). The IO pins are all 3.3v, and there are way more of them than on your standard Arduino. I have used the Arduino footprint because the usual ESP32 dev boards are meant to be used on a breadboard, and thus not very friendly for a standalone project. The footprint is a convenient size. I had no particular reason to use it other than that.

As far as the expansion shields go, I have looked at that, and some are definitely possible, but not straight away. Things like level converters etc will most definitely be needed…

For others, the ESP32 already provide some of their functions natively…

It will thus be a thing that I will investigate in future to see what shields are needed and then redesign them to be compatible with this device.

Thank you very much for taking the time to ask a question :slight_smile: You are welcome to ask more if you need :slight_smile:

1 Like

The Due (also the Zero and others) are 3.3v boards sharing the same footprint as the Uno. End result is that there are plenty of 3.3v compatible shields, you just need to check the specs and assume it is 5v until proven otherwise :wink:

The Arduino forums are not my favorite place, but they are useful at times, a reasonable discussion here:

2 Likes

Thanks and while I have a Zero and noticed the v2 Arduino IDE includeds in-circuit debugging for ARM based boards( probably most of the 3.3V boards now like the Zero ) I had thought that the UNO was still the gold standard Arduino board. I can see them wanting to migrate to ARM and 3.3V though.

But the point is well taken, a 3.3V board in the UNO footprint is still considered “standard”. I’ve done a bunch with Nano, pro mini, micro pro, Leonardo, Teensy and ESP32 boards so 3.3 vs 5.0 is always on the mind.

3 Likes

I just posted a reply about ESP32 controllers on another thread, but it’s related to this…

I have a suggestion; if you want to make a MKIII version of this it might be a good idea to add a SD card reader slot (which can be optionally used), connected to the default SPI / SD pins.

I use a ESP32 based controller in my Mini-CNC, which has two ‘tool’ modes (laser and spindle) with two separate configs, I use FluidNC on it and a SD card is needed to host configs, gcode and the Web Interface.

2 Likes

I’ve been leafing through the FluidNC documentation, it’s all been updated since I last visited. There are two very useful pages there for anyone thinking of ESP32 based controllers:

1 Like

Looks interesting, Thank you … will take a detailed look today