I’m a Software Engineer, why should I care about Arduino?

Getting Started with Hardware Programming is actually Easier Than You Thought! Raspberry Pi, Arduino, What’s between them and Why it Matters

A few weeks ago, I was reached out by a popular Israeli podcast called “עושים תוכנה” (which means Making/Doing Software). As the name suggests, the subject of this podcast is Software Engineering. They asked if we could record an episode about hardware programming for software engineers. I was intrigued — my background is software, and even though I do hardware projects as hobby, I am also pretty active in the JavaScript, Angular, Cloud, and Google Assistant communities. So why were they particularly interested in me speaking about hardware?

My first time recording a podcast in an actual studio 🎤

Show me your Arduino

Arduino has become a buzzword. Many people use it as a generic term for a “programmable hardware board”, or more technically, any electronic board that contains a MicroController, a small processor that can be easily interfaced with other electronics and hardware.

an Arduino Uno clone (with some fancy hardware on the right)
This is the Arduino software

The Raspberry Pi 🥧

Another very popular device you have probably heard of is the Raspberry Pi. The Pi is actually a full computer — It has an HDMI output that you can connect to a monitor, USB ports (so you can easily connect a keyboard, mouse), Ethernet, WiFi, Bluetooth and it runs an fully fledged operating system — Linux being the most popular, but it can also run Android and Windows 10 IoT.

a Raspberry Pi with a 3G Cellular Internet Dongle in one of my recent projects
Arduino Uno and Raspberry Pi on the opposite ends of the device scale

You don’t tawk C++? Assembly?

When developers hear about hardware programming (or, as it is sometimes called, Embedded Programming), they usually immediately think of writing low-level code in C or even assembly. This used to be true for a long time, but today this is no longer the case.

Hardware game, completely powered by JavaScript.

Hello World, Who’s afraid of soldering?

If you never held a soldering iron, no worries — you can get a pretty good mileage with electronics without even touching a soldering iron. The “Hello World” program of Arduino is simply blinking an LED, and since the Arduino Uno has one built-into the board, you can get this “Hello World” up and running in less than 5 minutes. Programming the Arduino is as simple as connecting it to the computer with a USB cable and pressing a single button in the software to upload your code.

A Raspberry Pi connected to LEDs, buttons and a display using a Breadboard

Stay safe!🔌

When you deal with electronics, you usually deal with low voltages, typically 5 volts or below (at times 12V, but usually not much higher). These voltages are considered safe (unless you do stupid things like try to pass them directly through your heart for several minutes — don’t do that! 💔). When you deal with smartphone chargers or plug something into your car’s cigarette lighter socket, you deal with similar voltages, yet most of us do it regularly. So touching electronics with your hands is safe.

Working with hot-air gun and soldering iron on fine electronics circuit. Be careful not to burn yourself! 🔥

So why should you care about Arduino?

I meet many makers. Some of them have no background in software, and after they learned to design and 3D Print parts and models, and wire some basic electronic circuits, they eventually want to make something more sophisticated. Like a T-Shirt that can be controlled from a Slack chat. Then they suddenly have to learn programming — it usually starts with some basic Arduino code, but quickly gets complex when you add control-flow, functions, string manipulation and 3rd-party libraries into the mix.

Arduino Theremin — A software engineer built this just 2 hours after learning about Arduino in my workshop

Google Developer Expert for Web Technologies, Maker and Public Speaker

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store