6
610r
7y

Seriously interested in microcontrollers. Not sure where to start though. Any suggestions?

Comments
  • 4
    Arduinos and Raspberry Pi's are cheap, easy to use, and extremely popular. Go on adafru.it and browse. They have good stuff of their own as well.
  • 0
    @chadd17 Thanks, thats a quick one!
  • 1
    If you want to get closer to the hardware than an Arduino or Raspberry Pi will allow, you could give PICs a go:) Though I will say that the Pi is excellent for understanding embedded Linux.
  • 3
    AVRs are a good start, because they are simple enough that completely understanding them is feasible. I started my with them and assembly (and later C) and soon knew them like the back of my hand.

    The original Arduino is based on an AVR, too. As far as I know, Arduino was built for artists needing to quickly build installations. And it's fine for that purpose. There's hardly a better way if you want something working quickly, without much experience in the field.

    But a large part of the Arduino community mainly is sticking libs together and expects it to work (which it does in most of the cases). If you want to gain a deeper knowledge, Arduino is probably not a good starting point. The libraries are written for maximum user-friendliness and check a lot of edge cases for you, so you don't know what's really going on under the hood. Apart from that, the “IDE” is just shitty.
  • 2
    My advice: If you really want to get to know microcontrollers, look for a nice bare-metal tutorial (sadly, I only can recommend a good one in German) and start without any software frameworks. These are fine if you don't have much time and don't want to gain deeper knowledge.

    Start with a simple architecture like AVRs or 8-bit PICs, you can more easily switch to more complex controllers like ARMs later.

    Sorry, comment got too long, had to split it up.
  • 3
    But that might be just my subjective point of view. I am not particularly fond of Arduino, especially since I participated in some kind of educational contest back in school, where we had to program Arduinos. The code templates we were given were already horrible and showed no sign of understanding the constraints of embedded development. Sure, they worked in the end, but there were ways orders of magnitude more elegant and efficient. For me, an elegant solution is so much more reqarding than a barely working, ugly solution, so I prefer getting to know what the device I'm running my code on is capable of before I start patching snippets together.

    Sorry, had to get that off my chest. I should probably stop ranting in other people's comment threads.
  • 1
    I like Arduino, but I am just beginning with this, so do not listen me. :)

    I want to keep me updated with this "rant", so I had to comment.
  • 2
    @7400 Woah. Thank you very much for detailed explanation! Wish I knew German lol
Add Comment