7 ms·
ESP32-S31
- rie_t 4mo agoLove to see more RISC-V in the wild
- rasz 4mo agoWhy? Because company you buy stuff from didnt have to pay license? I always imagine people saying this havent seen riscv assembler code.
- randomint64 4mo agoEspressif 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-with-rust https://kerkour.com/introduction-to-embedded-development-wit... and https://kerkour.com/rust-esp32-pentest https://kerkour.com/rust-esp32-pentest to get started with modern (Rust ;) embedded development.
- cassepipe 4mo agoCurious: What does the "imac" stand for in the architecture target name ?
- JdeBP 4mo agoThere are a few lettered extensions to the base RV32I instruction set. e.g.: * https://docs.riscv.org/reference/isa/unpriv/m-st-ext.html https://docs.riscv.org/reference/isa/unpriv/m-st-ext.html
- mentalpagefault 4mo agoIMAC 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 https://en.wikipedia.org/wiki/RISC-V#ISA_base_and_extensions
- cassepipe 4mo agoThanks.I can't believe they chose non-arcane, memory-friendly letters. Kind of rare in naming hardware I feel (unless it's not ?)
- NekkoDroid 4mo agoI 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`
- snvzz 4mo agorva23 is pretty friendly. Needn't use the long thing.
- NekkoDroid 4mo agoYea, but remove any one of the extensions and you have a distinct arch with a name that is basically just as confusing. The point I wanted to make is that nowadays a lot of the extensions do not have such a nice (semi) easy to remember name.
- sukuva 4mo agoRISC-V went wild with the extension naming in the past few years with the recently ratified extensions. The original extensions are all clubbed to be labelled as G.
- tux3 4mo agoThe core set of extensions has pretty friendly single letters, but the flip side 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 with 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 you have your SHA-2 instructions in Zvknha and Zvknhb, since that's the Vector Krypto NIST Hashes.
- NooneAtAll3 4mo agowhere did you find it?
- deleted 4mo ago[deleted]
- tosh 4mo agovery interesting, do you have a pointer with more info on what kind of SIMD support it has?
- bobmcnamara 4mo agoHopefully comparable or better than ESP32S3. But with the weird alignment thing fixed
- throwaway81523 4mo agoWhy on earth SIMD instead of the risc-v vector extensions that are supposed to be better?
- andynerd 4mo agoFor compatibility and simplicity. Most SIMD instructions in P4 and S31 (compatible with P4 rev 3.x) are an direct evolution from S3. Espressif just doesn't want to rewrite their optimized assembly libraries.
- andylinpersonal 4mo agoThe same as P4 rev 3.x, which is still undocumented. Assembler source and esp-nn/esp-dsp are your friend. Some people have also tried some stuff. And HP core 0 is scalar-only now.
- phkahler 4mo 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.
- NooneAtAll3 4mo agowhere did you find cordic mention?
- polpo 4mo agoFrom the ESP32-S31 datasheet: "Single-precision floating-point unit (FPU) per core"
- BenjiWiebe 4mo agoThe 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 4mo agoAlso 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 4mo agoPeople will always find a reason to complain or pretend they are controlling rocket motor servos with their ESP32
- phkahler 4mo ago>> Also why do you need 1uS for motor control? It's not that important if you use current sensors on the motor phases. But then you're looking at HALL sensors or a shunt with a very high gain amplifier with good common mode rejection - looking for mV signals on top of a +12V or +48V square wave at PWM frequency. By using low-side shunts under each half-bridge you don't need the common mode rejection, but you can only measure phase current while the low side FET for that phase is on. That means limiting the PWM duty cycle to ensure that FET is on long enough to measure current, so we trade available voltage range for sample time. I've also written code to measure all phase voltages with a single low-side current shunt under the whole 3-phase bridge. That requires careful phase shifting of the PWM signals and very fast conversion time, but you don't have to compromise available voltage range 0-100 percent duty cycle is possible. Typically we run the control loop at PWM frequency, but the measurements need to be faster than that.
- Havoc 4mo agoNice. 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
- moffkalast 4mo agoThe sooner ARM and its closed ecosystem dies, the better. The era of shitty half working blobs has gone on for quite long enough.
- Teknoman117 4mo agoAlmost everything we hate about ARM based systems is the result of everyone in the SoC ecosystem, not just ARM. It's just unfortunate for them from an optics perspective that they've been basically the only CPU core on the block so they get the brunt of the hate. I place far, far more blame on companies like Qualcomm, Broadcom, Imagination Technologies (PowerVR), etc. Go look at any of the non-microcontroller RISC-V based SoCs. It's not any better on any metric. Upstream software support is little to non-existent. Basically every RISC-V board needs a vendor kernel and they all have device tree and u-boot hell. The SoC providers that make powerful chips are in the market of selling more chips - bad external support is a feature for them. Means that when they stop supporting the product you have to come buy a new chip. And if everyone does that, there's no better company to switch to because they all treat you the same. About the only SoC vendor I have any respect for is Texas Instruments because they actually upstream a bunch of their code. Honestly I think this is because most of their parts are aimed industrial products and have support cycles >10 years. I intentionally didn't say Rockchip because while they're in a bunch of hobby boards they don't really help with open source hardware work. They just take the position of "we won't stop you, but we're not going to help you".
- amelius 4mo agoYeah but the moment you need IP blocks like for wifi or ethernet or usb, it's back to square one.
- nine_k 4mo agoI suppose ESP32-based modules usually carry networking and USB hardware which is immediately usable, without esoteric IP licenses, don't they?
- kelnos 4mo agoThe wifi bits are closed-source blobs. The rust embedded community has reverse-engineered some of it for some chips, but not sure how complete that work is.
- jamesmunns 4mo agoIt's worth noting that the support for ESP32 in Rust is official [0], and there are multiple full time engineers at Espressif working on developing and maintaining it. [0]: https://github.com/esp-rs/esp-hal/ https://github.com/esp-rs/esp-hal/
- taude 4mo agoI need the equivalent of Claude Code, but for hardware projects, so I can actually do all the projects I envision with the EPS32s. Something that combines: 3d printing; auto procurement of parts; custom software writing; maybe a robot arms or something, all in a nice box on my desk that I feed parts into like a mail slot. PROFIT.
- all2 4mo agoTbh, we're pretty close to that. This would essentially be the following set of work cells: - PCB etching/engraving - Solder placement - component placement - solder oven This gets you one layer populated PCBs out the other side. Commercial systems like this exist in various forms, and open source projects for all of these also exist. It would be up to you to integrate them together. As it stands, the frontier models are actually pretty ok at firmware dev at a high level. If you need max performance, they won't be any good at all (learning from the dregs of the internet isn't exactly helpful here). You'll also need to bring at least a willingness to learn about what is involved so you can debug the machine's mistakes.
- ecesena 4mo agoFor firmware dev, Claude is amazing. Just plug the dev board and tell him what you need. Great learning tool too!
- hugojan 4mo agoAt least part of what you describe is already being built: https://www.schematik.io/ https://www.schematik.io/
- ape4 4mo agoIts good you can do that but the command doesn't exactly roll off the tongue.
- nekiwo 4mo agoESP32-S3 already had SIMD, but Xtensa wasn't quite friendly about it. https://bitbanksoftware.blogspot.com/2024/01/surprise-esp32-s3-has-few-simd.html https://bitbanksoftware.blogspot.com/2024/01/surprise-esp32-...
- Imustaskforhelp 4mo agoThe 1GB bandwidth is interesting. It also has Simd instructions too. Could this theoretically be used as a router or wireguard vpn instance?
- KZerda 4mo agoTheoretically, 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 4mo agoYeah, I’m not entirely sure what use cases there are which include both an ESP32 and gigabit networking.
- KZerda 4mo agoAbout the only one I can think of is connectivity in electronically noisy situations. It's a lot easier to find gigabit sfp modules for linking with fiber than it is to find 100 mbit modules.
- jeremywho 4mo agoWhen can we buy these?
- Scene_Cast2 4mo agoThe dev boards are already up for sale. I'm personally looking forward to the modules being stocked on LCSC, no idea when though.
- topspin 4mo 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.
- zimpenfish 4mo agoApparently available on AliExpress as a dev board[0] [0] "ESP32-S31-Korvo-1 Development Board Espressif System AI Intelligent Multimedia Development Board Engineering Sample" for £54.79 from the (allegedly official) Espressif store at https://www.aliexpress.com/item/1005012333744553.html https://www.aliexpress.com/item/1005012333744553.html
- Aurornis 4mo agoGood 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 4mo agoHow does wired internet technically work on these chips? Is it just 8 dedicated GPIO pins?
- LeifCarrotson 4mo agoNot "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 https://www.ti.com/lit/ds/symlink/dp83867e.pdf [2]: https://yageogroup.com/content/datasheet/asset/file/DATASHEET_HX5008FNL https://yageogroup.com/content/datasheet/asset/file/DATASHEE...
- tetris11 4mo agoOh it's an ADC of some type. GPIO takes 0 or 3.3/5V at low frequencies, ethernet signals are a continuous range of 0 to 2V at high frequencies. Fundamentally incompatible without the PHY+magnetics
- BenjiWiebe 4mo agoLooks like you need an external PHY. It can talk to the PHY with RGMII which uses 12 pins, which are muxed with GPIO8-19.
- alnwlsn 4mo agoYou need a transceiver chip which then hooks up to the Ethernet jack. Usually have to do this for any interface when the signals don't come in right at logic level, like CAN, RS-485... although it's not always exactly 'just' logic level conversion.
- skybrian 4mo agoI'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?
- hackingonempty 4mo ago[dead]
- tliltocatl 4mo agoIs 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 4mo agoThere 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.
- numpad0 4mo agoThere aren't many choices of cheap hackable A2DP receivers if you were somehow looking for one. Not all headphone chips are programmed to run at slightly under 3.3V on VBAT pins so to protect the supposed battery, with no means to reprogram for lower voltages, officially or not.
- oritron 4mo agoLow 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.
- timothyb89 4mo agoI've been experimenting with more-or-less this on the existing ESP32-S3 (well, to a smartphone/PC rather than a 2nd ESP32). Practical bandwidth limits are in the ~72kb/s range with Bluetooth and a custom wire protocol, and Opus voice-mode encoding can't run in realtime beyond complexity 3; music encoding can't run at all. Maybe there's a more compute-friendly audio codec I'm not aware of, but as far as I know these chips just aren't quite powerful enough for high-quality music encoding, unfortunately. I'm hoping the S31 might be a bit better fit here (decent CPU boost + better SIMD). Latency is still a bit rough with BT overhead. There might be some new options with LE audio on the S31 but I haven't found a way to get below ~80ms with the existing ESP32-S3 stack. tl;dr, high quality voice is doable today with okay latency, music probably less so, maybe the S31 will be better
- frikk 4mo agoI'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/ https://kno.wled.ge/> - WLED homepage and probably my favorite clever URL of all time.
- wolvoleo 4mo agoI do a lot of LED projects too but I just use ws2812s. What do you need the controller for? Large brightness perhaps? Just curious.
- gedy 4mo agoWLED is a system that runs on the ESP32 for some cool capabilities to drive the ws2812s, OP linked above.
- wolvoleo 4mo agoYes but these don't need controller hardware. The OP is using a dedicated controller and I was asking why.
- leptons 4mo agoWS2812 absolutely need a controller, without one they would simply not light up.
- wolvoleo 4mo agoI mean a power controller. This is part of every WS2812 itself but with regular LEDs (be it RGB or not) you need power drivers for it, which I call the 'controller' too. You need to drive them at a certain amperage, then PWM them to get the right brightness. But with WS2812 you don't need to mess with power driver circuitry the OP mentioned. You just chain them to a microcontroller pin. It was probably my use of the word 'controller' that is a bit confusing.
- gswdh 4mo ago[dead]
- oritron 4mo agoThe 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=ESP32-P4NRW16X,ESP32-S31NRV16&type=SoC 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_native_hdmi_output/ https://www.reddit.com/r/WLED/comments/1ry2jd7/wledmmp4_with...
- jamwise 4mo agoIf the prices remain relatively similar this is going to be incredible value! I might have to procrastinate on my current side projects to go back to another side project I'm procrastinating on because of optimization issues on an older ESP32.
- polpo 4mo agoThey've already released the ESP32-S31-WROOM-3 and two development boards based on it: the ESP32-S31-Function-CoreBoard-1 and ESP32-S31-Korvo-1. All are available on Espressif's official Aliexpress store.
- nubinetwork 4mo agoThis looks like a nucleo144, except its risc-v... but why would I use it over said nucleo144?
- bobmcnamara 4mo agoWiFi+BLE?
- mort96 4mo agoAnd 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.
- KZerda 4mo agoBetter connectivity. The Nucleo 144 only has 100mbit ethernet, as far as I can tell, but the new ESP chip has gigabit, along with wireless.
- thot_experiment 4mo agoBecause it's like 5x cheaper and beats it out spec wise in almost every way?
- hart_russell 4mo agoAny reason why this device wouldn't have Z-Wave? Is the wireless protocol significantly different than Thread and Zigbee?
- Aurornis 4mo agoThis device only has a 2.4GHz radio. Z-Wave is sub-1GHz.
- mherkender 4mo agoI 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)
- wiml 4mo agoAs 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 4mo agoI 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.
- adamfeldman 4mo agoZigbee supports binding, allowing devices to directly control each other without the intervention of a controller. For example, I've Inovelli light switches that communicate directly with Zigbee smart bulbs.
- jon-wood 4mo ago
- orphea 4mo agoIt 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 4mo agoS has never implied Xtensa, and C doesn't imply RISC-V. That's a widely held misunderstanding. S, C, P, etc. are product categories, not ISAs. S devices are high performance SoCs; large feature set, high frequency, not the lowest power or cost. Just appending 1 to S3 is odd though. This MCU is step change for Espressif. S4 or something would make more sense.
- orphea 4mo agoNot saying you're wrong (appreciate the explanation) but S has been Xtensa and C is RISC-V; even if you don't imply, it's how the things have been. And given S2, S3, and C5 are all clocked at 240 MHz, the performance difference is kinda blur.
- topspin 4mo agoEspressif is all-in on RISC-V, expanding their portfolio of RISC-V devices where they previously had only XTensa: ESP32-S31 is the first big departure from the coincidental alignment of ISAs within their product structure and definitively ends further debate about what those letter designations mean. BTW, S3 has an RISC-V core in addition to the XTensa cores. That's the part that's running in deep sleep. In practice, most Espressif users barely know or care what ISA is in play: they have ESP-IDF and the Espressif libraries papering over the difference for nearly all purposes.
- topspin 4mo agoThis is how Jeroen Domburg, Espressif Technical Marketing Manager, addressed this matter in a post on hackaday.io: "We actually never intended the CPU architecture to be part of the name, as for 99.9% of all users, it doesn’t matter: you write your code in C or some other language, and the compiler plasters over any difference in ISA. Available peripherals, supported radio protocols and CPU power and memory are more important."
- mort96 4mo agoThis 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 4mo agoCan it cope with TLS? The esp32 having a viable TLS stack has been a big win
- bobmcnamara 4mo agoIt looks like they've been adding more hardware crypto offloads too!
- flowerthoughts 4mo agoHas TLS been an issue since ESP32? I know ESP8266 had to increase CPU speed to be able to do RSA without timing out the watchdog. Wonderful hack. Didn't think ESP32 had the same issue. Anyway, the S31 has SHA, AES, ECC, RSA, and ECDSA accelerators, so that should be fine. https://documentation.espressif.com/esp32-s31_datasheet_en.pdf https://documentation.espressif.com/esp32-s31_datasheet_en.p...
- zuzululu 4mo agoHow 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 4mo agoTypically 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.
- zuzululu 4mo agoty!!!!
- jml7c5 4mo agoPrevious discussion from two months ago, when this was announced: https://news.ycombinator.com/item?id=47561678 https://news.ycombinator.com/item?id=47561678
- topspin 4mo agoI'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.
- deleted 4mo ago[deleted]
- kjlldld 4mo agoIs anyone else worried that these chips are all made in China?
- chrisco255 4mo agoFor what its worth, Espressif chips are open source, but yes, I wouldn't run national security or government devices on these. Edit: I take it back on OS comment, they are not OS but some components of the SDK are: https://zeus.ugent.be/blog/23-24/open-source-esp32-wifi-mac/ https://zeus.ugent.be/blog/23-24/open-source-esp32-wifi-mac/
- Retr0id 4mo ago> Espressif chips are open source No they're not? Anyway I assume GP was asking due to procurement concerns, not security.
- chrisco255 4mo agoCorrected my comment, thank you. I mean, if productizing with them, global trade dynamics are certainly a supply chain risk factor, however, security concerns would be the primary reason such chips would be restricted from import.
- deleted 4mo ago[deleted]
- abdullahkhalids 4mo agoI am concerned by all chips and software made by giant corporations. None of them are trustable, and any one of them will sell me out for a buck. We must constantly fight to have open source and audited chips and software made in commodity fashion.
- alexisread 4mo agoYou might be interested in the Baochip https://www.crowdsupply.com/baochip/dabao/updates/our-campaign-has-launched https://www.crowdsupply.com/baochip/dabao/updates/our-campai... Probably the most open chip on the market, and sits between a pi and a pico
- alnwlsn 4mo agoI 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.
- pantalaimon 4mo agoBut it's the same scheme as STM32, EFM32, GD32, …
- vitally3643 4mo agoYes and those schemes are just as bad as Espressif's
- randyrand 4mo agoIt signals ESP-IDF compatibility
- JCTheDenthog 4mo agoThey can signal that with numbers other than 32, the "ESP" part is what matters.
- 9rx 4mo agoESP-IDF is only compatible with the ESP32 range of devices, not all ESP-prefixed devices, so "ESP" alone is not sufficient information to satisfy the earlier comment.
- kelnos 4mo agoSure, but there's nothing in the name "ESP-IDF" that inherently means it can only support ESP32 devices. It could also support a new theoretical ESP33 device. (I don't have an issue with Espressif's ESP32-* naming scheme, but I don't think the ESP-IDF angle is a good argument for not changing it.)
- thehk 4mo 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 4mo agoI 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.
- porridgeraisin 4mo agoMemory is the main constraint. You have what, 8mb of psram. Compute wise you can manage. You can do quantisation and run a small 10-15 layer CNN perhaps. Image classification is possible. Keep in mind the channel count and input resolution cannot be high since memory will be a problem. You can maybe do face _detection_, "is my cat on my keyboard" classification as well maybe. Audio, you can do a lot more. Wake word detection happens on _much_ smaller accelerators inside iphones. In this one you can do slightly heavier classifications. Maybe speaker identification "which member of family" or maybe "which dog is barking"
- asadm 4mo agonope. not happening. at most YOLO or mayyybe FastDepth
- mattalex 4mo agoRegarding specifically depth anything: You're not running this on a microcontroller. In general, CNNs still reign supreme on microcontrollers since you have a way lower peak memory demand which is what usually kills you. Here in this case you have a couple of _kilobytes_ of SRAM, potentially extendable to a couple of megabytes of PSRAM. Even for small CNNs you often need to do some quite complex interleaving of layers (i.e. running parts of layer 1 and layer 2 in parallel interleaved to take advantage of the downsampling of CNNs) to keep performance and memory impact reasonable (see e.g. https://openreview.net/pdf?id=2O8qbyxH6X https://openreview.net/pdf?id=2O8qbyxH6X). Think more "image classifier" less "run an image to image transformer". For depth anything, a single layer's activation is probably significantly larger than the available SRAM (I think it is (224/16)^2 patches each with activations [48, 96, 192, 384] for depth anything small: You aren't running this.)
- system2 4mo agoI wish Espressif was an American company and publicly traded. I'd invest heavily. I have nothing but good things to say about their products. Their product naming could be better; S3 is going to show S31 in the search results.
- nancyminusone 4mo agoif it were American it probably would have been hostile-takeovered by Qualcomm or someone else and tightened down long ago.
- nottorp 4mo agoTo elaborate, all their documentation would be behind a login that has to be manually approved and they wouldn't talk to you unless you ordered 1 million pieces.
- superloika 4mo agoPublic companies only bring ruin.
- lucamark 4mo agoGreat to hear the adoption of RISC-V across the ESP32 line. The old Xtensa-based parts were fine, but RISC-V should make tooling, compiler support, and long-term ecosystem work cleaner
- einpoklum 4mo agoI'm the maintainer of a standalone printf library, targeting mostly embedded devices and other no-standard-library use cases: https://github.com/eyalroz/printf/ https://github.com/eyalroz/printf/ I would like to make sure the library can be used on this SoC, and other RISC-V systems; which it probably can, but if there are any issues cross-compiling for it, or using the toolchain Espressif provides, please consider filing a bug report on GitHub at the link above. Same of course goes for any FOSS librar/tool that you're trying out. Let's help foster a rich(er) ecosystem of software available on these babies!
- thot_experiment 4mo agoThis is so sick except it only has 2 pulse counters instead of the 4 on the S3 which means I can't use it as a drop in replacement on my current project. Not really complaining, I cut my teeth as an embedded dev on the ESP8266 and for years now all of my personal projects (and a fair few professional ones) have been based on the ESP32 line of chips. They're all pretty incredible for the cost, absolutely my favorite embedded target.
- cbdevidal 4mo agoI personally am itching for more hardware H.264 or even H.265. There's the ESP32-P4 but it requires a second ESP32 to handle the WiFi. I got it working, but it feels like a hack, and the BOM cost is more than 2x a single chip. Course more PSRAM and hardware encoding would drive up the price...
- redfast00 4mo agoFrom the datasheet, I see that there is a Bitscrambler peripheral that seems to be very similar in flexibility to the Raspberry Pi Pico's PIO: > Since bitwise operations can be relatively CPU-intensive and DMA is designed specifically to offload such work from the CPU, ESP32-S31 integrates two dedicated peripherals called BitScramblers. These modules are designed to transform data formats during transfers between memory and peripherals. One BitScrambler handles memory-to-peripheral (or memory-to-memory) transfers, while the other is dedicated to peripheral-to-memory transfers. While BitScramblers can handle the bitwise operations mentioned earlier, they are in fact flexible, programmable state machines capable of performing more advanced transformations as well. Here's hoping that it's as useful as the Pi Pico's PIO
- utopcell 4mo agoneat!
- snvzz 4mo agoMeanwhile, Texas Instruments[0]... 0. https://news.ycombinator.com/item?id=48378136 https://news.ycombinator.com/item?id=48378136
- snvzz 4mo agobetter yet https://news.ycombinator.com/item?id=48386133 https://news.ycombinator.com/item?id=48386133
- george_max 4mo agoIt's good news Espressif is using RISC-V over something like Xtensa; it's much more open and flexible. Excited to play around with this
- jareklupinski 4mo ago> Bluetooth 5.4 LE Audio enables high-quality, low-power streaming with LC3 codec and multi-stream audio finally i can make party mode home speaker arrays
- MrBuddyCasino 4mo agoIs that really what multi-stream is?
- jareklupinski 4mo agoguess i'll find out :)
- v1ne 4mo agoIt's sad to see Xtensa go. Their architecture was a clean design, a treat to read the assembly code. I get it, RISC-V comes without licensing costs, but that's one of the few positive things about it. For a fresh start, it is just already in this "we pile stuff on stuff on stuff" state that you expect of an architecture after 10-20 years of productive use.
- MrBuddyCasino 4mo agoThe inevitable result of Risc-v trying to be everything to everyone, so everything is half-baked.
- dsign 4mo agoI very much respect Espressif products, specially because how good their documentation is. I wish though somebody would package an ESP board with 256 Mb of RAM or more... From what I've seen, that amount of RAM seems to be exclusive Linux SBC territory, but Linux doesn't make sense for a lot of projects.
- andynerd 4mo agoSadly this S31 can address up to 64 MiB of PSRAM at most. And only 32 MiB SKU has been released.
- rbanffy 4mo agoThese little devices are extremely interesting. I have a side project I will one day get started - to place 32 SoCs (or fewer SoCs with more cores), connect them via PCB traces to an ethernet hub (I need to learn how to do that), and leave one or more "upstream" network ports for connecting multiple boards together. Each core would light up a red LED on the front-side of the board via 90-degree LED holders. Then I'd pack 16 of them, and build a tiny Connection Machine cube. Not sure what I'd use a cluster of 512 very puny servers for though... I guess it'd be for learning how to manage clusters with unreasonable numbers of nodes.
- goodpoint 4mo agolittle?
- rbanffy 4mo agoOnce I figure out how to join that many cores via ethernet on PCB, it's a little project. SMD soldering should not be that troublesome.
- throwup238 4mo agoWhat are you having trouble figuring out? ESP32 RGMII (32x) -> PHY (32x RTL8211F) -> Slave switch (6x RTL8367) -> master switch (1x) -> magnetics (for the external port). You’ll probably want a better IC for the master switch so I can’t name one of the top of my head but this would be a relatively simple, if large, PCB. The hard part I think is verifying that all the PHYs and switches will work correctly without magnetics on a board to board connection.
- rbanffy 4mo agoThe SoC (I was thinking about the Octavo parts) has two ethernet interfaces. We attach the interfaces to the RTL8211 and then to the switch (or do we need RTL8211s there as well? Is there a switch chip that can operate directly with the SoC ethernet ports? I am way out of my depth here. I actively avoided analog design in college, and it kind of shows. :-(