For the ESP32, an hero is in the process of adding LVGL[1] to ESPHome[2][3]. You can try it out now: <a href="https://github.com/esphome/esphome/pull/6363">https://github.com/esphome/esphome/pull/6363</a><p>Here's the (very good!) preview documentation: <a href="https://deploy-preview-3678--esphome.netlify.app/components/lvgl.html" rel="nofollow">https://deploy-preview-3678--esphome.netlify.app/components/...</a><p>This is such a game-changer for me that I'll be using the ESP32 over the ESP8266 for any projects involving displays from now on.<p>[1]: <a href="https://lvgl.io/" rel="nofollow">https://lvgl.io/</a><p>[2]: <a href="https://esphome.io/" rel="nofollow">https://esphome.io/</a><p>[3]: ESPHome on HN yesterday (500+ points): <a href="https://news.ycombinator.com/item?id=40138228">https://news.ycombinator.com/item?id=40138228</a>
I spent the latest three or four months doing embedded programming. After using extensively the ESP8266 and ESP32, now I'm quite certain I prefer big times the RP2040 (that is, the Raspberry Pico processor, but you can find it in different non-Raspberry produced development boards). The reasons are easy to summarize:<p>1. Vastly superior C SDK, and even the MicroPython support appears to have an edge.<p>2. Fantastic documentation, even if in PDF form, which makes a bit less accessible for us and especially for LLMs training data crawlers. In general LLMs know a great deal more about ESP stuff than the RP2040.<p>3. Almost every RP2040 can be overclocked to 400Mhz and work stable, and I could say basically <i>every</i> RP2040 can be stable at 350Mhz, so when comparing performances, account for this.<p>4. Very smart hardware capabilities: state machines for programmable pins (PIOs), great DMA support, hardware interpolators.<p>5. High quality hardware, and if you don't need the version with wireless, the cost is still quite reasonable. 3/4 euros/dollars per piece.<p>6. When you need the "W" one, the wireless chip the Pico uses has its own ARM processor, so you continue to have the two RP2040 cores spare for your application.<p>7. Memory mapped flash with execute in place. You can read from 0x1000000+offset just deferencing a pointer and that's it, you access your flash.<p>8. More GPIOs available.<p>The big disadvantage of the RP2040:<p>No SPI RAM support. At this point many ESP32 boards have built-in SPI and this makes memory a lot less a scarse resource.<p>To familiarize with the ESP family is useful since they are everywhere and are extremely cheap for what they offer. But still, I would start basically any new project where I have choice with the RP2040.
This is a good and extensive guide.<p>Most guides out there work with dev boards that are powered by usb. It's great to see a section dedicated to power them with alternatives like LM-1117.<p>I'm still hoping to find a guide dedicated to power management of espxxx boards that includes guides for powering them with a range of sources like coin cells, aa, lithium, 9v, 12v batteries etc along with a primer on different features (like sleep modes) and their impact on power consumption to maintain the battery life.<p>I always see mentions of all these interesting diy projects but not how they are powered. So, its difficult to get a complete picture of the maintenance needed and their usefulness in the long term.
My 14 year old has gotten so into arduino this year. ChatGPT was a game changer for him.<p>He is using a pair of ESP32s with cameras to make a “mom detector” so he has more time to switch tabs.
I recently got mine out of the stash of "things for future projects" and I wanted to program it using PlatformIO and the RTOS SDK, but that's terribly outdated, with parts of that stack newer and it just doesn't work. Should I use the Arduino framework? That's boring, I did that already with arduino boards. Or maybe I should install the official Espressif toolchain and try the RTOS framework there? It is a bit dated, but I guess if the hardware didn't change, the software doesn't have to either. If anyone wants to give a recommendation, I want to make a system that listens to an endpoint (EC2 atm) and sends wake on lan packets to my devices that join a VPN after booting, so I can access them from anywhere.
esp32 s3 or c6 can be better to get started with:<p><a href="https://gist.github.com/sekcompsci/2bf39e715d5fe47579fa184fa819f421" rel="nofollow">https://gist.github.com/sekcompsci/2bf39e715d5fe47579fa184fa...</a>
Is the Arduino IDE the best way to program these chips? Is there something more "professional", for Linux? Anyone programming with just CLI tools and without Arduino libs?
I always see these low prices (<$5) on articles and comments but this doesn't seem the be the case for the boards people actually recommend. Are people buying on aliexpress or other cheap alternatives?
What's the equivalent to foreman/quickstart but for embedded devices, ie you got a bunch of devices, different architectures, different sensors to different pins, different versions of firmware, some of them off, how do you keep track of them?
It's pretty cool how cheap and capable microcontroller dev boards are these days, I just have a stash of two-three dozen esp8266's, esp32s and rp2040s laying around, convenient to just be able to grab one whenever something I'm tinkering with could use some intelligence.
Very clean guide. I wish I had something like this when I attempted to make my Roomba "smarter": <a href="https://github.com/krish98sai/smart-roomba">https://github.com/krish98sai/smart-roomba</a>
Strange to see an overview of network protocols in the guide, and a web server in the SDK: they are very generic, do not seem like any of that should be specific to ESP8266.<p>Edit: Removed two points of the comment that were wrong (as mentioned in a reply).