I'm currently trying to learn electronics / robotics / control theory and I'm struggling a bit as I feel like I've fallen into a gap between extreme beginner and extreme expert. I guess to some extent that is normal, but it seems like everywhere I go for help on something new I get pushed back into the Arduino ecosystem. I'm sure it's possible to take Arduino to a much bigger level, but I'd like to learn some more intermediate concepts like:
* How to write code targeting a non-Arduino microcontroller, preferably with a newer language like Nim, Rust, or Zig (I really value the benefits of higher level languages)
* How to use an RTOS like FreeRTOS, Zephyr, or L4. More than just installing it and running Hello World... I'm looking to take advantage of their actual benefits over the OS-less alternative.
* How to interface with and control devices beyond GPIO pins and PWM protocols.
* How to write actual drivers (instead of doing everything in a `void setup/loop` construct), including any sort of design patterns or general rules for producing higher quality and more reliable and robust code.
Are there any good resources for this sort of jump out of the Arduino ecosystem? More advanced concepts that would allow for building an actual product instead of a weekend project?
Once you have a board the next step is ARM's Keil Studio Cloud if you want the "Arduino-like IDE experience." They formerly provided the MBED platform, which was very good, but they've recently transitioned it to the Keil online IDE. These tools can push compiled code to your attached ST dev board through your browser; nothing to install. The GNU GCC ARM stack is easily used with ST-Link as well.
There are a large variety of RTOSs for these boards. ChibiOS/RT is a good place to start. ARM's Open Source MBED-OS is another.
Embedded Rust developers often target these boards.
[1] https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.h...
I wish I had the ML background to work on some autopiloting.
I'm in a similar spot, but I have no electronics/robotics experience at all (besides building an FPV drone). I'm just a programmer. I searched a lot for "cool arduino projects" the past few days, but I couldn't really find anything that appealed to me.
I think i'll probably use some, but it'll end up being practical. Like one to monitor the level of my rainwater tank or something. Not fun, robotic-sy stuff.