Elektor Lab Notes 18: Espressif Developer Conference, LoRaWAN project and More
Saad Imtiaz (Senior Engineer, Elektor)
LoRaWAN Project Power Optimization: Lately, I've been focused on designing a module to minimize idle power consumption for the LoRaWAN project. The core of this design is the MAX31334 Ultra Low Power RTC with a Power Switch, which theoretically can drop the idle power consumption to just 70nA for timekeeping (though this hasn't been tested yet). More details on this will be featured in the November-December edition of Elektor Magazine.
Computer Vision Experimentation: On the computer vision front, I've been revisiting my previous CaptureCount project, which used YOLOv3. It’s been almost a year since that project, and now faster and more advanced models like YOLOv5 to YOLOv10 are available. I've been testing these newer models and planning an updated version of the CaptureCount project. However, instead of counting objects, the new goal is to create an intruder alert system that processes streams from IP cameras and sends alerts. But, as we all know, plans can evolve during execution, so we'll see where this one goes!
Jean-François Simon (Engineer, Elektor)
Espressif Developer Conference: in early September, the Espressif Developer Conference took place. The topics covered were quite varied, with about thirty presentations in total. I've watched a few, and the two I'll cover in these notes are “What's New in Espressif IDE and Debugging Essentials” and “Flash Less, Do More: The Magic of Virtual Hardware”.
While I’m very far from being an embedded software or hardware expert, the content felt accessible, and I learned a lot that could be useful for future projects. One of the most notable changes introduced in Espressif-IDE version 3.0 is the new C/C++ editor based on LSP. Apparently this choice has been made to solve some issues that users encountered using the latest versions of C++. This is discussed in more detail here. The video describes a few of the main features of the new editor. Another upgrade is the ESP-IDF Managers view, which allows to work with different versions of the IDF framework: installing, switching between versions, updating, etc. Other updates are described, I'll leave it to you to watch the video and discover them!
The second half of the presentation gives some debugging tips. It describes the use of GDBStub as well as core dumps for “post mortem” debugging, and talks about live debugging using OpenOCD. Exception handling is also discussed. Most of this is way over my head, but it's nice to have detailed information delivered straight from Espressif engineers. For someone like me, who is curious about both embedded software and hardware, this presentation gives a nice overview of the possibilities and points out topics I'll need to find out more about. There’s a lot more I need to explore! If you’re working with ESP32 series microcontrollers, you can watch the video here.
Wokwi: the second presentation, “Flash Less, Do More: The Magic of Virtual Hardware” was fascinating. The focus was on simulating embedded systems, specifically using the Wokwi suite developed by Uri Shaked. In this example he is of course focusing on ESP32, but Wokwi also supports Arduino, Raspberry Pi Pico and STM32 chips. You can build virtual circuits using these microcontrollers and a plethora of virtual sensors, displays, etc. Then your source code is compiled exactly as it would with the physical board, and finally the binary is run in the simulator, in various environments like VS Code, JetBrains, or even directly in the browser.
This makes it easy to prototype without the hassle of flashing firmware repeatedly, which really speeds up development cycles. I was very impressed by the advanced features like simulating Wi-Fi connections and custom chips that you can “build” yourself using logic implemented in C if the component you want to use doesn’t exist yet in the database. The debugging features are also very powerful, especially with tools like the virtual logic analyzer which can export a signal waveform to be viewed in Sigrok’s Pulseview. Awesome stuff! This simulator seems like a perfect tool to experiment and test ideas quickly. If you're involved in embedded development, particularly with ESP32, you might be interested in trying it!