News for hackers. Stuff that matters.
Re:ESP32-S3 has a few SIMD instructions by tbyehl on Sunday May 05, 2024 @10:21PM (#40270555)
S3 also has USB support that I've come to hugely appreciate on dev boards... tho I just got some oddball single-port boards that used a CH340 anyways. Grrr.
Re:ESP32-S3 has a few SIMD instructions by 15155 on Monday May 06, 2024 @08:07AM (#40273666)
S3 does not have real USB support (in the same way that any STM32 with "USB support" does) - it has a USB-UART/JTAG device that you cannot redefine built-in.
Re:ESP32-S3 has a few SIMD instructions by bitbank on Monday May 06, 2024 @08:23AM (#40273795)
I think you're thinking of the ESP32-C3. The S3 does have a fully programmable USB port that can do things like HID, mass storage, etc.
Re:ESP32-S3 has a few SIMD instructions by the__alchemist on Monday May 06, 2024 @10:18AM (#40274992)
I'm pretty confused by all this! Ie why they are set up like this. Example: All STM32 dev boards have two USB ports: One connected to the USB periph; one to a built-in ST-Link (JTAG). You flash and debug/print to CLI off JTAG, and use the USB one if your device needs to communicate with a PC etc during operation, or if you want to use DFU flashing for production boards or firmware updates.

If you are designing a board, you will probably always have the JTAG pins broken out to a port of your choice, and use an external debugger. Wire USB A/R.

The USB dev boards for C3 seem to all have only a UART bridge USB, and no JTAG! That is confusing because A: I'm not sure if this is a full-up USB peripheral for use as serial (But maybe not HID? Maybe it presents as USB-serial to the PC, but you program it on the MCU like UART?), and B: Why JTAG isn't table-stakes for a dev board.

I ended up buying a "C3-Rust" devboard, because it was the only one I found that had JTAG USB! (I am coincidentally using Rust, but that's only superficially relevant)

Re:ESP32-S3 has a few SIMD instructions by tbyehl on Monday May 06, 2024 @11:36AM (#40275880)
C3 boards are a mess, almost all of them are single-port with a USB-UART chip despite supporting USB-CDC & JTAG. Lots of C6 boards are dual-port but sometimes they're single-port, typically without a USB-UART chip. And to make it more confusing, sometimes a single-port C6 board will have a USB-UART chip that's hanging off a USB hub chip.

S3 has full USB-OTG support and most boards are either dual-port or single-port without a USB-UART chip. I dig 'em because I can put the TinyUF2 bootloader on them and get that Pi Pico experience of having them come up as mass storage.

Except for these S3 boards I bought in Arduino Uno format where the designer made every decisions as wrongly as possible — single USB, USB-UART chip, and the USB pins broken out to Arduino pins instead of using one of the optional headers they added.