cross-posted from: https://programming.dev/post/18765600
Hi everyone,
I would like to learn to program and built project using MicroControllers
I’m a Python dev. Therefore I would like to use it to program those.
But I’ve no idea where to start…
- For the hardware:
- What will be the best Raspberry Pi or Arduino ?
I know they are not the same thing but could tell me in which situation you use more one than the other ? Or do you use something else ?- Software
- I’ve already my IDE VisualCodium
What is MicroPython Vs CircuitPython ?If you have any resources I’m all eras.
Thanks.
Thank you @TheOneCurly@lemm.ee & @fart_pickle@lemmy.world for those explanations ! So as I have my hand on a raspberry , I will give a shot with that first :)
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.