Skip to content

Complex Build - ESP32

ESP32-WROOM-32 was selected as the microprocessor for the EX-CSB1. Although folks are encouraged to use the EX-CSB1, the information on this page should assist in building an ESP32-based DCC-EX EX-CommandStation.

ESP32 Wroom Only!

The only Espressif ESP32 microprocessor we support is the ESP32 Wroom. Espressif has released numerous ESP32 modules and variants (S2, S3, C3 etc.) but these are NOT supported. Other variants do not have the necessary RMT hardware, or do not have enough such hardware to run EX-CommandStation.

Advantages and Disadvantages of the ESP32

ESPDuino-32

  • ESP32-WROOM-32 advantages:

    • Built-in WiFi
    • Memory
    • Sniffer/Booster capable (with additional optocoupler circuit)
  • ESP32-WROOM-32 is more complex than using the Arduino Mega. Disadvantages include:

    • GPIO pin numbers are used (vs. Arduino style pin location numbers)
    • ESP32 pins are not 5V tolerant
    • I2C bus is 3.3V
    • Soldering is required to modify the WeMos D1 R32/ESPDuino-32 board
    • Modifications are required for motor shields to protect ADC input pins
    • ADC input range begins at 0.15V
    • ESP32 Espressif boards package version 2.0.17 is required

ESPDuino-32

Known Working Boards

WeMos D1 R32

  • WeMos D1 R32/ESPDduino-32 has the Uno form factor.
  • WeMos D1 R32 boards have some obvious hardware errors:

    • Pullup voltage to the IO0 pin is too high (4.2v instead of 3.3-3.8v) which leads to unreliable WiFi.
    • IOREF pin does not output 3v3, but instead breaches the UNO R3 specification and outputs 5V.
    • A0 and A1 pins cannot be used for ADC input when WiFi is used.

See the ESP32 Reference pages for more information.

ESP32-WROOM-32 Development boards

ESPDuino-32

There are several other ESP32-WROOM-32 boards with the Uno form factor which work. These require a custom motor define when there are differences in GPIO pin locations.

  • ESP32-WROOM-32 Development boards come in various sizes and pin configurations.
  • 38-pin and 30-pin boards are common.
  • Only the ESP32-WROOM-32 variants can be used.

See ACEBOTT ESP32 Max v1.0 + EX8874 or Keyestudio IOT ESP32 PLUS Development Board + EX8874 for two of the known working boards.

Reference ESP32

TODO move legacy docs