Book: Mastering the Arduino Uno R4
Based on the low-cost 8-bit ATmega328P processor, the Arduino Uno R3 board is likely to score as the most popular Arduino family member, and this workhorse has been with us for many years. Eleven years later, the long-overdue successor, the Arduino Uno R4, was released. It is built around a 48 MHz, 32-bit Arm Cortex-M4 microcontroller and provides significantly expanded SRAM and Flash memory. Additionally, a higher-precision ADC and a new DAC are added to the design. The Uno R4 board also supports the CAN Bus with an interface.
Two versions of the board are available: Uno R4 Minima, and Uno R4 WiFi. This book is about using these new boards to develop many different and interesting projects with just a handful of parts and external modules. All projects described in the book have been fully tested on the Uno R4 Minima or the Uno R4 WiFi board, as appropriate.
The project topics include the reading, control, and driving of many components and modules in the kit as well as on the relevant Uno R4 board, including
LEDs
7-segment displays (using timer interrupts)
LCDs
Sensors
RFID Reader
4x4 Keypad
Real-time clock (RTC)
Joystick
8×8 LED matrix
Motors
DAC (Digital-to-analog converter)
LED matrix
WiFi connectivity
Serial UART
CAN bus
Infrared controller and receiver
Simulators
… all in creative and educational ways with the project operation and associated software explained in great detail.
Arduino Uno R4 WiFi
The Arduino Uno R4 is powered by the Renesas RA4M1 32-bit ARM Cortex-M4 processor, providing a significant boost in processing power, memory, and functionality. The WiFi version comes with an ESP32-S3 WiFi module in addition to the RA4M1, expanding creative opportunities for makers and engineers.
The Arduino Uno R4 runs at 48 MHz, which provides a 3x increase over the popular Uno R3. Additionally, SRAM has been upgraded from 2 kB to 32 kB, and flash memory from 32 kB to 256 kB to support more complex projects. Responding to community feedback, the USB port is now USB-C, and the maximum power supply voltage has been raised to 24 V with an enhanced thermal design. The board includes a CAN bus and an SPI port, enabling users to reduce wiring and perform parallel tasks by connecting multiple shields. A 12-bit analog DAC is also provided on the board.
Specifications
Microcontroller
Renesas RA4M1 (ARM Cortex-M4)
USB
USB-C
Programming Port
Pins
Digital I/O Pins
14
Pins
Analog input pins
6
DAC
1
RTC
1
PWM pins
6
Communication
UART
1x
I²C
1x
SPI
1x
Qwiic I²C connector
1x
CAN
1x CAN Bus
Power
Circuit operating voltage
5 V
Input voltage (VIN)
6-24 V
DC Current per I/O Pin
8 mA
Clock speed
Main core
48 MHz
Memory
RA4M1
256 kB Flash, 32 kB RAM
LED Matrix
12 x 8 (96 red LEDs)
Dimensions
68.9 x 53.4 mm
Downloads
Datasheet
Schematics
This bundle contains:
Book: Mastering the Arduino Uno R4 (normal price: €40)
Arduino Uno R4 WiFi (normal price: €30)
This is an add-on kit for the Seeed Studio Grove Beginner Kit for Arduino.
Applications
Suitable for Arduino beginners
Suitable for infrared control and motion detect
Suitable for getting started with open-source hardware and Arduino coding
Included
1x Grove Water Atomization
1x Grove Mini Fan
1x Grove Servo
1x Grove Ultrasonic Distance Sensor
1x Grove Infrared Receiver
1x Grove Mini PIR Motion Sensor
1x Grove Green Wrapper
1x Grove Blue Wrapper
5x Grove Cable
1x Infrared Remote Control Key
1x Ultrasonic Sensor Bracket Set
1x Motor Bracket Set
1x Servo Base
The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328 (Arduino Nano 3.x). It has more or less the same functionality of the Arduino Duemilanove but in a different package. It lacks only a DC power jack and works with a Mini-B USB cable instead of a standard one.
Specifications
Microcontroller
ATmega328
Operating Voltage (logic level)
5 V
Input Voltage (recommended)
7-12 V
Input Voltage (limits)
6-20 V
Digital I/O Pins
14 (of which 6 provide PWM output)
Analog Input Pins
8
DC Current per I/O Pin
40 mA
Flash Memory
16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
SRAM
1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM
512 bytes (ATmega168) or 1 KB (ATmega328)
Clock Speed
16 MHz
Dimensions
0.73 x 1.70' (18 x 45 mm)
Power
The Arduino Nano can be powered via the Mini-B USB connection, 6-20 V unregulated external power supply (pin 30), or 5 V regulated external power supply (pin 27). The power source is automatically selected to the highest voltage source.
Memory
The ATmega168 has 16 KB of flash memory for storing code (of which 2 KB is used for the bootloader), 1 KB of SRAM and 512 bytes of EEPROM
The ATmega328 has 32 KB of flash memory for storing code, (also with 2 KB used for the bootloader), 2 KB of SRAM and 1 KB of EEPROM.
Input and Output
Each of the 14 digital pins on the Nano can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 V.
Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms.
Communication
The Arduino Nano has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers.
The ATmega168 and ATmega328 provide UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An FTDI FT232RL on the board channels this serial communication over USB and the FTDI drivers (included with the Arduino software) provide a virtual com port to software on the computer.
The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via the FTDI chip and USB connection to the computer (but not for serial communication on pins 0 and 1).
A SoftwareSerial library allows for serial communication on any of the Nano's digital pins.
Programming
The Arduino Nano can be programmed with the Arduino software (download).
The ATmega168 or ATmega328 on the Arduino Nano comes with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference, C header files).
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header using Arduino ISP or similar; see these instructions for details.
Automatic (Software) Reset
Rather than requiring a physical press of the reset button before an upload, the Arduino Nano is designed in a way that allows it to be reset by software running on a connected computer.
One of the hardware flow control lines (DTR) of theFT232RL is connected to the reset line of the ATmega168 or ATmega328 via a 100 nF capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip.
The Arduino software uses this capability to allow you to upload code by simply pressing the upload button in the Arduino environment. This means that the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with the start of the upload.
Designed with convenience and security in mind, the Ardi RFID Shield is based on the EM-18 module, operating at a frequency of 125 KHz. This shield allows you to easily integrate RFID (Radio Frequency Identification) technology into your projects, enabling seamless identification and access control systems.
Equipped with a powerful 1-channel optoisolated relay, the Ardi RFID Shield offers a reliable switching solution with a maximum DC rating of 30 V and 10 A, as well as an AC rating of 250 V and 7 A. Whether you need to control lights, motors, or other high-power devices, this shield provides the necessary functionality.
Additionally, the Ardi RFID Shield features an onboard buzzer that can be utilized for audio feedback, allowing for enhanced user interaction and system feedback. With the onboard 2-indication LEDs, you can easily monitor the status of RFID card detection, power supply, and relay activation, providing clear visual cues for your project's operation.
Compatibility is key, and the Ardi RFID Shield ensures seamless integration with the Arduino Uno platform. Paired with a read-only RFID module, this shield opens up a world of possibilities for applications such as access control systems, attendance tracking, inventory management, and more.
Features
Onboard 125 kHz EM18 RFID small, compact module
Onboard High-quality relays Relay with Screw terminal and NO/NC interfaces
Shield compatible with both 3.3 V and 5 V MCU
Onboard 3 LEDs power, relay ON/OFF State and RFID Scan status
Multi-tone Buzzer onboard for Audio alerts
Mounts directly onto ArdiPi, Ardi32 or other Arduino compatible boards
Specifications
RFID operating Frequency: 125 kHz
Reading distance: 10 cm, depending on TAG
Integrated Antenna
Relay Max Switching Voltage: 250 V AC/30 V DC
Relay Max Switching Current: 7 A/10 A
The Elektor MultiCalculator Kit is an Arduino-based multifunction calculator that goes beyond basic calculations. It offers 22 functions including light and temperature measurement, differential temperature analysis, and NEC IR remote control decoding. The Elektor MultiCalculator is a handy tool for use in your projects or for educational purposes.
The kit features a Pro Mini module as the computing unit. The PCB is easy to assemble using through-hole components. The enclosure consists of 11 acrylic panels and mounting materials for easy assembly. Additionally, the device is equipped with a 16x2 alphanumeric LCD, 20 buttons, and temperature sensors.
The Elektor MultiCalculator is programmable with the Arduino IDE through a 6-way PCB header. The available software is bilingual (English and Dutch). The calculator can be programmed with a programming adapter, and it is powered through USB-C.
Modes of Operation
Calculator
4-Ring Resistor Code
5-Ring Resistor Code
Decimal to Hexadecimal and Character (ASCII) conversion
Hexadecimal to Decimal and Character (ASCII) conversion
Decimal to Binary and Character (ASCII) conversion
Binary to Decimal and Hexadecimal conversion
Hz, nF, capacitive reactance (XC) calculation
Hz, µH, inductive reactance (XL) calculation
Resistance calculation of two resistors connected in parallel
Resistance calculation of two resistors connected in series
Calculation of unknown parallel resistor
Temperature measurement
Differential temperature measurement T1&T2 and Delta (δ)
Light measurement
Stopwatch with lap time function
Item counter
NEC IR remote control decoding
AWG conversion (American Wire Gauge)
Rolling Dice
Personalize startup message
Temperature calibration
Specifications
Menu languages: English, Dutch
Dimensions: 92 x 138 x 40 mm
Build time: approx. 5 hours
Included
PCB and though-hole components
Precut acrylic sheets with all mechanical parts
Pro Mini microcontroller module (ATmega328/5 V/16 MHz)
Programming adapter
Waterproof temperature sensors
USB-C cable
Downloads
Software
Realize your own projects with the Elektor Arduino Nano MCCAB Training Board
The microcontroller is probably the most fascinating subfield of electronics. Due to the multitude of functions, it combines on its chip, it is a universal multi-tool for developers to realize their projects. Practically every device of daily use today is controlled by a microcontroller. However, for an electronic layman, realizing his own ideas with a microcontroller has so far remained a pipe dream due to its complexity. The Arduino concept has largely simplified the use of microcontrollers, so that now even laymen can realize their own electronics ideas with a microcontroller.
Book & Hardware in the Bundle: 'Learning by Doing'
This book, which is included in the bundle, shows how you can realize your own projects with a microcontroller even without much experience in electronics and programming languages. It is a microcontrollers hands-on course for starters, because after an overview of the internals of the microcontroller and an introduction to the programming language C, the focus of the course is on the practical exercises. The reader acquires the necessary knowledge by 'learning by doing': in the extensive practical section with 12 projects and 46 exercises, what is learned in the front part of the book is underpinned with many examples. The exercises are structured in such a way that the user is given a task to solve using the knowledge built up in the theoretical part of the book. Each exercise is followed by a sample solution that is explained and commented on in detail, which helps the user to solve problems and compare it with his own solution.
Arduino IDE
The Arduino IDE is a software development environment that can be downloaded for free to your own PC and that contains the entire software package needed for your own microcontroller projects. You write your programs ('apps') with the IDE’s editor in the C programming language. You translate them into the bits and bytes that the microcontroller understands using the Arduino IDE's built-in compiler, and then load them into the microcontroller's memory on the Elektor Arduino MCCAB Nano Training Board via a USB cable.
Query or control external sensors, motors or assemblies
In addition to an Arduino Nano microcontroller module, the Elektor Arduino Nano MCCAB Training Board contains all the components required for the exercises, such as light-emitting diodes, switches, pushbuttons, acoustic signal transmitters, etc. External sensors, motors or assemblies can also be queried or controlled with this microcontroller training system.
Specifications (Arduino Nano MCCAB Training Board)
Power Supply
Via the USB connection of the connected PC or an external power supply unit (not included)
Operating Voltage
+5 Vcc
Input Voltage
All inputs
0 V to +5 V
VX1 and VX2
+8 V to +12 V (only when using an external power supply)
Hardware periphery
LCD
2x16 characters
Potentiometer P1 & P2
JP3: selection of operating voltage of P1 & P2
Distributor
SV4: Distributor for the operating voltagesSV5, SV6: Distributor for the inputs/outputs of the microcontroller
Switches and buttons
RESET button on the Arduino Nano module 6x pushbutton switches K1 ... K6 6x slide switches S1 ... S6 JP2: Connection of the switches with the inputs of the microcontroller
Buzzer
Piezo buzzer Buzzer1 with jumper on JP6
Indicator lights
11 x LED: Status indicator for the inputs/outputs LED L on the Arduino Nano module, connected to GPIO D13 JP6: Connection of LEDs LD10 ... LD20 with GPIOs D2 ... D12
Serial interfacesSPI & I²C
JP4: Selection of the signal at pin X of the SPI connector SV12 SV9 to SV12: SPI interface (3.3 V/5 V) or I²C interface
Switching output for external devices
SV1, SV7: Switching output (maximum +24 V/160 mA, externally supplied) SV2: 2x13 pins for connection of external modules
3x3 LED matrix(9 red LEDs)
SV3: Columns of the 3x3 LED matrix (outputs D6 ... D8) JP1: Connection of the rows with the GPIOs D3 ... D5
Software
Library MCCABLib
Control of hardware components (switches, buttons, LEDs, 3x3 LED matrix, buzzer) on the MCCAB Training Board
Operating Temperature
Up to +40 °C
Dimensions
100 x 100 x 20 mm
Specifications (Arduino Nano)
Microcontroller
ATmega328P
Architecture
AVR
Operating Voltage
5 V
Flash Memory
32 KB, of which 2 KB used by bootloader
SRAM
2 KB
Clock Speed
16 MHz
Analog IN Pins
8
EEPROM
1 KB
DC Current per I/O Pins
40 mA on one I/O pin, total maximum 200 mA on all pins together
Input Voltage
7-12 V
Digital I/O Pins
22 (6 of which are PWM)
PWM Output
6
Power Consumption
19 mA
Dimensions
18 x 45 mm
Weight
7 g
Included
1x Elektor Arduino Nano MCCAB Training Board
1x Arduino Nano
1x Book: Microcontrollers Hands-on Course for Arduino Starters
The Arduino MKR Zero is a development board for music makers! With an SD card holder and dedicated SPI interfaces (SPI1), you are able to play music files without extra hardware.
The MKR Zero brings you the power of a Zero in the smaller format established by the MKR form factor. The MKR Zero board acts as a great educational tool for learning about 32-bit application development. It has an on-board SD connector with dedicated SPI interfaces (SPI1) that allows you to play with MUSIC files with no extra hardware! The board is powered by Atmel’s SAMD21 MCU, which features a 32-bit ARM Cortex M0+ core.
The board contains everything needed to support the microcontroller; simply connect it to a computer with a micro-USB cable or power it by a LiPo battery. The battery voltage can also be monitored since a connection between the battery and the analog converter of the board exists.
Specifications
Microcontroller
SAMD21 ARM Cortex-M0+ 32-bit low power
Board power supply (USB/VIN)
5 V
Supported battery
Li-Po single cell, 3.7 V, 700 mAh minimum
DC current for 3.3 V pin
600 mA
DC current for 5 V pin
600 mA
Circuit operating voltage
3.3 V
Digital I/O pins
22
PWM pins
12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 10, A3 - or 18 -, A4 -or 19)
UART
1
SPI
1
I²C
1
Analog input pins
7 (ADC 8/10/12 bit)
Analog output pins
1 (DAC 10 bit)
External interrupts
10 (0, 1, 4, 5, 6, 7, 8, A1 -or 16-, A2 - or 17)
DC current per I/O pin
7 mA
Flash memory
256 KB
Flash memory for bootloader
8 KB
SRAM
32 KB
EEPROM
No
Clock speed
32.768 kHz (RTC), 48 MHz
LED_BUILTIN
32
Downloads
Datasheet
Eagle Files
Schematics
Fritzing
Pinout
This programmer is specifically designed for burning bootloaders (without a computer) on Arduino-compatible ATmega328P/ATmega328PB development boards.
Simply plug the programmer into the ICSP interface to re-burn the bootloader. It’s also compatible with new chips, provided the IC is functional.
Note: Burning a bootloader erases all previous chip data.
Features
Working voltage: 3.1-5.3 V
Working current: 10 mA
Compatible with Arduino Uno R3 based boards (ATmega328P or ATmega328PB)
Dimensions: 39.6 x 15.5 x 7.8 mm
This programmer is specifically designed for burning bootloaders (without a computer) on Arduino-compatible ATmega328 development boards.
Simply plug the programmer into the ICSP interface to re-burn the bootloader. It’s also compatible with new chips, provided the IC is functional.
Note: Burning a bootloader erases all previous chip data.
Features
Working voltage: 3.1-5.3 V
Working current: 10 mA
Compatible with Arduino Nano based boards (ATmega328)
Dimensions: 39.6 x 15.5 x 7.8 mm
This USB Stick contains more than 300 Arduino-related articles published in Elektor Magazine. The content includes both background articles and projects on the following topics:
Software & hardware development: Tutorials on Arduino software development using Arduino IDE, Atmel Studio, Shields, and essential programming concepts.
Learning: The Microcontroller Bootcamp offers a structured approach to programming embedded systems.
Data acquisition & measurement: Projects such as a 16-bit data logger, lathe tachometer, and an AC grid analyzer for capturing and analyzing real-time signals.
Wireless communication: Learn how to implement wireless networks, create an Android interface, and communicate effectively with microcontrollers.
Robotics and automation: This covers the Arduino Nano Robot Controller, supporting boards for automation, and explores various Arduino shields to enhance functionality.
Self-build projects: Unique projects such as laser projection, Numitron clock and thermometer, ELF receiver, Theremino, and touch LED interfaces highlight creative applications.
Whether you're a beginner or an experienced maker, this collection is a valuable resource for learning, experimenting, and pushing the boundaries of Arduino technology.
The MKR IoT Carrier comes equipped with 5 RGB LEDs, 5 capacitive touch buttons, a colored display, IMU and a variety of quality sensors. It also features a battery holder for a 18650 Li-Ion battery, SD card holder and Grove connectors.
Data Capture: Map the environment around the carrier using the integrated temperature, humidity, and pressure sensors and collect data about movement using the 6 axis IMU and light, gesture, and proximity sensors. Easily add more external sensors to capture more data from more sources via the on-board Grove connectors (x3).
Data Storage: Capture and store all the data locally on an SD card, or connect to the Arduino IoT Cloud for real-time data capture, storage, and visualization.
Data Visualisation: Locally view real-time sensor readings on the built-in OLED Color Display and create visual or sound prompts using the embedded LEDs and buzzer.
Total Control: Directly control small-voltage electronic appliances using the onboard relays and the five tactile buttons, with the integrated display providing a handy on-device interface for immediate control.
Designed with cutting-edge technology, this shield brings the power of Ultra High Frequency (UHF) RFID to your fingertips.
With the Ardi UHF Shield, you can effortlessly read up to an impressive 50 tags per second, allowing for fast and efficient data collection. The shield features an onboard UHF antenna, ensuring reliable and accurate tag detection even in challenging environments.
Equipped with a high-performance 0.91" OLED display, the Ardi UHF Shield provides clear and concise visual feedback, making it easy to monitor and interact with the RFID readings. Whether you're tracking inventory, managing access control, or implementing a smart attendance system, this shield has you covered.
With a remarkable 1-meter reading distance, the Ardi UHF Shield offers an extended range for capturing RFID data. Say goodbye to the limitations of proximity-based RFID systems and embrace the flexibility and convenience of a wider reading range.
The shield provides read-write capabilities, allowing you to not only retrieve information from RFID tags but also update or modify data as needed. This versatility opens up a world of possibilities for advanced applications and custom solutions.
Features
Onboard High-performance UHF RFID reader module
24 hours x 365 days’ work normally
0.91” OLED display for visual interaction with shield
Multi-tone Buzzer onboard for Audio alerts
Shield compatible with both 3.3 V and 5 V MCU
Mounts directly onto ArdiPi, Ardi32 or other Arduino compatible boards
Specifications
OLED resolution 128x32 pixels
I²C Interface for OLED
UHF Frequency Range (EU/UK): 865.1-867.9 MHz
UHF Module Type: Read/Write
Protocols Supported: EPCglobal UHF Class 1 Gen 2 / ISO 18000-6C
Reading Distance: 1 meters
Can identify over 50 tags simultaneously
Communication interface: TTL UART Interface for UHF
Communication baud rate: 115200 bps (default and recommend) – 38400 bps
Operation current: 180 mA @ 3.5 V (26 dBm Output, 25°C), 110 mA @ 3.5 V (18 dBm Output, 25°C)
Working humidity <95% (+25°C)
Heat-dissipating method Air cooling(no need out install cooling fin)
Tags storage capacity: 200 pcs tags @ 96 bit EPC
Output power: 18-26 dBm
Output power accuracy: +/-1 dB
Tags RSSI support