Thank you @[email protected] & @[email protected] for those explanations ! So as I have my hand on a raspberry , I will give a shot with that first :)
microcontrollers
Welcome to microcontrollers
Related communities:
- c/embedded
- c/cprogramming
- c/askelectronics
- c/fpga
- c/chipdesign
- c/microcontrollers
- c/dsp
- c/rtlsdr
- c/raspberry_pi
I would suggest getting a raspberry pi zero or zero 2 and using CircuitPython or MicroPython. Adafruit has some really great documentation.
A normal Raspberry Pi (1,2,3,4,5 A/B) is actually a full PC and not a microcontroller. They run ARM chips just like your cell phone. The only special thing about them is they expose some I/O pins. Otherwise you program on them just like a normal linux PC.
Arduino and the Raspberry Pi Zero are true microcontrollers. They don't have operating systems and only run the code you load onto them. At this point you would choose Arduino if you want to use Arduino C and the extensive library of modules available, and you would choose a Pi Zero if you want to use Circuit or Micro Python. There are other hobby grade microcontrollers and other pros and cons but I think at the beginner level that's the core distinction.
MicroPython is a from-scratch re-implementation of the python interpreter for microcontrollers. CircuitPython is a fork made by Adafruit designed to be a little easier for students.
Start with a full sized Raspberry Pi. You will be able to use regular python to do stuff. When you're comfortable enough with it, move to Raspberry Pi Pico and MicroPython. From there jump to Arduino. You will still be able to use MicroPython but eventually you will end up with using C.
Also you should get some knowledge on basic electronics. The deeper you get, the more hardware related things you will need to deal with.