PROJECTS: ARM Arduino Boards
Vidor also adds a micro-HDMI port — because
it’s fast enough to generate video frames in
real-time.
OPERATING VOLTAGE
In contrast to the Arduino Uno, which operates
at 5 volts, the ARM boards operate at 3.3 volts, so
they will run off a single-cell rechargeable Li-Ion
or Li-Po battery. Some, like the MKR WiFi 1010
and MKR WAN 1310, include a battery connector
and charging circuitry that will charge the battery
whenever USB power is available — perfect for
wireless battery-operated projects.
Operating at 3.3V means that you must
take this into consideration when connecting
external components such as LEDs and sensors.
Switches and resistive sensors will work fine,
but active sensors designed for 5V, such as some
temperature and humidity sensors, may not work
properly at 3.3V. Extreme caution must be used
when mixing both 3.3V and 5V components in a
circuit. Voltages greater than 3.3V must never be
present at any pin of a 3.3V component.
DRIVE CURRENT
Each pin on an AVR Arduino should be used for
at most 20 milliamps. But for ARM Arduinos
based on the SAMD21 microcontroller (those
with the ARM Cortex-M0+ core) this number is
only 7 milliamps!
Assuming a worst-case LED voltage of 1.8V,
3.3V – 1.8V leaves 1.5V on the resistor, and solving
Ohm’s law for resistance R = V / I = 1.5 / 0.007
= 220Ω. This means you should always use a
resistor of at least 220 ohms with an LED. If your
LED is too faint you’ll need to use a transistor.
DIGITAL TO ANALOG CONVERTER
Although all Arduinos support the
analogWrite() function, the AVR Arduinos
simulate an analog voltage by using digital
pulse-width modulation (PWM). This works fine
to control the brightness of LEDs and the speed
of motors, but sometimes you might need a true
analog voltage. In that case, the ARM-based
boards are ideal because they all contain a digital
to analog converter, or DAC (except the Nano 33
BLE boards). This device does exactly what you’d
expect: You give it a number, and it generates a
voltage proportional to that number. This can be
invaluable for controlling a variety of devices.
USB HOST
Arduino boards based on the Cortex M0+ can
configure a USB port in Host mode. This means
that rather than being a dumb device subject to
the whims of a USB Host, your Arduino can be a
USB Host initiating transactions with other USB
devices — or can pretend to be a USB keyboard
or mouse to control, invoke, or send data to an
attached computer.
NANO AND MKR FOOTPRINTS
Except for the Arduino Zero, with its traditional
Uno R3 footprint, all other ARM-based Arduino
boards are in the smaller Nano or MKR footprints.
Apart from size, what sets these apart is the type
of connector used for the pins: Instead of sockets
on top of the board, the Nano and MKR footprints
have pins on the bottom of the board, suitable to
plug directly into a breadboard. Similarly, whereas
shields sit on top of an Uno, shields for MKR or
Nano boards sit underneath.
ARM FAMILY OF ARDUINO BOARDS
BOARD FOOTPRINT MICROCONTROLLER RADIO PROTOCOL
ARDUINO ZERO Uno R3 ARM Cortex-M0+ None
ARDUINO NANO 33 BLE, BLE SENSE Nano ARM Cortex-M4 BLE and Bluetooth
ARDUINO NANO 33 IOT Nano ARM Cortex-M0+ Wi-Fi, BLE, and Bluetooth
ARDUINO MKR ZERO MKR ARM Cortex-M0+ None
ARDUINO MKR WAN 1300, 1310 MKR ARM Cortex-M0+ LoRa (low bandwidth, long range)
ARDUINO MKR VIDOR 4000 MKR ARM Cortex-M0+ Wi-Fi, BLE, and Bluetooth
ARDUINO MKR NB 1500 MKR ARM Cortex-M0+ Internet over 4G GSM network
ARDUINO MKR WIFI 1010 MKR ARM Cortex-M0+ Wi-Fi, BLE, and Bluetooth
ARDUINO MKR GSM 1400 MKR ARM Cortex-M0+ Internet over 3G GSM network
100 makezine.com
M81_098-100_GSWarduinoBook_F1.indd 100M81_098-100_GSWarduinoBook_F1.indd 100 4/12/22 12:36 PM4/12/22 12:36 PM