> For the complete documentation index, see [llms.txt](https://monasheng.gitbook.io/zerotohero/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://monasheng.gitbook.io/zerotohero/arduino-zero-to-hero.md).

# Arduino Zero-to-Hero

{% embed url="<https://youtu.be/hZ1uP0nah28>" %}

Microcontrollers (MCUs) are miniature, lightweight computers that are typically used to perform low-level software/hardware interactions, for instance:

* Interacting with sensors to read and process data, and,
* Interacting with actuators to alter the physical world (e.g. by opening/closing valves, driving motors, etc.).

There are many microcontrollers available for use, but the among most common and easy to use for beginners are the [Arduino ](https://www.arduino.cc/)family - which are open-source and are supported by wide range of third-party accessories/sensors/actuators and endless learning resources online. If you learn how to use an Arduino, you'll be able to extend this knowledge to other, more involved MCUs (e.g. the STM32 family).

<figure><img src="/files/aISl5lfNjEDHORc3xCGK" alt=""><figcaption><p>Microcontrollers are much smaller than normal computers. For example, the Arduino Nano is about the size of a pinky!  Image remixed from: <a href="https://blog.arduino.cc/2019/05/31/getting-started-with-the-new-arduino-nano-every/">https://blog.arduino.cc/2019/05/31/getting-started-with-the-new-arduino-nano-every/</a></p></figcaption></figure>

## Learning Outcomes

In this short course, you'll learn:

* [x] how Arduino MCUs work, and the wide range of potential use cases for them,
* [x] how to use the *Arduino IDE* to write code for Arduino MCUs and deploy this code to them by a process known as *flashing*,&#x20;
* [x] how to interact with Arduino MCUs in-operation using a *serial monitor*, and,
* [x] how to use Arduino MCU input/output pins to provide constant/switched power, and interact with sensors and actuators.

## Module Capstone Project

The capstone project for this module entails using an MCU to build a simple morse-code device that:

* Reads human inputs from a button and potentiometer, and,
* Acknowledges this input with:
  * a sound, and,
  * a mixable RGB light.

<figure><img src="/files/zbyMnzea7tjCE2hv0S3x" alt=""><figcaption></figcaption></figure>
