This blog has always leaned heavily into RISC-V, but this year has been a bit of a low in RISC-V for me. That’s probably worth an article of its own, but since I was just asked what I’ve been using lately, I have to admit my time has been spent on a family that’s not RISC-V: ESP32.
“But wait, there are ESP32 RISC-V parts!”
Yes. And ESP-IDF is pretty awesome to work with, but so far Espressif hasn’t announced a dual-core RISC-V part with radios and they haven’t shipped their dual-core part without radios. I don’t have high expectations for ESP32-P4 (see also: 2023’s low-lites for this class of parts) but I’m loving the part they announced at the same time they announced their first part, the ESP32-C3 – the (Tensillica, not RISC-V) ESP32-S3. Since I was recently asked what I was using for my own hobbyist projects his year and why, let me catpure that here:
I’m really liking that ESP32-S3-N16R8 lately.
- They’re dirt cheap at around $5USD at Aliexpress.
- 16MB Flash. 8MB RAM. is “enough” for everything I do. I don’t buy specialized boards; I stock a bunch of these.
- one USB-C cable gives me power, debug, serial console AND JTAG.
- A second USB-C cable gives the latter two that don’t reset when the CPU is reset. :-/
- Lots of GPIOs, but rules can be dumb. More in a moment.
- Fastest device that Espressif makes. Yas, P4 will ship someday…but have no wifi.
- Floating point AND a vector unit that’s usable in AI or compute-heavy things like speech recognition. More compute in AES and other dedicated blocks.
- Unlike previous ESP32s, PSRAM is fast and actually works well.
- Specialized peripherals that are useful for things other than intended purposes. Using solder pads as buttons is cool. (OK, that’s actually intended…) but RMT to program LCDs is pretty cool.
- Dedicated GPIO lets you program weird devices FAST in almost single opcode timings. Almost. Far from many hundreds of clock cycles per write while arbiters swing across busses like in previous.
- USB peripheral (don’t spend on CH340 or mess with jumper posts and cables) on board so flash can be a “disk drive” or device can be a mouse or a keyboard or a MIDI controller or whatever yout want it to be. (It’s USB 1.1, so it’s not a FAST disk drive, but it’s a convenient one.)
- USB host – you can plug a keyboard or a mouse or a midi into IT.
- A ton of GPIO (45), though a bunch of them are taken for USB, PSRAM, bootstrapping, etc. It can be hard to figure out what’s safe. [Atomic14](https://github.com/atomic14/esp32-s3-pinouts) is helping with that. There is a big ole pin multiplexor that lets you reassign a bunch of pins to a bunch of other pins, but not quite randomly.
- Cheap!
I think ESP32-S3-N16R8 is similar to parts like www.vcc-gnd.com’s YD or Espressif’s own, but it’s cheap.
Downsides? There seem to be only a few road hazards that trip people up.
- “Safe” pins are hard to figure out. Really. See above.
- Onboard WS2812B isn’t actualy hooked to GPIO48 (letting you use it…) until you solder blob that tiny “RGB” pad.
- 5V isn’t provided to USB-C peripherals (“OTG” mode) until you put a solder blob on the other side of the board to connect the VCC rails of the USB sockets.
- Confusion between ESP32-S3’s own USB/Serial bridge on the USB-C connector on the left and the one on the right that goes to the USB serial bridge from WCH … that definitely requires a shady looking driver for reliable communications on MacOS.
Why are these boards so interesting?
- There have been a bunch of C906 boards this year, but none have radios and none at this price point.
- There have been a few JH-7110 boards this year. They’re far from $5 and simply aimed at a totally different market than these.
If Espressif offered a RISC-V part with the S3 feature and peripheral set, that would be awesome, but that’s just not a point in the price/performance/feature curves that anyone has tried to hit so far. I’d love to see it, though.
Should we talk more about any of the above?
What are YOU building with? For this discusion, I’m asking about $5 WITH WIFI kinds of products, so not a NAS or an edge firewall or something, but rather holiday lights or an internet radio. What’s your IoT GOTO device right now?