ESP32-S31

(espressif.com)

123 points | by volemo 1 hour ago

20 comments

  • alnwlsn 18 minutes ago
    I kind of wish these all weren't called ESP32. ESP8266 and ESP8285 -> ESP32 made sense, but now we have 10+ different versions with different features and different architectures.

    Kind of like how in every thread involving a Raspberry Pi Pico (RP2030/RP2350), there's always someone confusing it with the single board computer version.

    The ESP32 (Classic, usually WROOM-32E) is still usually what comes to mind when I hear ESP32.

  • randomint64 1 hour ago
    Espressif is on fire! And the CPU even has SIMD instructions!

    RISC-V cores is a big deal for embedded systems because now compiling for SoCs is only a matter of `rustup target add riscv32imac-unknown-none-elf` instead of downloading half-broken proprietary toolchains and SDKs.

    Take a look at https://kerkour.com/introduction-to-embedded-development-wit... and https://kerkour.com/rust-esp32-pentest to get started with modern (Rust ;) embedded development.

    • phkahler 1 hour ago
      >> And the CPU even has SIMD instructions!

      Yes, but it looks like there is no hardware floating point. The description of the CORDIC module indicates fixed-point calculations, which is consistent with the lack of any reference to floating point.

      I am happy the have CAN-FD and Motor PWM module, but nowhere did I see conversion times listed for the ADC. For motor control I demand 1uS conversion time or less, and in the last year I've switched from fixed point to floating point after holding off on that switch for ~15 years.

      • polpo 46 minutes ago
        From the ESP32-S31 datasheet: "Single-precision floating-point unit (FPU) per core"
      • BenjiWiebe 26 minutes ago
        The datasheet apparently doesn't say, but judging by their other products' listed 12 bit SAR ADC sampling rates (and assuming this one is similar to what appears to be their standard ADC ) the conversion time will be on the order of 10uS.
      • BenjiWiebe 15 minutes ago
        Also why do you need 1uS for motor control? 1uS is 0.1 degrees of rotation at 16,666 RPM if I did the math right.

        I don't know much about motor control, is it normal to need that fast of feedback?

        • greenavocado 9 minutes ago
          People will always find a reason to complain or pretend they are controlling rocket motor servos with their ESP32
      • NooneAtAll3 56 minutes ago
        where did you find cordic mention?
    • Havoc 47 minutes ago
      Nice. Been meaning to try rust on these sort of devices but the riscv I saw thus far seemed to be mixed arm and riscv which seemed weird
    • cassepipe 1 hour ago
      Curious: What does the "imac" stand for in the architecture target name ?
      • mentalpagefault 1 hour ago
        IMAC are the RISC-V extensions supported:

        I = Base integer instruction set, 32-bit

        M = Standard extension for integer multiplication and division

        A = Standard extension for atomic instructions

        C = Standard extension for compressed instructions

        https://en.wikipedia.org/wiki/RISC-V#ISA_base_and_extensions

        • cassepipe 42 minutes ago
          Thanks.I can't believe they chose non-arcane, memory-friendly letters. Kind of rare in naming hardware I feel (unless it's not ?)
          • tux3 2 minutes ago
            The core set of extensions has pretty friendly single letters, but the flip is you run out of letters pretty quickly.

            The non-single-letter extensions should make you feel more at home. Like the supervisor instructions. You have Smcntrpmf which helps for benchmarking by pausing perf counters during traps. I think Smcntrpmf just rolls off the tongue nicely.

            Then there's a lot of extensions that start with Z followed by a sprinkling of random letters which is secretly an abbreviation you couldn't have guessed. For instance SHA-2 instructions are in Zvknha and Zvknhb, since that's the Vector Krypto NIST Hashes.

          • NekkoDroid 21 minutes ago
            I see you are unfamiliar with `rv64mafdcbvh_zicsr_zicntr_zihpm_ziccif_ziccrse_ziccrse_ziccamoa_zicclsm_za64rs_zihintpause_zic64b_zicbom_zicbop_zicboz_zfhmin_zkt_zihintntl_zicond_zimop_zcmop_zcb_zfa_zawrs_supm_svade_ssccptr_sstvecd_sstvala_sscounterenw_svpbmt_svinval_svnapot_sstc_sscofpmf_ssnpm_ssu64xl_sstateen_shcounterenw_shvstvala_shtvala_shvstvecd_shvsatpa_shgatpa` also known as `RVA23`
      • JdeBP 1 hour ago
        There are a few lettered extensions to the base RV32I instruction set. e.g.:

        * https://docs.riscv.org/reference/isa/unpriv/m-st-ext.html

      • NooneAtAll3 55 minutes ago
        where did you find it?
    • tosh 1 hour ago
      very interesting, do you have a pointer with more info on what kind of SIMD support it has?
      • bobmcnamara 44 minutes ago
        Hopefully comparable or better than ESP32S3.

        But with the weird alignment thing fixed

  • oritron 55 minutes ago
    The specs look great, will see how long it takes to get these as WROOM modules or on little dev boards; my two form factors of choice for Espressif devices. I'm also curious about the pricing, so far they've impressed me with how much more you get in successive generations at a similar price.

    If you're excited about the (relatively) speedy RISC-V cores and SIMD, look at the P4 which is available now. It has a slightly faster clock but no wireless: https://products.espressif.com/#/product-comparison?names=ES...

    There's some cool work out there using the dsp functionality and built in image handling to crunch a lot of pixel data, which should work similarly on the S31: https://www.reddit.com/r/WLED/comments/1ry2jd7/wledmmp4_with...

  • frikk 1 hour ago
    I've been building hobby LED art projects with WLED (exclusively built on the ESP32 platform). It's been a blast. These little boards are so powerful and the open source community continues to amaze me.

    My preferred controller platform is of the QuinLED line - comes with power distribution, voltage regulators, fat copper lines, configurable data-line resistors, and smart auxiliary hardware support all for an affordable $30-$50 per controller. (quinled.info)

    <https://kno.wled.ge/> - WLED homepage and probably my favorite clever URL of all time.

  • Aurornis 1 hour ago
    Good to have WiFi and wired ethernet on the same part again.

    Although we lost the MIPI support that the P4 dual-core RISC-V line has.

    • tetris11 53 minutes ago
      How does wired internet technically work on these chips? Is it just 8 dedicated GPIO pins?
      • LeifCarrotson 35 minutes ago
        Not "just", it's (presumably) 8 dedicated pins that form an RMII interface. This is not the same 8 pins as you'll find in your 4-pair Ethernet cable, it's a separate protocol which can be connected to an Ethernet PHY transciever like a TI DP83867E [1], which is further connected to "magnetics" [2], a convenient package of 8 integrated transformers and chokes that provide the galvanic isolation feature of an Ethernet connection.

        A few SoCs provide integrated PHY transceivers, but usually it's an external chip.

        [1]: https://www.ti.com/lit/ds/symlink/dp83867e.pdf

        [2]: https://yageogroup.com/content/datasheet/asset/file/DATASHEE...

      • BenjiWiebe 35 minutes ago
        Looks like you need an external PHY. It can talk to the PHY with RGMII which uses 12 pins, which are muxed with GPIO8-19.
  • jml7c5 39 minutes ago
    Previous discussion from two months ago, when this was announced: https://news.ycombinator.com/item?id=47561678
  • thehk 17 minutes ago
    > ESP32-S31 is particularly well suited for edge AI and machine learning workloads, including neural network inference

    Any way to know what kind of performance one could expect running e.g. a depth anything model on there?

    • otterdude 10 minutes ago
      I was wondering this as well. What exactly makes this a good AI chip vs others.

      Unless they're not listing a major feature in their spec, a dual core 320Mhz microcontroller is not bad but youre not going to be running any kind of vision model on it, at least very fast.

  • skybrian 1 hour ago
    I'm interested in audio out because I dabble in musical instruments.

    What's the state of Bluetooth audio out on microcontrollers? Is low latency and high quality output possible?

    • oritron 50 minutes ago
      Low latency in Bluetooth audio comes down to codecs and the best are proprietary.

      If you want to really cut down latency and need wireless with hardware like this, you could use a second ESP32 and send your own bitstream between them.

    • tliltocatl 51 minutes ago
      Is there any reason you want wireless? Bluetooth audio is a disaster, AFAIK. You don't want to use it for music. Just go wired, the ether is too cramped already.
      • skybrian 31 minutes ago
        There are alternatives, but being able to use an external amplified speaker and also move around easily would be nice. Maybe it's not feasible yet.
    • hackingonempty 58 minutes ago
      [dead]
  • topspin 28 minutes ago
    I'm excited that this MCU and the P4 has RISC-V CLIC. That puts it at least on par with Cortex NVIC and enables bare metal frameworks like Rust RTIC to work really well.

    Also 4x MCPWM peripherals; that's a first for any Espressif MCU.

    The additional GPIOs are very welcome as well. CAN-FD!

    This device is going to be a big hit for Espressif.

  • mort96 43 minutes ago
    This looks like the long-awaited replacement for the original ESP32. The S and C series have been relatively low performance (the S better than the C but stuck on the outgoing Xtensa architecture), the P4 is powerful but lacks wireless. This is a relatively high performance, dual core MCU with wireless; a nice default option for low volume designs where being able to copy a previous implementation is more important than saving a few cents. Just like the ESP32. Nice.
    • swiftcoder 29 minutes ago
      Can it cope with TLS? The esp32 having a viable TLS stack has been a big win
  • zuzululu 40 minutes ago
    How do I order a few samples, seem like there is a MOQ ?

    Also I want to dive into hardware stuff but I'm always clueless as to what I do afterwards when this would arrive? Are you using a generic board or are you ordering and designing PCBs to hook this up to?

    What are you using it for ? How do I go from a prototype to mass production via kickstarter?

    • chrisco255 27 minutes ago
      Typically you look for a development board with the chip embedded on it. The dev board will have a usbc port and multiple pins that can be routed to LEDs, miniscreens, audio devices, etc. To program it you can usually use Lua (a very simple embedded language, almost JS-like) or you can use C/Rust/Zig as well. Arduino IDE works for it, too. You code from desktop and upload ROMs via USBC.

      You can plug the dev board into sandwich board for easier prototyping. To go to mass production, you'll need to hand off your prototype spec to a custom PCB maker that you can order from, prices vary a lot based on volume and some shops specialize in low volume for early products.

      Your end product should basically be a circuit board, case, battery, and any external components like LEDs or screens, then you assemble with plugs or wiring/soldering.

      It is sometimes possible to make a product from the dev boards, especially the small ones, but your product still has to get a custom FCC certification (not a deal breaker, just a hoop to jump through), whether using dev board or custom.

  • hart_russell 48 minutes ago
    Any reason why this device wouldn't have Z-Wave? Is the wireless protocol significantly different than Thread and Zigbee?
    • wiml 26 minutes ago
      As I understand it, Z-Wave is substantially more closed/proprietary. Both Thread and Zigbee are protocols that run on top of 802.15.4, which Espressif already has in other products.
      • jon-wood 16 minutes ago
        I think Z-Wave is a bit more open now but everything I’m seeing indicates Zigbee has pretty thoroughly killed it by not requiring arduous certification processes and being generally easier to work with. Z-Wave is technically superior with the ability to have devices directly communicate with each other for basic functionality but at least for me that wasn’t worth the massive markup and I’m slowly replacing anything z-wave with Zigbee equivalents.
    • mherkender 43 minutes ago
      I don't know for sure but Bluetooth, WiFi and Zigbee are on the same frequency band. Z-Wave is not.

      (at least in the US, not sure about other countries)

    • Aurornis 46 minutes ago
      This device only has a 2.4GHz radio. Z-Wave is sub-1GHz.
  • orphea 43 minutes ago
    It being RISC-V is awesome, but how does it make sense that it's S series when S series have been Xtensa cores? Why is it not C series?
    • topspin 18 minutes ago
      S has never implied Xtensa, and C doesn't imply RISC-V. That's a widely held misunderstanding. S, C, P, etc. are product categories. S devices are high performance SoCs; large feature set, high frequency, not the lowest power or cost.
  • kjlldld 25 minutes ago
    Is anyone else worried that these chips are all made in China?
    • chrisco255 18 minutes ago
      For what its worth, Espressif chips are open source, but yes, I wouldn't run national security or government devices on these.
      • Retr0id 8 minutes ago
        > Espressif chips are open source

        No they're not? Anyway I assume GP was asking due to procurement concerns, not security.

  • nubinetwork 49 minutes ago
    This looks like a nucleo144, except its risc-v... but why would I use it over said nucleo144?
    • KZerda 38 minutes ago
      Better connectivity. The Nucleo 144 only has 100mbit ethernet, as far as I can tell, but the new ESP chip has gigabit, along with wireless.
    • bobmcnamara 43 minutes ago
      WiFi+BLE?
      • mort96 39 minutes ago
        And even if you don't need WiFi + BLE for a particular project, you may need it for other projects, and it might have value for you to standardise on one ecosystem.
  • jeremywho 1 hour ago
    When can we buy these?
    • Scene_Cast2 1 hour ago
      The dev boards are already up for sale. I'm personally looking forward to the modules being stocked on LCSC, no idea when though.
      • topspin 54 minutes ago
        > The dev boards are already up for sale.

        I didn't expect to see that for a while yet. Not the usual Espressif announce and wait a year+ pattern.

  • rie_t 1 hour ago
    Love to see more RISC-V in the wild
  • Imustaskforhelp 1 hour ago
    The 1GB bandwidth is interesting. It also has Simd instructions too.

    Could this theoretically be used as a router or wireguard vpn instance?

    • KZerda 42 minutes ago
      Theoretically, yeah. Though at 320Mhz, with only 2.4ghz wireless, even with two cores, I doubt it's going to get anywhere near the throughput to fill the gigabit connection.
      • jon-wood 14 minutes ago
        Yeah, I’m not entirely sure what use cases there are which include both an ESP32 and gigabit networking.
  • gswdh 1 hour ago
    [dead]