Clever Tricks with ATmega328 Pro Mini Boards
With a simple Pro Mini board and a few other components, projects that 20 or 30 years ago were unthinkable (or would have cost a small fortune) are realized easily and affordably in this book: From simple LED effects to a full battery charging and testing station that will put a rechargeable through its paces, there’s something for everyone.
All the projects are based on the ATmega328 microcontroller, which offers endless measuring, switching, and control options with its 20 input and output lines. For example, with a 7-segment display and a few resistors, you can build a voltmeter or an NTC-based thermometer. The Arduino platform offers the perfect development environment for programming this range of boards.
Besides these very practical projects, the book also provides the necessary knowledge for you to create projects based on your own ideas. How to measure, and what? Which transistor is suitable for switching a certain load? When is it better to use an IC? How do you switch mains voltage? Even LilyPad-based battery-operated projects are discussed in detail, as well as many different motors, from simple DC motors to stepper motors.
Sensors are another exciting topic: For example, a simple infrared receiver that can give disused remote controls a new lease on life controlling your home, and a tiny component that can actually measure the difference in air pressure between floor and table height!
An 8-in-1 test & measurement instrument for the electronics workbench
A well-equipped electronics lab is crammed with power supplies, measuring devices, test equipment and signal generators. Wouldn‘t it be better to have one compact device for almost all tasks? Based on the Arduino, a PC interface is to be developed that’s as versatile as possible for measurement and control. It simply hangs on a USB cable and – depending on the software – forms the measuring head of a digital voltmeter or PC oscilloscope, a signal generator, an adjustable voltage source, a frequency counter, an ohmmeter, a capacitance meter, a characteristic curve recorder, and much more.
The circuits and methods collected here are not only relevant for exactly these tasks in the "MSR" electronics lab, but many details can also be used within completely different contexts.
Errata/Updates
In the programs printed, all instances of “be()” should read: sei().
An 8-in-1 test & measurement instrument for the electronics workbench
A well-equipped electronics lab is crammed with power supplies, measuring devices, test equipment and signal generators. Wouldn‘t it be better to have one compact device for almost all tasks? Based on the Arduino, a PC interface is to be developed that’s as versatile as possible for measurement and control. It simply hangs on a USB cable and – depending on the software – forms the measuring head of a digital voltmeter or PC oscilloscope, a signal generator, an adjustable voltage source, a frequency counter, an ohmmeter, a capacitance meter, a characteristic curve recorder, and much more.
The circuits and methods collected here are not only relevant for exactly these tasks in the "MSR" electronics lab, but many details can also be used within completely different contexts.
The Motorino board is an extension-board to control and use up to 16 PWM-controlled 5V-Servo-motors.
The included clock generator ensures a very precise PWM signal and a very precise positioning.
The board has 2 inputs for voltage from 4.8 V to 6 V which can be used for up to 11 A. With this input, a perfect power supply is always guaranteed and even bigger projects are no problem.
The supply runs directly over the Motorino which provides a connection for voltage, ground and control.
With the build in capacitor, the voltage is buffered which prevents a sudden voltage-drop at a high load. But there is also the possibility to connect another capacitor.
The control and the programing can be done, as usual, with the Arduino. Manuals and code examples allows a quick introduction for beginners.
Specifications
Special features
16 Channels, own clock generator
Input 1
Coaxial power connector 5.5 / 2.1 mm, 4.8-6 V / 5 A max
Input 2
Screw-terminal, 4.8-6 V / 6 A max
Communication
16 x PWM
Compatible with
Arduino Uno, Mega and may more microcontroller with Arduino compatible pinout
Dimensions
69 x 24 x 56 mm
Included
Board, Manual, Retail package
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.
This book is about DC electric motors and their use in Arduino and Raspberry Pi Zero W based projects. The book includes many tested and working projects where each project has the following sub-headings:
Title of the project
Description of the project
Block diagram
Circuit diagram
Project assembly
Complete program listing of the project
Full description of the program
The projects in the book cover the standard DC motors, stepper motors, servo motors, and mobile robots. The book is aimed at students, hobbyists, and anyone else interested in developing microcontroller based projects using the Arduino Uno or the Raspberry Pi Zero W.
One of the nice features of this book is that it gives complete projects for remote control of a mobile robot from a mobile phone, using the Arduino Uno as well as the Raspberry Pi Zero W development boards. These projects are developed using Wi-Fi as well as the Bluetooth connectivity with the mobile phone. Readers should be able to move a robot forward, reverse, turn left, or turn right by sending simple commands from a mobile phone. Full program listings of all the projects as well as the detailed program descriptions are given in the book. Users should be able to use the projects as they are presented, or modify them to suit to their own needs.
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
The Arduino Uno is an open-source microcontroller development system encompassing hardware, an Integrated Development Environment (IDE), and a vast number of libraries. It is supported by an enormous community of programmers, electronic engineers, enthusiasts, and academics. The libraries in particular really smooth Arduino programming and reduce programming time. What’s more, the libraries greatly facilitate testing your programs since most come fully tested and working.
The Raspberry Pi 4 can be used in many applications such as audio and video media devices. It also works in industrial controllers, robotics, games, and in many domestic and commercial applications. The Raspberry Pi 4 also offers Wi-Fi and Bluetooth capability which makes it great for remote and Internet-based control and monitoring applications.
This book is about using both the Raspberry Pi 4 and the Arduino Uno in PID-based automatic control applications. The book starts with basic theory of the control systems and feedback control. Working and tested projects are given for controlling real-life systems using PID controllers. The open-loop step time response, tuning the PID parameters, and the closed-loop time response of the developed systems are discussed together with the block diagrams, circuit diagrams, PID controller algorithms, and the full program listings for both the Raspberry Pi and the Arduino Uno.
The projects given in the book aim to teach the theory and applications of PID controllers and can be modified easily as desired for other applications. The projects given for the Raspberry Pi 4 should work with all other models of Raspberry Pi family.
The book covers the following topics:
Open-loop and closed-loop control systems
Analog and digital sensors
Transfer functions and continuous-time systems
First-order and second-order system time responses
Discrete-time digital systems
Continuous-time PID controllers
Discrete-time PID controllers
ON-OFF temperature control with Raspberry Pi and Arduino Uno
PID-based temperature control with Raspberry Pi and Arduino Uno
PID-based DC motor control with Raspberry Pi and Arduino Uno
PID-based water level control with Raspberry Pi and Arduino Uno
PID-based LED-LDR brightness control with Raspberry Pi and Arduino Uno
Ever wanted an automated house? Or a smart garden? Well, now it’s easy with the Arduino IoT Cloud compatible boards. It means: you can connect devices, visualize data, control and share your projects from anywhere in the world. Whether you’re a beginner or a pro, we have a wide range of plans to make sure you get the features you need.
Connect your sensors and actuators over long distances harnessing the power of the LoRa wireless protocol or throughout LoRaWAN networks.
The Arduino MKR WAN 1310 board provides a practical and cost effective solution to add LoRa connectivity to projects requiring low power. This open source board can be connected to the Arduino IoT Cloud.
Better and More Efficient
The MKR WAN 1310, brings in a series of improvements when compared to its predecessor, the MKR WAN 1300. While still based on the Microchip SAMD21 low power processor, the Murata CMWX1ZZABZ LoRa module, and the MKR family’s characteristic crypto chip (the ECC508), the MKR WAN 1310 includes a new battery charger, a 2 MByte SPI Flash, and improved control of the board’s power consumption.
Improved Battery Power
The latest modifications have considerably improved the battery life on the MKR WAN 1310. When properly configured, the power consumption is now as low as 104 uA! It is also possible to use the USB port to supply power (5 V) to the board; run the board with or without batteries – the choice is yours.
On-board Storage
Data logging and other OTA (Over The Air) functions are now possible since the inclusion of the on board 2 MByte Flash. This new exciting feature will let you transfer configuration files from the infrastructure onto the board, create your own scripting commands, or simply store data locally to send it whenever the connectivity is best. Whilst the MKR WAN 1310’s crypto chip adds further security by storing credentials & certificates in the embedded secure element.
These features make it the perfect IoT node and building block for low-power wide-area IoT devices.
Specifications
The Arduino MKR WAN 1310 is based on the SAMD21 microcontroller.
Microcontroller
SAMD21 Cortex-M0+ 32-bit low power ARM MCU (datasheet)
Radio module
CMWX1ZZABZ (datasheet)
Board power supply (USB/VIN)
5 V
Secure element
ATECC508 (datasheet)
Supported batteries
Rechargeable Li-Ion, or Li-Po, 1024 mAh minimum capacity
Circuit operating voltage
3.3 V
Digital I/O pins
8
PWM pins
13 (0 .. 8, 10, 12, 18 / A3, 19 / A4)
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
8 (0, 1, 4, 5, 6, 7, 8, 16 / A1, 17 / A2)
DC current per I/O pin
7 mA
CPU flash memory
256 KB (internal)
QSPI flash memory
2 MByte (external)
SRAM
32 KB
EEPROM
No
Clock speed
32.768 kHz (RTC), 48 MHz
LED_BUILTIN
6
USB
Full-Speed USB Device and embedded Host
Antenna gain
2 dB (bundled pentaband antenna)
Carrier frequency
433/868/915 MHz
Dimensions
67.64 x 25 mm
Weight
32 g
Downloads
Eagle Files
Schematics
Fritzing
Pinout
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
Arduino MKR NB 1500 allows you to build your next smart project.
Ever wanted an automated house? Or a smart garden? Well, now it’s easy with the Arduino IoT Cloud compatible boards. It means: you can connect devices, visualize data, control and share your projects from anywhere in the world. Whether you’re a beginner or a pro, we have a wide range of plans to make sure you get the features you need.
Add Narrowband communication to your project with the MKR NB 1500. It's the perfect choice for devices in remote locations without an Internet connection, or in situations in which power isn't available like on-field deployments, remote metering systems, solar-powered devices, or other extreme scenarios.
The board's main processor is a low power ARM Cortex-M0 32-bit SAMD21, like in the other boards within the Arduino MKR family. The Narrowband connectivity is performed with a module from u-blox, the SARA-R410M-02B, a low power chipset operating in the de different bands of the IoT LTE cellular range. On top of those, secure communication is ensured through the Microchip ECC508 crypto chip. Besides that, the pcb includes a battery charger, and a connector for an external antenna.
This board is designed for global use, providing connectivity on LTE's Cat M1/NB1 bands 1, 2, 3, 4, 5, 8, 12, 13, 18, 19, 20, 25, 26, 28. Operators offering service in that part of the spectrum include: Vodafone, AT&T, T-Mobile USA, Telstra, and Verizon, among others.
Specifications
The Arduino MKR NB 1500 is based on the SAMD21 microcontroller.
Microcontroller
SAMD21 Cortex-M0+ 32-bit low power ARM MCU (datasheet)
Radio module
u-blox SARA-R410M-02B (datasheet summary)
Secure element
ATECC508 (datasheet)
Board power supply (USB/VIN)
5 V
Supported battery
Li-Po Single Cell, 3.7 V, 1500 mAh Minimum
Circuit operating voltage
3.3 V
Digital I/O pins
8
PWM pins
13 (0 .. 8, 10, 12, 18 / A3, 19 / A4)
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
8 (0, 1, 4, 5, 6, 7, 8, 16 / A1, 17 / A2)
DC current per I/O pin
7 mA
Flash memory
256 KB (internal)
SRAM
32 KB
EEPROM
No
Clock speed
32.768 kHz (RTC), 48 MHz
LED_BUILTIN
6
USB
Full-speed USB device and embedded host
Antenna gain
2 dB
Carrier frequency
LTE bands 1, 2, 3, 4, 5, 8, 12, 13, 18, 19, 20, 25, 26, 28
Power class (radio)
LTE Cat M1 / NB1: Class 3 (23 dBm)
Data rate (LTE M1 halp-duplex)
UL 375 kbps / DL 300 kbps
Data rate (LTE NB1 full-duplex)
UL 62.5 kbps / DL 27.2 kbps
Working region
Multiregion
Device location
GNSS via modem
Power consumption (LTE M1)
min 100 mA / max 190 mA
Power consumption (LTE NB1)
min 60 mA / max 140 mA
SIM card
MicroSIM (not included with the board)
Dimensions
67.6 x 25 mm
Weight
32 g
Downloads
Eagle Files
Schematics
Pinout
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.