The next Arduino expert--Could be *YOU*!

Hi, folks,

One thing that I keep getting asked about regularly is Arduino. I have no problem answering the questions, but I do keep giving the same answers so I figured I should post about it so people who are afraid to ask me (I can be intimidating in person since I’m kind of large and loud) can also benefit.

  1. Just Do It™

The Arduino community is by far the most entry friendly community around. Arduino’s are down at the $10 range. And you can get entire kits for $20.

Get a kit and jump in. There’s really no substitute.

  1. Community. Community. Community.

The whole point of Arduino is the community and ecosystem. You want to read forums, Facebook groups, etc. and lean into and share what other folks are doing, etc. If you’re not doing this, you’re not getting the full advantage of using an Arduino.

In addition, after you have been on these kinds of forums, YOU are the expert now. Yes, I know general microcontrollers extremely well but I don’t hang out in the Arduino areas, and it doesn’t take much mucking about in the Arduino community before your specific knowledge will exceed mine–probably by a lot.

  1. Not knowing something is perfectly acceptable and EXPECTED

Most of the people using Arduino’s are just like you–bright and motivated. And most of them are also like you in that they probably don’t have highly technical backgrounds (although some do). Nobody knows everything offhand. Most of it can be looked up–Google is your friend for searching(mostly–sometimes a search engine like DuckDuckGo or Runnaroo may be better for technical searches).

And, I’ll let you in on a dirty secret, even when I’m doing stuff professionally and reading datasheets every day–I don’t know everything, either. I post on manufacturers forums; I talk to manufacturers reps and field application engineers; I discuss it with colleagues. This is just how things are done.

  1. Don’t be afraid to teach

You don’t need to have superhuman knowledge to teach this stuff. Make sure you do some preparation ahead of time so you’re not completely unqualified, but don’t kill yourself over it. Mostly, you need patience for dealing with students and figuring out their mistakes.

Sure, the first time you teach anything is rough. Remember, “I don’t know” is perfectly acceptable, but you should then try to go hunt it down with the student. It will be natural to think you didn’t do very well the first time you teach something, but you’re almost certainly being harder on yourself than the audience are who are generally grateful for what you are doing or they wouldn’t be there. Nobody is being graded and tested so you’ve got a lot of leeway.

However, the second time you teach something is a LOT easier. Students tend to make the same mistakes and you’ll recognize them after seeing them a couple times. And after 3 or 4 times you’ll have it down cold and people will think you’re something amazing.

As a side note, if you’re teaching a group of children, one thing I strongly recommend is that there be two adults running things. Trying to help someone technically requires focus, and it can be difficult to focus while also keeping control over a classroom. Having a second adult helps that even if they don’t know anything about the subject matter.

Hopefully this is helpful to some folks. And, as always, feel free to ask questions.



What level of expertise do you thing is the baseline?
I’ve built a number of cool arduino projects but I don’t think I’m at a level to instruct someone else because I still run into walls and have to spend days unraveling my mistakes. So I’m not there yet.

But at what point do you think someone is qualified enough to instruct someone else so it isn’t the unqualified leading the unqualified?

You’re actually probably already qualified. I’m not joking. You will always run into walls and spend time unraveling mistakes when you’re doing something new. However, actually finishing a project (aka “shipping it”) gives you a huge amount of knowledge that people who haven’t finished a project simply don’t have.

As one of my mentors put it: “80% of the learning occurs in the last 20% of the project.”

The big thing that I can never overemphasize: instruction is about preparation more than knowledge. An instructor who puts in the time–puts together the materials, tries out and debugs their own slides and handouts, gives the talk a couple times to themselves for practice, etc.–will outperform all but the absolute deepest expert on a subject–and will probably outperform even the expert.

When I gave an online talk for a Rust project, I spent probably 40 hours organizing, rehearsing and giving the talk multiple times before the actual presentation which was only 20 minutes. When I taught computer science classes, I was in the range of about 30 hours prep for each 6 hours of lecture.

This is why I generally won’t take on a talk or class unless I have some idea that I can give it multiple times–giving a talk or class is hard work. For some reason, people don’t ascribe “lots of work” to people who are “really good at giving talks”.

Teaching is about putting in the work; there is no subtitute. And putting in the work also tends to make you an expert. Funny how that works. :slight_smile:

I would encourage you to put together the materials and teach if you feel you have the demand from students. If you really feel the need, I would be happy to review your materials once you organize them together.