The esp32-s3 module is already on sale. Will anyone follow up the migration

All ESP32 boards running MicroPython.
Target audience: MicroPython users with an ESP32 board.
Post Reply
wangshujun@tom.com
Posts: 61
Joined: Fri Feb 15, 2019 9:22 am

The esp32-s3 module is already on sale. Will anyone follow up the migration

Post by wangshujun@tom.com » Mon Oct 18, 2021 6:26 am

The data manual and user manual of the chip can be downloaded on espressif website
Flash download tool 3.90 already supports S3 chip
The key pins of the module sold seem to be compatible with esp32 wroom. There are two more pins, which are suspended and do not affect the basic test
I actually replaced a nodemcu module. Flash can erase and burn

User avatar
mattyt
Posts: 410
Joined: Mon Jan 23, 2017 6:39 am

Re: The esp32-s3 module is already on sale. Will anyone follow up the migration

Post by mattyt » Mon Oct 18, 2021 1:49 pm

It's already underway!

The S3 was working but not with PSRAM; Seon (Unexpected Maker) fixed that and sent the small patch to Damien. So the basic system, including the REPL is already working. I'm not sure about peripheral support - a lot should already be working - I haven't been able to actually get my hands on hardware...

stephanelsmith
Posts: 9
Joined: Mon Oct 18, 2021 7:03 pm

Re: The esp32-s3 module is already on sale. Will anyone follow up the migration

Post by stephanelsmith » Mon Oct 18, 2021 8:19 pm

Just got my esp32-s3 samples yesterday. I fired it up and immediately noticed some differences with S2 which I've been working on.

Sharing some information in case it helps others.

The build process I've been using on pico-d4 and s2 didn't work the same for me. For reference I'm on master branch for both esp-idf and micropython. Make the board as usual
make BOARD=#####

But, the normal esptool command I've been using on D4/S2 didn't work for me.
esptool.py -p /dev/ttyUSB0 --baud 921600 write_flash 0x1000 ###################

I would get an "Invalid Header 0xffffffff" error. Tried erasing, flashing, playing with partition tables, ota, etc...

What I needed to do instead was exectue the flash command the the build command spits out at the end. The command is something like this (modified a bit for my use case)
esptool.py -p /dev/ttyUSB0 -b 921600 --chip esp32s3 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x0 build-######/bootloader/bootloader.bin 0x8000 ####/partition_table/partition-table.bin 0xd000 ####/ota_data_initial.bin 0x10000 ####/micropython.bin

Once I did that, I was able to get into the repl and run my application just like on s2.

The only item that did not work for me is bluetooth. When I enable bluetooth in mpconfigboard.h
#define MICROPY_PY_BLUETOOTH (1)

I get compilation errors, eg.
undefined reference to `mp_bluetooth_init'
undefined reference to `mp_bluetooth_gatts_register_service_begin'
undefined reference to `mp_bluetooth_gatts_write'
undefined reference to `mp_bluetooth_gatts_notify_send'
etc....

The bluetooth side of my application works beautifully on PICO-D4. So that's still a missing piece. Not sure if there is a switch somewhere that's not flipped yet or if there's something deeper. Very interested in the BLE 5 support (double speed and coded phy).

wangshujun@tom.com
Posts: 61
Joined: Fri Feb 15, 2019 9:22 am

Re: The esp32-s3 module is already on sale. Will anyone follow up the migration

Post by wangshujun@tom.com » Tue Oct 19, 2021 2:17 pm

Where is the branch warehouse of S3? I have got the available boards and can participate in the firmware test

User avatar
mattyt
Posts: 410
Joined: Mon Jan 23, 2017 6:39 am

Re: The esp32-s3 module is already on sale. Will anyone follow up the migration

Post by mattyt » Wed Oct 20, 2021 12:51 am

Firmware images are not currently published; for now you'll have to build it yourself. The ESP32 README should get you started using board=GENERIC_S3.

wangshujun@tom.com
Posts: 61
Joined: Fri Feb 15, 2019 9:22 am

The attempt to compile failed. The daily update downloaded yesterday has no problem compiling esp32

Post by wangshujun@tom.com » Sat Oct 23, 2021 1:26 pm

[ 84%] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/home/wangshj/myesp32build/micropython-master/py/modcmath.c.obj
In file included from /home/wangshj/myesp32build/micropython-master/py/mphal.h:35,
from /home/wangshj/myesp32build/micropython-master/py/modbuiltins.c:232:
/home/wangshj/myesp32build/micropython-master/ports/esp32/mphalport.h: In function 'mp_hal_pin_input':
/home/wangshj/myesp32build/micropython-master/ports/esp32/mphalport.h:83:5: error: implicit declaration of function 'gpio_pad_select_gpio'; did you mean 'gpio_reset_pin'? [-Werror=implicit-function-declaration]
gpio_pad_select_gpio(pin);
^~~~~~~~~~~~~~~~~~~~
gpio_reset_pin
[ 84%] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/home/wangshj/myesp32build/micropython-master/py/modcollections.c.obj
[ 85%] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/home/wangshj/myesp32build/micropython-master/py/modgc.c.obj
[ 85%] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/home/wangshj/myesp32build/micropython-master/py/modio.c.obj
cc1: some warnings being treated as errors
make[3]: *** [esp-idf/main/CMakeFiles/__idf_main.dir/build.make:937:esp-idf/main/CMakeFiles/__idf_main.dir/home/wangshj/myesp32build/micropython-master/py/modbuiltins.c.obj] 错误 1
make[3]: *** 正在等待未完成的任务....
make[3]: 离开目录“/home/wangshj/myesp32build/micropython-master/ports/esp32/build-GENERIC_S3”
make[2]: *** [CMakeFiles/Makefile2:4896:esp-idf/main/CMakeFiles/__idf_main.dir/all] 错误 2
make[2]: 离开目录“/home/wangshj/myesp32build/micropython-master/ports/esp32/build-GENERIC_S3”
make[1]: *** [Makefile:130:all] 错误 2
make[1]: 离开目录“/home/wangshj/myesp32build/micropython-master/ports/esp32/build-GENERIC_S3”
make failed with exit code 2

greetasdf
Posts: 3
Joined: Mon Oct 19, 2020 9:07 pm

Re: The esp32-s3 module is already on sale. Will anyone follow up the migration

Post by greetasdf » Sat Nov 13, 2021 5:04 am

I've been trying to debug and figure out what the issue is with Bluetooth, can someone give me a hint? AFAIK it's simply a matter of linking the right library files... is there a document that describes how to go about that? As stated, the compilation with idf 4.4 works like a charm, however only if you exclude Bluetooth.

I looked at jimmo's initial bt commit, however, now the make process is completely different and therefore it's somewhat unhelpful.
stephanelsmith wrote:
Mon Oct 18, 2021 8:19 pm
Just got my esp32-s3 samples yesterday. I fired it up and immediately noticed some differences with S2 which I've been working on.

Sharing some information in case it helps others.

The build process I've been using on pico-d4 and s2 didn't work the same for me. For reference I'm on master branch for both esp-idf and micropython. Make the board as usual
make BOARD=#####

But, the normal esptool command I've been using on D4/S2 didn't work for me.
esptool.py -p /dev/ttyUSB0 --baud 921600 write_flash 0x1000 ###################

I would get an "Invalid Header 0xffffffff" error. Tried erasing, flashing, playing with partition tables, ota, etc...

What I needed to do instead was exectue the flash command the the build command spits out at the end. The command is something like this (modified a bit for my use case)
esptool.py -p /dev/ttyUSB0 -b 921600 --chip esp32s3 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x0 build-######/bootloader/bootloader.bin 0x8000 ####/partition_table/partition-table.bin 0xd000 ####/ota_data_initial.bin 0x10000 ####/micropython.bin

Once I did that, I was able to get into the repl and run my application just like on s2.

The only item that did not work for me is bluetooth. When I enable bluetooth in mpconfigboard.h
#define MICROPY_PY_BLUETOOTH (1)

I get compilation errors, eg.
undefined reference to `mp_bluetooth_init'
undefined reference to `mp_bluetooth_gatts_register_service_begin'
undefined reference to `mp_bluetooth_gatts_write'
undefined reference to `mp_bluetooth_gatts_notify_send'
etc....

The bluetooth side of my application works beautifully on PICO-D4. So that's still a missing piece. Not sure if there is a switch somewhere that's not flipped yet or if there's something deeper. Very interested in the BLE 5 support (double speed and coded phy).

Post Reply