I was fustrated to always needing to grab my ardunio, breadboard and jumper wires just to test a small servo, especially since I needed to connect all this mess to a computer. At the end of the day, it was a lot of work for not much and since I don't have a dedicated workshop, I could not afford leaving everything out.
The idea thus came, "Maybe I could use one of my arduino nanos to make a small console with everything already set up". I wanted to make use of a LCD screen, but in order to keep as many pins available I had to use the I2C module that comes attach to many LCD screens.
I had put together the bare minimum in terms of electronics to get the idea. The main issue now is that I needed to program the damn thing. I'm not comfortable with C++, but I really like Go. I was pointed to TinyGo Which would have been great. I found a fork with support for my LCD I2C screen, I programmed the menu, the buttons, scrolling, setting up parameters etc... Now I only had to program the servo control right... No! TinyGo does not support servos yet, and many of actuators won't be supported for now since they are having issues with timing on the board (or somethign like that). What were my options? MicroPython maybe? Nope, it won't work on arduino nano...
I was doomed to learning C. First thing I needed was an alternative to the arduino IDE ( I appreciate though very much dislike this interface). In place, I opted for platformio which integrates with many IDEs. In my case, I chose VScode.
I was all set! After many troubleshooting, and learning by example I managed to put together some code that works quite well with reletivaly intuitive controles. I'm currently expanding the number of devices that can be controlled with this console. If you check the github repo for the AVRaft, you'll see that I'm adding a new device every other day (at the time of writing).
Comments