ESP32 Boards Manager 3 for the Arduino IDE offers a wealth of improvements and new features, but it renders a lot of older code incompatible. Today, we’ll look at Boards Manager 3 and see the changes you’ll need to make to update your old sketches.
Since July 2024, Espressif’s ESP32 Boards Manager 3 has been the default boards manager for ESP32 boards. That was about the time that some of your older code, and a lot of the code I provided here in the DroneBot Workshop, started to fail to compile.
Boards Manager 3 offers a wealth of improvements and new features, but it also has changed how many ESP32 APIs function. Some features have been removed and replaced with new features; some are the same but with different syntax or mandatory fields.
This is not a minor update, and it coincides with the release of Espressif’s ESP-IDF Version 5.3, the “official” ESP32 development platform. Version 3 brings a lot of the power and capabilities of this complex development environment to the Arduino IDE.
Version 3 also supports more hardware, including the ESP32-C6 and ESP32-H3 SOCs.
Of course, I can’t cover all of these updates in one video, not even one that's 45 minutes long! Instead, I will focus on three major areas:
I2S - The audio service supported by the ESP32.
ESP-NOW - The ESP32 peer-to-peer networking service.
LEDC - The LED Controller, also used as a PWM generator.
Here is the Table of Contents for today's video:
00:00 - Introduction
02:03 - ESP32 Boards Manager 3
06:45 - Keeping Version 2
11:27 - ci.json File
12:41 - Updated - I2S
22:28 - Updated - ESP-NOW
33:29 - Updated - LEDC
42:21 - Conclusion
The article on the DroneBot Workshop website has more information and links to several resources by Espressif that can help you. Check it out at https://dronebotworkshop.com/esp32-boards-manager-3.
Hope you enjoy the video!
Bill
"Never trust a computer you can’t throw out a window." — Steve Wozniak
@dronebot-workshop Hi Bill, good to see you back in the saddle.
Your article forced me to really think about how to deal with this situation. What I chose to do is to dedicate my Win 11 pc to only use V2 and never upgrade until V3 is 100% implemented which could be many years as many 3rd party libraries are not actively maintained. The Win PC is in my 'shop' while I mainly code while relaxing on my recliner. I use the free (3 desktops) copy of VNC server/viewer to put the Windows desktop on my Mac. The Mac is my primary development machine and will be kept current. The Win PC will get the Auto Update setting turned off.
I don't run a VM anymore, the mini-PC was cheaper and I couldn't get any of the free VM's to work.
Thanks for the inspiration!
First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, 360, fairly knowledge in PC plus numerous MPU's & MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.
ESP32 Boards Manager 3 has breaking changes (I2S, ESP-NOW, LEDC APIs). Old code may need updates; older libraries might not work. Version 2 is still available but won't be supported long-term.
regards
pawan
@pawantanwar That is what Bill was telling us in the video, did you have something to add to his excellent coverage? Boards 2 is no longer being maintained, but it will be around for years since many of the 3rd party libraries don't really have a maintainer.
First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, 360, fairly knowledge in PC plus numerous MPU's & MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
My personal scorecard is now 1 PC hardware fix (circa 1982), 1 open source fix (at age 82), and 2 zero day bugs in a major OS.