Custom ESP32 Board bringup with Ardunio


Ever wondered how you would support the Arduino platform bring up when your custom board is different than the ExpressIF devC board. If you have just started working on the platform here are the top three challenges you would come across:
1. Arduino pin numbers mapping with board pins.

Ardunio maps the pins based on the GPIO’s of the ESP32. Many a time young engineers get stuck when they create software and it does not work.

2. Program and reset the assertion sequence on the board.

ESP32 needs the GPIO0 set to low so that ESP32 can enter in the program state. This is done at power-up and after programming, the GPIO0 pins need to be driven high.









3. Pins numbers different than Ardunio standard pins.

Ever wondered if the i2c pins or other function pins are different than the Arduino defined pins on board. For instance, esp32 assumes that the i2c pins are set at 5, 6 by default always. Most of the young engineers do wonder how they would connect the pins which in case of esp32 click board was on 22 and 23. For i2c the code attached can be used to quickly scan the i2c bus.