DEV Community


Discussion on: I want to learn a new programming language. What should I learn?

bretthancox profile image

Arduino is the usual starting point for embedded software and that means a subset of C++.

Python is also possible through circuitPython/microPython, though your board options are different.

If you plan on using something like a raspberry pi, then the world is much more open. Many major languages have libraries for accessing the RPi GPIO pins and the board obviously has enough power for more advanced robotics than Arduino.

Many languages claim to support embedded development, but the boards/chips and the corresponding development tools are more problematic for a person learning. I'd look at the hardware and see what you like, then see what it supports.