PlatformIO Community

ESP32 board selection

I have ESP32 wroom board, This name not shown in project wizard, can anyone tell me what to select ??

There’s a billion of them, which one? I would just choose any board with a WROOM chip on it, e.g. the “Espressif ESP32 Dev Module”.

In addition to what Max said, if you really, really, really want it to say WROOM in the name… you could use the ESP-WROOM-02! :laughing: The board list filters… so when you start typing wro it comes up as the top match :stuck_out_tongue:

Lets not go there…

But that’s an ESP8266 board not ESP32 :sweat_smile:.

1 Like

Potato… podato… can’t be too picky…

Oops! :zipper_mouth_face: :laughing:

The exact name , printed on board is ESP-WROOM-32. this name is not available in board list.

The exact name , printed on board is ESP-WROOM-32. this name is not available in board list.

That is probably the name of the module, not the board… i.e. From Espressif’s own data sheet for the ESP32-WROOM-32…

image

Hence why Max (correctly) suggested to use any of the board definitions for a board with a ESP32-WROOM-32 module on it… such as the “Espressif ESP32 Dev Module”.

1 Like

Thanks dear,
It works.

Now pl. tell me,
there are two type of framework option available
Arduino and Espressif IoT development framework

which is better ?

1 Like

Fantastic!

Now, that really is a controversial question! :laughing:

I’m biased (or perhaps simply lazy)… and would say that Arduino is the best… or more specifically, easiest. There are plenty of code examples and libraries to do just about anything you want. I don’t think that the ESPIDF framework is anywhere near as well supported by examples and such, but do I believe it is the more powerful framework, giving more control over the processor, but with more control comes complexity. It really depends on what you want to do. And even better, PlatformIO will let you use both if you need! :wink:

I am not afraid of complexity, because , till date (since 30 yrs) I am working with assembly language for AVR mcu.
As per my understanding, Arduino is not capable for multitask / multi-threading.
Mostly it is used by students, I never seen any commercial application made with Arduino.

Am i right ?

1 Like

Not true. This has to be checked per Arduino core. The Arduino-ESP32 core is based on ESP-IDF - it’s an extension of it. Therefore it has access to all the FreeRTOS functions that ESP-IDF has. And ESP32’s FreeRTOS version is quite powerful with its symmetric multiprocessing (SMP) support.

See e.g. blog post.

Other cores may not have such support – the Arduino AVR core for example.

1 Like

Yes you are right. I know about Arduino due to AVR, and I provided such solutions with my own library and drivers, For AVR, arduino is not capable for multitasking application. but I am using ESP32 , first time, so I dont know about arduino’s performance for ESP32

Now - I need to go from development fumbling around with the esp-wrover-kit - to production and needs to select a ESP32 board.
To be practical I looked into DigiKey to see what boards I could select.
Now finding a board which is not development is not that easy.
In order to have a long range I have my eyes on the ESP32M4 from Fanstel Corp (DigiKey pn 1914-ESP32M4CT-ND).
I have learned that this chip is a exact clone of the ESP32-WROOM-32D with the same footprint.
My question is:
I have seen the billion boards in platformIO device list, but how do I find the ESP32M4 ? :roll_eyes:

Since your module has a ESP32-D0WD (same as in the ESP32-WROOM-32D chip on the Espressif ESP32 dev module) and a 4MB flash chip (IS25LP032-JBLE) you should be fine with the standard ESP32 dev module definition linked above.

The ESP32M16, ESP32M4, ESP32E16 WiFi Modules — Fanstel page literally says

ESP32M4, WiFi module, -40C to +105C, 4MB flash

ESP32-WROOM-32D clone with operating temperature range -40C to +105C, +24 dBm Max WiFi TX power, 4 MB flash memory.

So you should be perfectly fine with that board definition.

Thanks for the advice. I don’t know where to post this next issue.

I have now build my own board (schematics enclosed) with the ESP32M4 chip and try to change the PIO.ini file to the new board
[env:esp32dev]
Schematics ESP32

The PIO seems not to accept/change from the eps-wrover-kit to the new ESP32M4 chip.

The output is as follows:
The task will be ignored.
Error: The PlatformIO task detection didn’t contribute a task for the following configuration:
{

  • “type”: “PlatformIO”,*
  • “task”: “Build (esp-wrover-kit)”,*
  • “problemMatcher”: [*
  •    "$platformio"*
    
  • ],*
  • “group”: “build”,*
  • “label”: “PlatformIO: Build (esp-wrover-kit)”*
    }
    The task will be ignored.

My PIO.ini is as follows:

platform = espressif32
board = esp32dev
; change microcontroller to ESP32M4
board_build.mcu = esp32
; change MCU frequency
board_build.f_cpu = 240000000L
debug_tool = esp-prog
upload_protocol = esp-prog
framework = arduino
debug_speed = 2000
upload_port = COM[39]

Any help will be greatly appreciated

OK - guys. I am getting wiser. The above schematic was wrong. The Pin’s for the LED’s were illegal. I enclose a better schematic
image
The above schematic is working with ESP-PROG.
I enclose my platformIO.ini:

[env:esp32dev]
platform = espressif32
board = esp32dev
; change microcontroller to ESP32M4
board_build.mcu = esp32
; change MCU frequency
board_build.f_cpu = 240000000L
debug_tool = esp-prog
upload_protocol = esp-prog
framework = arduino
debug_speed = 20000
monitor_speed = 115200
upload_port = COM[71]