Hello, Can you help me with instructions how to setup my platformio.ini for developing for the BPI-Centi-S3 board? Thanks!
Forgot to mention that I am developing with C, Arduino framework. Thanks!
Can anybody help with that? Thanks!
If a board is not explicitly listed, I would first try a “standard board” that comes closest to the technical specifications.
The esp32-s3-devkitm-1
(ESP32-S3 with 8MB Flash) would be a good choice here.
As the BPI-Centi-S3 has PS-RAM, which the esp32-s3-devkitm-1 does not have, the setting -DBOARD_HAS_PSRAM
must be set.
The platformio.ini
should then look something like this:
[env:esp32-s3-devkitm-1]
platform = espressif32
board = esp32-s3-devkitm-1
framework = arduino
build_flags =
-DBOARD_HAS_PSRAM
Thanks for your help! I will test that.
A guy on another forum wrote that I should use the BPI-Leaf-S3 (it is defined by PlatformIO as one of the supported boards). He claimed that the hardware is similar to the BPI-Centi-S3. I tried it but it does not work…
Providing a detailed description of what exactly is not working is always helpful and much appreciated
I am just trying to use an example provided by them to draw on the screen:
Nothing works. I get a blank screen…
The compilation and upload seem to work after all.
Now the cause needs to be narrowed down a little more.
Does a simple “Hello World” sketch work?
#include <Arduino.h>
setup() {
Serial.begin(115200);
Serial.println("Hello World");
}
void loop() {}
I did not yet tried. Will do… Thanks!
Even that short code you proposed did not work.
I tried contacting the manufacturer for help but nothing…
I then tried using your suggested platformio.ini (instead of using bpi_leaf_s3) but strangely, I got the below error when compiling:
UnknownBoard: Unknown board ID ‘esp32-s3-devkitm-1’
Any additional suggestions? Thanks a lot!
Which version of the Espressif32 Framework are you using? The current version is 6.5.0 and the board is available in this version:
Please check the installed platform version:
Open a PIO-Terminal and use the following command:
pio pkg update -p espressif32
Close VS-Code
Delete the platform folder “espressif32” (on windows it is located at C:\Users\<username>\.platformio\platforms
)
Restart VS code and open your project.
Wait until PlatformIO finished reinstalling the platform.
Deleted the folder, re-opened VSCdoe, following setup it is now 6.5.0.
Code now compiles OK, except the following warning:
Compiling .pio\build\esp32-s3-devkitm-1\FrameworkArduino\wiring_shift.c.o
C:/Users/motti/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c: In function ‘uartSetPins’:
C:/Users/motti/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:153:9: warning: ‘return’ with no value, in function returning non-void
return;
^~~~~~
C:/Users/motti/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:149:6: note: declared here
bool uartSetPins(uint8_t uart_num, int8_t rxPin, int8_t txPin, int8_t ctsPin, int8_t rtsPin)
^~~~~~~~~~~
Uploaded to the board, still getting nothing from the Serial
This is really frustrating to get a board that looks promising but with 0 support from the manufacturer.
Any additional thoughts/ideas to check/test?
Okay, at least we’re one step closer
The warning message can be ignored, it has no effect.
As I can see from the BPI-Centi-S3, it uses the built-in USB interface and not a USB to Serial converter like many other boards does.
You may need to add this to your platformio.ini to enable serial functionality:
build_flags =
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
After flashing the ESP, it will reboot. This may cause the serial USB interface to be temporarily disconnected (meaning the com port will disappear for a short time).
Following using the following ini file:
[env:esp32-s3-devkitm-1]
platform = espressif32
board = esp32-s3-devkitm-1
framework = arduino
monitor_speed = 115200
build_flags =
-D BOARD_HAS_PSRAM
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
NOTHING
BTW, to enable uploading to the board, I had to use the boot-reset buttons combination.
Maybe after the compilation completes and the upload is done, I need to do somthing with these buttons in order to enable the serial communication?
Maybe after the compilation completes and the upload is done, I need to do somthing with these buttons in order to enable the serial communication?
Apart from a reset (which normally happens automatically after the upload), I can’t think of anything.
Tomorrow I might have an ESP32-S3 board with USB available and could do my own tests to find the right settings for you.
In the meantime you could try these settings:
-DBOARD_HAS_PSRAM
-DARDUINO_USB_MODE=0
-DARDUINO_USB_CDC_ON_BOOT=0
After the upload, observe whether the available COM ports change.
- Compiled using the changed ini file.
- Got the following warning on many of the files:
: warning: “ARDUINO_USB_MODE” redefined - Still NOTHING
Will highly appreciate your continued h