Support unsupported boards

Hello, I want to support new boards with RIOT(specifically the HUZZAH32,SParkfun ESP32 thing).I was told not to use the esp32-wroom-32 or any other files for this task and to create one of my own.Is there any tutorial or maybe something like it on GitHub?A paragraph I found on your site did not help me that much. Should I “copy and adjust” the already existing files for other boards. Thank you in advance.

Hi,

I don't see any reason why not to start with an existing board definition and to change it as required.

Sparkfun ESP32 Thing and HUZZAH32 are quite generic boards like the many others that have nothing else on board than the ESP32, e.g., all ESP32 DevKit clones (esp32-wroom-32) or the MH-ET LIVE MiniKit for ESP32 (esp32-mh-live-minikit).

These board definitions are a good starting point. The only task is to redefine what GPIO is used for LED and what GPIOs are used for I2C, SPI and other peripherals. I would suggest to use esp32-mh-live-minikit since it also has a LED.

HUZZAH32 (from schematic)   LED0_PIN GPIO5   LED0_ACTIVE 1   I2C0_SCL GPIO22   I2C0_SDA GPIO21   SPI0_SCK GPIO5   SPI0_MISO GPIO19   SPI0_MOSI GPIO18   SPI0_CS0 your choice   DAC_GPIOS GPIO 25, 26   ADC_GPIOS GPIO 4, 2, 0, 15, 13, 12, 34, 35, 25, 26, 36, 39

Sparkfun ESP32 Thing   LED0_PIN GPIO5   LED0_ACTIVE 1   everything else is your decision

Of course, you have to decide which GPIOs can be used as ADC_GPIOS, DAC_GPIOS and PWM0_GPIOS. Please not that GPIOs can be assigned to differen functions, but once they are used with an init function, their usage is fix.

I hope this helps.

Regards Gunar