Arduino Modular Design Challenge

Arduino Leonardo development board
Arduino Leonardo development board.

It’s time to test out a modular text-to-speech board, and five Arduino models came to mind while looking for something to control it. Let me know which model you want to see connected first!

Notice of Non-Affiliation and Disclaimer: As of the publication date, we are not affiliated with, associated with, authorized by, endorsed by, compensated by, or in any way officially connected with Arduino, Arm Holdings, OSEPP, Parallax, Microchip Technology, or their owners, subsidiaries or affiliates.  The names Arduino, Arduino Portenta, Arduino Uno, Arduino Leonardo, Arduino Due, Arduino Portenta, Arm Cortex, OSEPP, Parallax, Atmel, as well as related names, marks, emblems, and images are trademarks of their respective owners.

How to Participate

Through the month of October, the Bill of Materials poll will tally up which of the 4 Arduino models below viewer want to see used the most.  The model to receive the most votes will be the one to be featured first with the text to speech module. 

  • Arduino Uno
  • Arduino Due
  • Arduino Leonardo
  • Arduino Portenta H7

As a bonus, there is a 5th Arduino model that will be featured in this application as well.  To learn what model it is early: you can support Unboxing Tomorrow on BuyMeACoffee.com or Patreon.com for early access!

Objectives

The objective in this project is to control a non-Arduino text-to-speech (TTS) module using one of the Arduino models readily available.  Doing so will entail powering both the Arduino and the TTS system from a common power supply, but not necessarily a common voltage.

By design, the TTS system requires a universal asynchronous receiver-transmitter (UART) as its control channel.  Although the TTS uses a fairly unique protocol in its UART communications, this protocol is also simple and intuitive enough to implement using any of the Arduino modules listed below.

The primary challenge with this particular TTS is its 5-volt core voltage.  This is the voltage level that the UART requires, yet some Arduino modules are not 5-volt tolerant (although I did once feature an Arduino that can easily switch between 3.3-volt and 5-volt mode).  With all these objectives in mind, here are the options…

Arduino Uno

The model Uno is likely where many Arduino users of the past 2 decades got their start.  Arduino’s official Uno is based on the Atmel 8-bit AVR core, which is now owned by Microchip Technology, Inc.  Generally, the target of an Arduino Uno application is an Atmel ATMEGA328P microcontroller.

The official Uno originally used the through-hole variant of the microcontroller.  Unfortunately, this variation bore the brunt of the latest chip shortage.  This and other factors made the thick quad flat package (TQFP) and quad flat non-leaded (QFN) version a bit more desirable to the point there is now an official surface-mounted device (SMD) version used on the Arduino Uno Revision 3 SMD.

Arduino Leonardo

At first glance, the Arduino Leonardo looks just like the Uno.  This is due to many Arduinos reusing similar form-factors for compatibility.

The standout difference between the Uno and the Leonardo is how the universal serial bus (USB) is handled by the on-board hardware.  The ATMEGA328P used on the original Uno does not contain a USB controller of its own, whereas the Leonardo’s ATMEGA32U4 contains a USB 2.0 controller in addition to most peripherals the Uno has.

There is a clear advantage here for applications needing to operate as a USB device (such as a keyboard or mouse emulator).  The Leonardo’s USB also eliminates the need to have a separate chip act as a USB bridge to the Arduino.  Possibly as a result of this: Leonardos generally cost less than Unos from the same vendor, despite both having AVR cores of roughly equal computing power.

Arduino Leonardo is one of the 3.3-volt Arduino models, meaning the TTS module will need a logic level conversion stage between itself and the Arduino Leonardo.  Otherwise the TTS module’s UART transmitter will expose the Leonardo to a voltage it cannot tolerate.

Arduino Due

Arduino Due (due being Italian for “two”) is a major step up in performance from the previous two Arduino models, and even larger models like the Arduino Mega2560.

It’s most notable distinction from the other models featured today is the high input/output count and its larger footprint.  But programmers will notice this system is based on Atmel’s Arm Cortex-M3 series.  The 32-bit Cortex M3 series is a completely different instruction set architecture (ISA) from the 8-bit AVR core, and therefore Arduino sketches will come to depend on a different set of software libraries from the Uno, Leonardo, Portenta, or Mega2560.

The upside is the substantial increase in computing power the Due has over the Uno and the Leonardo.  Arduino Due users have already ported real time operating systems (RTOS) such have FreeRTOS to the Arduino for more advanced projects that can benefit from FreeRTOS task scheduling.

Arduino Portenta H7

Out of all the models featured here so far, the Portenta H7 has the greatest computing power and the widest set of peripherals.  This system contains a STM32H7 dual-core microcontroller with an Arm Cortex M7 running at 480 MHz and an Arm Cortex M4 running at 240 MHz.  The user can push an Arduino sketch to either core as if they were two independent Arduino boards, however the M4 core is effectively the “optional” core.

The original Portena H7 also contains wireless peripherals for WiFi, Bluetooth and cryptographic authentication.  This makes the platform effective as both a web server and a Wi-Fi access point without the need for any accessory boards or other modifications.

The pin count of the Portena H7 is quite high.  Therefore, a user should plan to use the high-density connectors on the bottom of the board in order to access every feature the original Portenta H7 has to offer.

Important Notice: This article and its contents (the “Information”) belong to Unboxing-tomorrow.com and Voxidyne Media LLC. No license is granted for the use of it other than for information purposes. No license of any intellectual property rights is granted.  The Information is subject to change without notice. The Information supplied is believed to be accurate, but Voxidyne Media LLC assumes no responsibility for its accuracy or completeness, any error in or omission from it or for any use made of it.  Liability for loss or damage resulting from any reliance on the Information or use of it (including liability resulting from negligence or where Voxidyne Media LLC was aware of the possibility of such loss or damage arising) is excluded.