error: too few arguments to function 'hw_timer_t* timerBegin(uint8_t, uint16_t, bool)'
error: too few arguments to function 'void timerAttachInterrupt(hw_timer_t*, void (*)(), bool)'
error: 'timerAlarm' was not declared in this scope
Other internet searches have led me to believe that this is due to using a different (i.e. older) version of the library. But I have no clue where to find the proper version, and how to download it, and install it within Platform IO.
You’re getting tricked by the fact that PlatformIO in the standard espressif32 platform still uses Arduino-ESP32 2.0.16 as its Arduino core. (due to politics).
As you can see per
the function timerBegin takes 3 arguments in Arduino-ESP32 2.0.16, but, in Arudino-ESP32 3.0 you have
A changed API in which that function only uses one argument.
Thus, you can either rewrite the code to use the Arduino-ESP32 2.x API and keep platform unchanged, or, make PlatformIO use Arduino-ESP32 3.x by using unofficial platforms or packages. See
The installation of a framework takes a while. Even after the framework has been installed, further components are installed - which can also take some time.
Be patient and wait until PlatformIO has completed all tasks. Then restart VS-Code and open the project.