People ask me how to start learning the Arduino. Which kit to purchase? Which book or course? Which board? Which components?
In this post, I’d like to answer this question based on my experience as a teacher, but just as important, as a learner.
Like most things, to get started with the Arduino you don’t need anything fancy. If you want to learn Arduino, get an Arduino (assuming you already have a computer). You can learn a lot with just the Arduino and nothing else.
It doesn’t even have to be a genuine Arduino board. If budget is an issue, get a $10 clone. The construction quality will be poor, the pin headers may break down after some use, but it will work long enough to help you start.
With only an Arduino board and your computer, and no other components, you can play with the built-in LED, and practice a lot of programming. In my course Arduino Step by Step Getting Started, you will find a lot of content that you can learn that only needs the board and nothing else.
When you want to learn more, you can purchase a few buttons, resistors, LEDs, sensors and a mini breadboard for less than $10. A thermistor and a photo-resistor cost a few cents each. A pack of resistors just a couple of dollars. You can learn a great deal about the Arduino and how to write programs and interact with the environment with a total investment of around $20.
From there onwards, you have many choices. If you are budget-conscious (which you should), I would strongly recommend being very specific about what you want to learn, and then purchase what you need. For example, if you’re going to learn how to use a DC motor, then buy a couple of cheap motor drivers ($2-$3 each) and small DC motors (~$2 each). Explore this hardware with a lot of intent, before you are satisfied that you have conquered them. This $5 worth of hardware will give you so much to learn and can keep you busy for weeks.
Then repeat the same for whatever it is that you want to learn next.
A lot of people want to learn the Arduino because they have a specific project in mind. They want to build something. Perhaps it is a home automation project, a watering system for their garden, a game. If that is the case, then you should spend a bit of time to figure out the functional components of your project. Motors, communications, sensors, storage etc. Break things down in detail so that you can come up with a plan that lists out your learning objectives. Then, plan for the specific hardware you need, and spent time learning one after the other.
Getting started with anything new is the hardest part of any learning. Its when most people give up because they find the topic too hard, too confusing.
As a learner, you must take care to reduce this risk so that you can achieve your objective. In my experience, starting with complicated targets and underestimating the amount of time you need increases your risk of failure.
So what to do?
Start with the most straightforward, simple set of objectives that you can think. Then, give your self a reasonable amount of time to achieve them.
Instead of saying “I’ll build a home automation system”, say “I will make an LED blink.”
Instead of saying, “I’ll do it in a week”, say “I’ll learn how to blink an LED this afternoon”.
One step at a time, giving enough time to learn, understand, and become confident, will help you achieve your learning objective (and any objective) with a much lower risk of failure.
I have had thousands of students over the last 20 years. It was fascinating to notice the kinds of questions they asked.
Most students that failed would ask me questions such as “will topic X be in the exam”? Wait for a second, we are not even halfway through the semester, and you have an assignment due tomorrow. Why are you worried about the final exam?
Most students that succeeded in the exams would ask me questions relating to something that I said in the present lecture or something that troubled them during their recent study. Their questions were always about specific and current things, focused on the details. I could see those students were good at not getting distracted by the size of a textbook (“there’s so much to learn!”), and instead focusing on a single page, a single paragraph, or a single formula.
The more I think about this need for simplicity in learning, the more I realise that it eventually becomes identical to meditation. While there are many schools of thoughts in and around meditation, whether it is Zen, Transcendental, or Mindfulness, to name just a few, they all revolve around focusing on a single target. This target can be an image, a breathing pattern, a mantra or a heartbeat. The more you train in medication, the more effective you become not just at achieving that single target, but also at achieving a great variety of targets. Meditation teaches a method that is compatible with many goals. .
A learning method that is based on simplicity and decomposition is very similar. Break down complex and long objectives into a series of simple and short ones. Focus on a series of wins over those objectives, and you will achieve your goal, step by step.
To conclude, when someone asks me how to start learning the Arduino, I suggest they start with the Arduino. It is the only thing you need to get started; the only thing that you need until you are ready for the next step.
This is the advice I would give to anyone asking to learn something new. Start with the first, simple step, and take it from there.