My Guide to Microcontrollers


Scary Stuff

Often times I find that the hardest part of a project is finding a good place to start.
Will my concept work? Will I be able to source the parts? Is there well documented code
that can be used as a starting point for my work? Microcontrollers are daunting. My goal
for this guide I hope to give you, whomever you are, a stepping stone into my passion.
I may not be the best developer, and I'm certain that there are people who could give much
better advice than I could. However, I hope that my perspective gives you an unique light into
microcontrollers, and if nothing else makes you think just a little bit more about how the
world around you works.

What is a microcontroller?

A microcontroller is a tiny computer that is designed to do very specific tasks.
They could be used to turn the lights on and off over your home network. Or maybe to
make a macro keyboard for your computer. Or even a game console :D

There are hundreds of different microcontrollers on the market, and as someone new to the field
it can be daunting to decide what board you should use. However, I'm not going to go over
my personal opinions on how to microcontrollers in this guide. Maybe in some future post.

Where do I start?

For new hobby developers, I would suggest coming up with a project idea before you purchase a
microcontroller. Look around at other open source projects. Find some problem you wanna solve.
Or maybe just come up with some cool gag idea. Over the years I have found that the best way to
start learning programming, or development in general is to get that initial passion. Sure, you
may not have a clue where to start, but without passion it doesn't matter. If you want to make
something work, you will find a way to make it work, even if the solution is jank.

However, there are still good tutorials out there that lead you through the basics.
Sololearn's C++ tutorial is what I used to learn C++. They have great guides and the lesson structure
helped me learn and retain the information. However, microcontroller's dont use C++, they use ino C.
This makes everyone's lives more difficult, but it does help to grasp at least some C++ before diving
straight into doing microcontroller programming. If this is your first introduction to programming in
general, it might be a good idea to start learning the basics with a language like python before you
learn C++. But you don't have to. You can do whatever you want. :D
There's no "right way" to learn how do program. As long as you're having fun, and have passion for
what you're doing, you're gonna want to learn how to do it the right way. If I was in this for money
I would have switched hobbies years ago.

What board do I buy?

Personally, I would start with an arduino uno. They have good community support, and arduino has amazing
documentation. I suggest takuing a look at their setup guide. I personally suggest using Arduino IDE
2.0 as your development IDE, as it's probably the most user friendly way to start off. When purchasing
your uno, it wouldn't hurt to buy a kit that comes with wires and other components to start dipping your
toes into the water.

What next?

This part is for you to decide! I can't force you to do anything, I'm just some random guy on the
internet trying to maybe give you a stepping stone into a very fascinating hobby. Just remember that no
matter what you decide you want to do, you can always go to the community for help. The arduino forums
are full of questions, and there's a good change that whatever issues you're struggling with are things
that other people just like you have also had to deal with! If you can't find anything about the issues
you're having anywhere, then make a post in the arduino forums. There's a lot of people waaay smarter
than I am there, and I'm sure someone can help you with whatever you're struggling to do. :D


Home

About Me