9 ms·
ESP32-P4: High-performance MCU with IO-connectivity and security features
- rektide 4y ago@dang: can we merge https://news.ycombinator.com/item?id=34266996 https://news.ycombinator.com/item?id=34266996 in?
- dang 4y agoThat one never made the front page so I think it's ok to let a second thread run. Thanks for linking to it so people can read those comments also!
- genericacct 4y agoI'm running a few ESP32s and given their widespread usage I was surprised to notice that Espressif stock is very much near the lows of its 5 yr range, having lost over 2/3rds of its value from the peak. Is it just a function of market volatility? Do they have competition?
- pjc50 4y agoEvery tech company stock looks like that?
- genericacct 4y agoThat's true. Also it's still a P/E of 60.
- szundi 4y agoTech market is down worldwide
- ErikCorry 4y agoLooks very nice. Apparently does not have double precision fp. Also no WiFi or BT so it's rather different from their current offerings. 768k internal RAM will be useful.
- sgt 4y agoIt has ethernet. So if you're feeling brave, try making a breakout board to interface with it.
- sen 4y agoHuge huge fan of ESP32s over Arduino/RPi/etc for any/all projects where I can do so. I’ve probably got 15-20 ESP32 projects around the house, and have done somewhere around 80-100 for other people. Arduino does a great job with marketing but at the end of the day you could do 99% of Arduino projects with an ESP32 for 1/10th the cost, use less power, and get way more features at the same time, while still using the Arduino IDE or VS Code with Platform.IO.
- sgt 4y agoHow do you connect them? I would actually love to have a few PoE powered and connected ESP's since you have to power these things anyway.
- milsorgen 4y agoWhy via a wifi mesh of course: https://www.espressif.com/en/products/sdks/esp-wifi-mesh/overview https://www.espressif.com/en/products/sdks/esp-wifi-mesh/ove...
- sgt 4y agoThat's really cool. I'd start with star topology first though, with just 4-5 devices. In my use case it's just gardening stuff.
- sen 4y agoDepending on the project, but either find a nearby USB port (I have home temperature sensors powered off the back of my TV, and other projects off USB ports around the house) or use battery power. Batteries can last months on ESP32s if you set them up right. They have great deep-sleep modes and can use practically nothing unless they're actively needed.
- 5e92cb50239222b 4y agoI use old phone chargers accumulated over the years. It's been 3 or 4 years since I started doing that and they don't seem to mind at all.
- sylware 4y ago64bits RISC-V cores? or a mix of 64bits/32bits RISC-V cores like on the bouffalo BL808? I cannot find anything about it. This is chip is interesting as it is said the BL808 has a USB bug which forbid you to flash the bootrom over USB and you need to use the UART.
- IshKebab 4y agoSurely all 32 bit? I doubt anyone is going to use this with more than 2GB of RAM.
- sylware 4y agoMaybe not, since we would like to write 64bits RISC-V assembly code paths once and re-use them (like on the bouffalo). Then 64bits<->32bits ports would not happen, even though we know RISC-V 32bits<->64bits ISA port was made easy. This means seriously strong assembly code reuse.
- gswdh 4y agoESP32 is my go to MCU to use now. Their tooling and libraries are so far ahead of the competition especially when you factor in the choice of CLI or VS Code - an actually good IDE. ESP-IDF is so reliable and easy to use I don’t feel the need to JTAG/SWD debug anymore…
- MarkMarine 4y agoI use it at work, and while it’s quite good, I find some of the ESP libraries on top of FreeRTOS to actually be a step backwards. As soon as esp adds their event loop, you’re pushed towards using that architecture, and while I’ve found that good for single use devices, for devices that are doing multiple things at the same time, fitting in memory has been a chore. I also would love some higher performance networking with zero copy, most of the interface boundaries in the esp code involve a memory copy.
- MrBuddyCasino 4y agoYes its easy to use but a bit wasteful. I suspect that the innovative stuff will come from the Rust side of things, with zero copy, shared stack etc. They are actively funding efforts here [0]. The RTIC [1] project looks really neat, but only supports Cortex-M afaik. [0] https://github.com/esp-rs https://github.com/esp-rs [1] https://github.com/rtic-rs/ https://github.com/rtic-rs/
- ilyt 4y agoI did a bit of RTIC and can confirm it's pretty pleasurable to work with. It's sort of almost-RTOS, just enough to get some concurrency going without going full-on OS. It also cleverly uses unused ARM interrupts to act as sorta hardware accelerated context switches
- MarkMarine 4y agoI’m really really pumped about the rust stack, for two big reasons. 1. The innovation and performance you’re talking about. 2. Hiring. We’re going to be able to be on a flashy language, doing something cool which isn’t always the case with embedded. We’ve had a hell of a time getting candidates in that could write low level code competently. Rust should make that easier and hopefully using it will make us more attractive to the small pool of devs we’re courting.
- solarkraft 4y agoHa, for most of my applications the ESP32s are actually wildly over-powered - but the development experience is quite good. It's cool that they're seriously expanding their media interfacing capabilities - the ESP32s already have some, but they're quite basic. I don't see a mention of it, so I have to wonder: What about Linux? There was a project a while back to get Linux running (at a snail's pace) by using JuiceVM to emulate a RISC-V CPU - now we have ESP32s with actual RISC-V CPUs (and MMUs as well!) ... so what's stopping Linux from running? To answer the foreseeable "why would you want that": It would be really nice to get a standard OS with preemptive multitasking, dynamically loaded binaries, a shell and standard tooling. NuttX has a lot of these (Zephyr has some), but I still feel find them quite limiting: At best you have to deal with "the microcontroller version of ..." (see Python, Go, .NET - they're all somehow worse versions). Don't we have enough power nowadays, even in the lower-tier ESPs or is my intuition totally off? I know there are relatively cheap "SBC-style" boards (Raspberry Pi Zero W) for this purpose, but there's still a sizeable pricing (and size) gap between those and "MCU style" boards. The one board I'm aware of that is trying to bridge the gap is the 128Mb Ox64 (https://pine64.com/product/128mb-ox64-sbc-available-on-december-2-2022/ https://pine64.com/product/128mb-ox64-sbc-available-on-decem...) and basically I wonder whether this might be Espressif's response to it.
- alerighi 4y agoProbably the amount of RAM available more than the CPU. Surely you can get a very stripped down version of Linux running, but I doubt a version of Linux that you can use to do something useful. Surely the day that even on these sort of low cost microcontrollers can run Linux is not far...
- IshKebab 4y agoIt has an external PSRAM interface. You can easily get 64MB PSRAM chips which is plenty for Linux.
- dragontamer 4y agoIt's about virtual memory controllers. Linux needs one. The chips at this size don't always have the minimum hardware features to even boot Linux.
- no_time 4y agoWhat's the industry's consensus on Espressif modules? As a layman they look like an insane deal. With western manufacturers $3.5 doesn't even get you a firm handshake whereas Espressif gives you a fully intergrated module with everything already on board. https://www.digikey.com/en/products/detail/espressif-systems/ESP32-S3-WROOM-1-N8/15200089 https://www.digikey.com/en/products/detail/espressif-systems...
- microtonal 4y agoI have played in the past with the ESP8266 and the (original) ESP32, but I would be too concerned about backdoors to use them for anything serious. I'd prefer something like Nordic nRF.
- no_time 4y agoThis is exactly what I had in mind. With integrated WiFi and crypto it couldn't get any juicier as a backdoor target...
- karmicthreat 4y agoGiven that Espressif was one of the few companies not to fail during the supply chain crunch I wouldn't hesitate to use them. Unlike the Raspberry PI Foundation.
- mid-kid 4y agoThis is mostly due to Espressif modules being less demanded.
- kamranjon 4y agoThe pico (rp2040) never really had issues and it's more of a direct competitor to the esp32 than a standard pi.
- karmicthreat 4y agoTrue, but at this point their reputation is kind of burned for me. I'm not confident that if they have challenges come up with rp2040 production that they will be able to compensate quickly.
- scotty79 4y agoThere's a very nice language dedicated to ESP32 programming that has semantics very similar to ruby and python and very clean minimalistic syntax. It called toit https://toitlang.org/ https://toitlang.org/
- lixtra 4y agoIt’s strange that in their examples they don’t show any I/O (apart from print). I would expect support from such a language to support me with I/O while I concentrate on my program. For example by providing an event loop. Of course, if I need a more performant approach I would switch to a low level language.
- scotty79 4y agoThe documentation at first glance looks like any general purpose language but they do have io through various buses: https://docs.toit.io/peripherals https://docs.toit.io/peripherals They also have nice simple tutorials. Not sure about the event loop. I don't think it's even based. Looks more like "immediate mode".
- the__alchemist 4y agoI concur that's strange; the homepage code examples are standard imperative things. Clean IO, peripheral APIs, scheduling/code structure, and resource sharing is what I'd expect as priorities from an embedded-dedicated lang.
- scotty79 4y agoI think they mostly try to introduce the new language itself. But surely quick "How to do Esp32 things" mirroring this http://docs.micropython.org/en/latest/esp32/quickref.html http://docs.micropython.org/en/latest/esp32/quickref.html would be very nice. Without it you need to look for tutorials and documentation tree or even documentation for specific packages providing embedded functionalities.
- 4y ago
- wslh 4y agoWhat is the price for this?
- the__alchemist 4y agoMeanwhile, we still can't buy many STM32s. An H7 project of mine has been on hold for 1.5 years. It's time I learn to program for Espressif.
- ta988 4y agoHave you considered the RP2040 for it? I switched many of my projects (they have low computation needs) to that and it worked well.
- mastax 4y agoLooks broadly similar to the stm32h7 series that I'm familiar with. Of course all of those are out of stock and cost up to $25. Presumably these are cheaper, though don't have onboard flash memory. The documentation for the STM32s is probably better though still not impressive, and the STM32 software libraries are nothing to write home about. I think the ESP IDF might actually be better though I don't have a lot of experience with it.
- blutack 4y agoHaving worked with both the ESP-IDF experience is far better than Cube MX or even HAL. FreeRTOS is properly integrated out of the box, and stateful drivers are implemented as FreeRTOS tasks. There are decent escape hatches if you need to get closer to the metal. TRM and datasheets are clean and good (and no forced registration like some vendors). H7 is a very beefy general purpose micro - more GPIO, multiple CAN, more UARTs etc. ESP shines when you need IP networking, wifi or bluetooth and can live within the (pretty generous) gpio and peripheral limitations.
- phoehne 4y agoThe ARM cores used in STM32s have great support. I think, at this point, almost any language and toolchain you could ever want. Good debugger support. The RISCV cores are going to get there and that's why I'm glad Espressif is moving that way. The Xtensa based ESP's are a dead end, in my very humble opinion. I'm also not sure about licensing, but I know STM32s that you buy as development boards have a non-production or non-commercial use clause. Which sucks if you want to produce something in really small batches. I don't know if ARM based Picos or RISCV ESP32s have that same constraint. But I doubt they do.
- mastax 4y agoThe H7 in particular had some bug which made debugging difficult, though I forget the details. I think it was fixed after a few months.
- pauljurczak 4y ago> I don't know if ARM based Picos or RISCV ESP32s have that same constraint. No, they don't. You can get the boards starting at about $2 a piece, which is about the same as STM32 clone boards.