For a fun side project in Arduino, I discovered you can use the Platform.io plugin to do tons of embedded programming in VSCode.
For hobby projects, proof-of-concepts, or really simple products, Blynk could be a good solution. I would happily use it to build a prototype.
Embedded systems for hobbyists is a lot larger than the world of Arduino. New and interesting projects will open up to you once you explore other platforms.
There are great resources for electronics beginners to learn Arduino—not for people who want to learn general microcontrollers.
Arduino example sketch that demonstrates a simple task scheduler, an ISR (interrupt) configuration, and a measurement of CPU utilization over one second.
I want to share an example so simple, and a list of instructions so complete, that pretty much anyone can start to do TDD in embedded.
The Arduino C Scaffold is a project environment for stepping outside the Arduino IDE and into the land of embedded C programming.
We asked a lot of questions starting a technical spike with XBee radios. Hopefully, some of the answers we found can save you some time and frustration.
I just started working on a new rev of some Arduino code originally written by someone else, consisting of half a dozen PDE files plus two contributed libraries.