Trying to learn Arduino / blynk the right way

I have newbie skills when it comes to Arduino and Blynk code. I currently have an home automation program running on a Arduino Mega using Blynk technology. It works well but I created most of my code researching / copying examples and with the help of you people here on the forum (Thank you!). I would like to learn for myself so I can write efficient code. Can any of you recommend a online training or publication that I can review to expand my knowledge? I have already watched EVERY video on You Tube with reference to Blynk…

If you want to dig deeper than you just need to learn C++ and electronics. There are many courses online

Hi, I am in a similar position to yourself; self learning C++ in a mainly Arduino framework, but using PlatformIO as my starting point (which I can recommend!).

I have been doing similar to you; watching a lot of YT videos on how to use various low cost MCUs like the Nano, ATTiny, ESP8266, etc, and then trying some different projects to round out my knowledge using cut and paste, and trial and error methods.

I have a background in electronics and building control systems so learning how to program these MCUs directly has been fun and rewarding.

I have to say it has not been easy, but after putting in the time and effort experimenting with these modules, and as Pavel mentioned, learning how to write the programs in C++, it has become easier. Note I still write lots of comments in my code to explain what I’m doing (good documentation is key!), and I still have a long way to go on my C++ journey!

So these tasks include creating my own libraries in an effort to build a set of proven and reusable functions, and using Classes that then help me write code using the OOP method. This really helped me to understand the flow of the code, and can speed up future project development and reduce complexity too.

I have found the Blynk App to be a great platform that can be pretty easy to use, and have mainly used the examples found by searching GitHub to try different ideas. The main difficulties I have seen are really in the programming; like how to set up OTA firmware updates, and using deep-sleep modes.

Anyway I hope some of this has helped in some small way, and I wish you well with your projects!

  • Rex