> 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/module-capstone-project/capstone-tasks.md).

# Capstone Tasks

You have now individually integrated the various components on the *Arduino Zero-to-Hero demo board*.

The final capstone task for this project is to bring these skills together to build a **morse code generator** using the provided hardware.

{% hint style="success" %}
:100: **Finish The Job:** If you've saved your code blocks from the previous tasks, this final integration should be quick and easy!
{% endhint %}

### Capstone Task - Build a Morse Code Generator <a href="#capstone-task-send-a-secret-code-message" id="capstone-task-send-a-secret-code-message"></a>

Using the provided hardware, create a device which:

* [x] Features [Clean Code](/zerotohero/arduino-zero-to-hero/core-skills/clean-code.md), which is well-commented.
* [x] Reads the state of the push button and potentiometer on the demo board.
* [x] Displays a regular heartbeat/sign of life via the onboard LED of the Arduino, using [Clean Code](/zerotohero/arduino-zero-to-hero/core-skills/clean-code.md#functional-programming) and  [Timers](/zerotohero/arduino-zero-to-hero/core-skills/timers.md), at a frequency of $$5;\text{Hz}$$.
* [x] Reports the button state and potentiometer percentage via Serial, at a Baud rate of `9600`, and with a frequency of $$5;\text{Hz}$$, without using the `delay()` function.
* [x] Illuminates the external LED with a custom colour:
  * [x] Only when the push-button is pressed,
  * [x] Modulating the brightness of the LED based on the position of the potentiometer.
