The project book, written by well-known Elektor author Dogan Ibrahim, holds many software- and hardware-based projects especially developed for the Arduino Uno Experimenting Kit. The kit comes with the Arduino Uno R4 Minima, several LEDs, sensors, actuators, and other components. The purpose of the kit is to make a flying start with hardware and software aspects of projects designed around the Arduino Uno microcontroller system.
The projects given in this guide are fully evaluated and working and fully employ all the supplied components. A block diagram, a circuit diagram, an extensive program listing, and a complete program description is given for every project in the guide.
Included
1x Arduino Uno R4 Minima
1x RFID reader module
1x DS1302 clock module
1x 5 V stepper motor
1x '2003' stepper motor drive board
5x Green LED
5x Yellow LED
5x Red LED
2x Rocker switch
1x Flame sensor
1x LM35 sensor module
1x Infrared receiver
3x Light-dependent resistors (LDRs)
1x IR remote controller
1x Breadboard
4x Pushbutton (with four caps)
1x Buzzer
1x Piezo sounder
1x Adjustable resistor (potentiometer)
1x 74HC595 shift register
1x 7-segment display
1x 4-digit 7-segment display
1x 8x8 Dot-matrix display
1x 1602 / I²C LCD module
1x DHT11 Temperature and humidity module
1x Relay module
1x Sound module
Set of Dupont cables
Set of Breadboard cables
1x Water sensor
1x PS2 Joystick
5x 1 k-ohm resistor
5x 10 k-ohm resistor
5x 220-ohm resistor
1x 4x4 keypad module
1x 9g Servo (25 cm)
1x RFID card
1x RGB module
1x 9 V battery DC jack
Project book (326 pages)
Over 80 Projects in the Book
Hardware Projects with LEDs
Blinking LED – using the on-board LED
Blinking LED – using an external LED
LED flashing SOS
Alternately blinking LEDs
Chaser-LEDs
Chasing LEDs 2
Binary counting LEDs
Random flashing LEDs – Christmas lights
Button controlled LED
Controlling the LED flashing rate – external interrupts
Reaction timer
LED color wand
RGB fixed colors
Traffic lights
Traffic lights with pedestrian crossings
Using the 74HC595 shift register – binary up counter
Using the 74HC595 shift register – random flashing 8 LEDs
Using the 74HC595 shift register – chasing LEDs
Using the 74HC595 shift register – turn ON a specified LED
Using the 74HC595 shift register – turn ON specified LEDs
7-Segment LED Displays
7-Segment 1-digit LED counter
7-Segment 4-digit multiplexed LED display
7-Segment 4-digit multiplexed LED display counter – timer interrupts
7-Segment 4-digit multiplexed LED display counter – blanking leading zeroes
7-Segment 4-digit multiplexed LED display – reaction timer
Timer interrupt blinking onboard LED
Liquid Crystal Displays (LCDs)
Display text on the LCD
Scrolling text on the LCD
Display custom characters on the LCD
LCD based conveyor belt goods counter
LCD based accurate clock using timer interrupts
LCD dice
Sensors
Analog temperature sensor
Voltmeter
On/Off temperature controller
Darkness reminder – using a light-dependent resistor (LDR)
Tilt detection
Displaying water level
Water level controller
Water flooding detector with buzzer
Sound detection sensor – control the relay by clapping hands
Flame sensor – fire detection with relay output
Temperature and humidity display
Generating musical tones – melody maker
The RFID Reader
Finding the Tag ID
RFID door lock access with relay
The 4x4 Keypad
Display the pressed key code on the Serial Monitor
Integer calculator with LCD
Keypad door security lock with relay
The Real-Time Clock (RTC) Module
RTC with Serial Monitor
RTC with LCD
Temperature and humidity display with time stamping
Setting and displaying the current time
Periodic interrupt every 2 seconds
The Joystick
Reading analog values from the joystick
8x8 LED Matrix
Displaying shapes
Motors: Servo and Stepper
Test-rotate the servo
Servo sweep
Joystick-controlled servo
Rotate the motor clockwise and then anticlockwise
The Digital to Analog Converter (DAC)
Generating a square wave with 2 V amplitude
Generate a sine wave
Sine wave sweep frequency generator
Generate sine wave whose frequency changes with potentiometer
Generate a square wave with frequency of 1 kHz and amplitude of 1 V
Using the EEPROM, the Human Interface Device, and PWM
Keyboard control to launch Windows programs
LED dimming using PWM
The Arduino Uno R4 WiFi
Using LED matrix 1 – creating a large + shape
Creating images by setting bits
Using LED matrix 2 – creating a large + shape
Animation – displaying a word
Controlling the Arduino Uno R4 WiFi on-board LED from a smartphone using UDP
Serial Communications
Receiving ambient temperature from an Arduino Uno R3
Using an Arduino Uno Simulator
A simple project simulation – flashing LED
Displaying text on LCD
LCD seconds counter
The CAN bus
Arduino Uno R4 WiFi to Arduino Uno R4 Minima CAN bus communication
Sending the temperature readings over the CAN bus
Infrared Receiver and Remote Controller
Decoding the IR remote control codes
Remote relay activation/deactivation
Infrared remote stepper motor control
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 Uno R4 Minima is an affordable option for those who don't need the additional features.
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.
The Arduino Uno R4 comes in 2 versions (Minima and WiFi) and offers the following new features compared to the Uno R3:
Arduino Uno R4 Minima
Arduino Uno R4 WiFi
USB-C connector
USB-C connector
RA4M1 from Renesas (Cortex-M4)
RA4M1 from Renesas (Cortex-M4)
HID device (emulate a mouse or a keyboard)
HID device (emulate a mouse or a keyboard)
Improved power section (up to 24 V through VIN)
Improved power section (up to 24 V through VIN)
CAN bus
CAN bus
DAC (12 bits)
DAC (12 bits)
Op amp
Op amp
WiFi/Bluetooth LE
Fully-addressable LED matrix (12x8)
Qwiic I²C connector
RTC (with support for a buffer battery)
Runtime errors diagnostics
Model Comparison
Uno R3
Uno R4 Minima
Uno R4 WiFi
Microcontroller
Microchip ATmega328P (8-bit AVR RISC)
Renesas RA4M1 (32-bit ARM Cortex-M4)
Renesas RA4M1 (32-bit ARM Cortex-M4)
Operating Voltage
5 V
5 V
5 V
Input Voltage
6-20 V
6-24 V
6-24 V
Digital I/O Pins
14
14
14
PWM Digital I/O Pins
6
6
6
Analog Input Pins
6
6
6
DC Current per I/O Pin
20 mA
8 mA
8 mA
Clock Speed
16 MHz
48 Mhz
48 Mhz
Flash Memory
32 KB
256 KB
256 KB
SRAM
2 KB
32 KB
32 KB
USB
USB-B
USB-C
USB-C
DAC (12 bit)
–
1
1
SPI
1
2
2
I²C
1
2
2
CAN
–
1
1
Op amp
–
1
1
SWD
–
1
1
RTC
–
–
1
Qwiic I²C connector
–
–
1
LED Matrix
–
–
12x8 (96 red LEDs)
LED_BUILTIN
13
13
13
Dimensions
68.6 x 53.4 mm
68.9 x 53.4 mm
68.9 x 53.4 mm
Downloads
Datasheet
Schematics
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 Uno R4 Minima is an affordable option for those who don't need the additional features.
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.
The Arduino Uno R4 comes in 2 versions (Minima and WiFi) and offers the following new features compared to the Uno R3:
Arduino Uno R4 Minima
Arduino Uno R4 WiFi
USB-C connector
USB-C connector
RA4M1 from Renesas (Cortex-M4)
RA4M1 from Renesas (Cortex-M4)
HID device (emulate a mouse or a keyboard)
HID device (emulate a mouse or a keyboard)
Improved power section (up to 24 V through VIN)
Improved power section (up to 24 V through VIN)
CAN bus
CAN bus
DAC (12 bits)
DAC (12 bits)
Op amp
Op amp
WiFi/Bluetooth LE
Fully-addressable LED matrix (12x8)
Qwiic I²C connector
RTC (with support for a buffer battery)
Runtime errors diagnostics
Model Comparison
Uno R3
Uno R4 Minima
Uno R4 WiFi
Microcontroller
Microchip ATmega328P (8-bit AVR RISC)
Renesas RA4M1 (32-bit ARM Cortex-M4)
Renesas RA4M1 (32-bit ARM Cortex-M4)
Operating Voltage
5 V
5 V
5 V
Input Voltage
6-20 V
6-24 V
6-24 V
Digital I/O Pins
14
14
14
PWM Digital I/O Pins
6
6
6
Analog Input Pins
6
6
6
DC Current per I/O Pin
20 mA
8 mA
8 mA
Clock Speed
16 MHz
48 Mhz
48 Mhz
Flash Memory
32 KB
256 KB
256 KB
SRAM
2 KB
32 KB
32 KB
USB
USB-B
USB-C
USB-C
DAC (12 bit)
–
1
1
SPI
1
2
2
I²C
1
2
2
CAN
–
1
1
Op amp
–
1
1
SWD
–
1
1
RTC
–
–
1
Qwiic I²C connector
–
–
1
LED Matrix
–
–
12x8 (96 red LEDs)
LED_BUILTIN
13
13
13
Dimensions
68.6 x 53.4 mm
68.9 x 53.4 mm
68.9 x 53.4 mm
Downloads
Datasheet
Schematics
Arduino Uno is an open-source microcontroller board based on the ATmega328P. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator (CSTCE16M0V53-R0), a USB connection, a power jack, an ICSP header and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. You can tinker with your Uno without worring too much about doing something wrong, worst case scenario you can replace the chip for a few dollars and start over again.
'Uno' means one in Italian and was chosen to mark the release of Arduino Software (IDE) 1.0. The Uno board and version 1.0 of Arduino Software (IDE) were the reference versions of Arduino, now evolved to newer releases. The Uno board is the first in a series of USB Arduino boards, and the reference model for the Arduino platform; for an extensive list of current, past or outdated boards see the Arduino index of boards.
Specifications
Microcontroller
ATmega328P
Operating Voltage
5 V
Input Voltage (recommended)
7-12 V
Input Voltage (limit)
6-20 V
Digital I/O Pins
14 (of which 6 provide PWM output)
PWM Digital I/O Pins
6
Analog Input Pins
6
DC Current per I/O Pin
20 mA
DC Current for 3.3 V Pin
50 mA
Flash Memory
32 KB (ATmega328P) of which 0.5 KB used by bootloader
SRAM
2 KB (ATmega328P)
EEPROM
1 KB (ATmega328P)
Clock Speed
16 MHz
LED_BUILTIN
13
Dimensions
68.6 x 53.4 mm
Weight
25 g
The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Additional features coming with the R3 version are: ATmega16U2 instead of 8U2 as a USB-to-Serial converter. 1.0 pinout: added SDA and SCL pins for TWI communication placed near to the AREF pin and two other new pins placed near to the RESET pin, the IOREF that allow the shields to adapt to the voltage provided from the board and the second one is a not connected pin, that is reserved for future purposes. stronger RESET circuit. Microcontroller ATmega328P Operating Voltage 5 V Input Voltage 7 V - 12 V Digital I/O Pins 14 PWM Pins 6 Analog Input Pins 8 DC Current per I/O Pin 20 mA DC Current for 3.3 V Pin 50 mA Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader SRAM 2 KB EEPROM 1 KB Clock Speed 16 MHz LED_Builtin 13 Length 68.6 mm Width 53.4 mm Weight 25 g
Add this board to a device and you'll be able to connect it to a WiFi network, using its secure ECC608 crypto chip accelerator. The Arduino Uno WiFi is functionally the same as the Arduino Uno Rev3, but with the addition of WiFi/Bluetooth and some other enhancements. It incorporates the brand new ATmega4809 8-bit microcontroller from Microchip and has an onboard IMU (Inertial Measurement Unit) LSM6DS3TR.
The Wi-Fi Module is a self-contained SoC with an integrated TCP/IP protocol stack that can provide access to a Wi-Fi network, or act as an access point.
The Arduino Uno WiFi Rev2 has 14 digital input/output pins (5 that can be used as PWM outputs, 6 analog inputs), a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller. Simply connect it to a computer with a USB cable or power it with an AC adapter or battery to get started.
Specifications
Operating Voltage
5 V
Input Voltage
7 V - 12 V
Digital I/O
14
Analog Input Pins
6
Analog Input Pins
6
DC Current per I/O Pin
20 mA
DC Current for 3.3 V Pin
50 mA
Flash Memory
48 KB
SRAM
6.144 Bytes
EEPROM
256 Bytes
Clock Speed
16 MHz
Radio Module
u-blox NINA-W102
Secure Element
ATECC608A
Inertial Measurement Unit
LSM6DS3TR
LED_Builtin
25
Length
101.52 mm
Width
53.3 mm
Weight
37 g
This book covers a series of exciting and fun projects for the Arduino, such as a silent alarm, people sensor, light sensor, motor control, internet and wireless control (using a radio link). Contrary to many free projects on the internet all projects in this book have been extensively tested and are guaranteed to work!
You can use it as a projects book and build more than 45 projects for your own use. The clear explanations, schematics, and pictures of each project make this a fun activity. The pictures are taken of a working project, so you know for sure that they are correct.
You can combine the projects in this book to make your own projects. To facilitate this, clear explanations are provided on how the project works and why it has been designed the way it has That way you will learn a lot about the project and the parts used, knowledge that you can use in your own projects.
Apart from that, the book can be used as a reference guide. Using the index, you can easily locate projects that serve as examples for the C++ commands and Arduino functionality. Even after you’ve built all the projects in this book, it will still be a valuable reference guide to keep next to your PC.
This book covers a series of exciting and fun projects for the Arduino, such as a silent alarm, people sensor, light sensor, motor control, internet and wireless control (using a radio link). Contrary to many free projects on the internet all projects in this book have been extensively tested and are guaranteed to work!
You can use it as a projects book and build more than 45 projects for your own use. The clear explanations, schematics, and pictures of each project make this a fun activity. The pictures are taken of a working project, so you know for sure that they are correct.
You can combine the projects in this book to make your own projects. To facilitate this, clear explanations are provided on how the project works and why it has been designed the way it has That way you will learn a lot about the project and the parts used, knowledge that you can use in your own projects.
Apart from that, the book can be used as a reference guide. Using the index, you can easily locate projects that serve as examples for the C++ commands and Arduino functionality. Even after you’ve built all the projects in this book, it will still be a valuable reference guide to keep next to your PC.
Two reasons can be identified for the immense success of the Arduino platform. First, the cheap, ready to go processor board greatly simplifies the introduction to hardware. The second success factor is the free and open-source programming suite that does not require an installation procedure.
Simple entry-level examples ensure rapid successes. Complex selection procedures for parameters like the microprocessor version or interface settings are not required. The first sample programs can be uploaded to the Arduino board, and tested, in a matter of minutes.
The Arduino user is supported by an array of software libraries. However, the daily increasing volume of libraries poses initial problems to the newcomer, and the way ahead may be uncertain after a few entry-level examples. In many cases, detailed descriptions are missing, and poorly described projects tend to confuse rather than elucidate. Clear guidance and a single motto are missing, usually owing to the projects having been created by several different persons—all with different aims in mind.
This book represents a different approach. All projects are presented in a systematical manner, guiding into various theme areas. In the coverage of must-know theory great attention is given to practical directions users can absorb, including essential programming techniques like A/D conversion, timers and interrupts—all contained in the hands-on projects. In this way readers of the book create running lights, a wakeup light, fully functional voltmeters, precision digital thermometers, clocks of many varieties, reaction speed meters, or mouse controlled robotic arms. While actively working on these projects the reader gets to truly comprehend and master the basics of the underlying controller technology.
This versatile plotter robot arm DIY kit for Arduino is equipped with MG90S metal gear servo motors to ensure precise and stable drawing movements.
Features
Fully compatible with Arduino IDE, includes complete source code for easy development and customization.
Equipped with robust MG90S metal gear servo motors for accuracy and durability.
Includes a Bluetooth module enabling wireless operation via a dedicated app.
Specially designed robotic arm tip securely holds pens or markers with a diameter of 8-10 mm, ideal for sketches and detailed drawings.
Included
Arduino-compatible Nano motherboard
Nano expansion board
Bluetooth module
MG90S all-metal gear servo motors
Aluminum structural frame
Thickened stable base plate
Screw and fastening accessories
Connecting wires
USB data cable
The Argon NEO 5 is redesigned specifically to meet the high demands of the Raspberry Pi 5. It offers an impressive heat dissipation solution for both passive and active cooling.
Aluminum case enclosure with passive cooling fins that act as the heatsink
Air intake vents allow for cool air to enter the case
30 mm PWM fan helps with the airflow and push out hot air to exhaust vents
Simple and beautifully designed
Made with aluminum alloy and polished with a Black & Red finish for stunning aesthetics.
Easy assembly for the 3 part case with the Raspberry Pi 5.
Small foot print allows to bring it anywhere – or easily mount to your desired station with built in mounting points.
Complete access to all ports with the removable top cover.
Superior protection & security
Space grade aluminum helps protect Raspberry Pi 5 board from physical damage.
The case has a screw on top cover to keep the ports safe when not in use.
Optional SD card cover to protect your data even further.
Native Raspberry Pi 5 board support
Integrated power button
LED light display
The Argon ONE M.2 Case ups the ante by providing two full-sized HDMI ports, power management modes that allows for automatic booting, built-in IR support with streamlined options for configuration and integrated M.2 SATA SSD support through the USB 3 ports of the Raspberry Pi 4.
Argon ONE M.2 Case extended support for M.2 SATA SSDs allows you to maximize the true potential speeds of your Raspberry Pi 4. You will now be able to boot via an M.2 SATA SSD for faster boot times and larger storage capacity compared to the traditional microSD card.
Argon ONE M.2 is UASP supported for the Raspberry Pi 4 which means you can maximize the transfer speeds of your M.2 SATA Drive.
It is compatible with any M.2 SATA SSD with Key-B and Key B&M.
Features
M.2 SATA SSD CompatibilityAccepts any size of M.2 SATA SSD with Key-B or Key-B&M
UASP Supported for Raspberry Pi 4Maximizes the high speed data transfers for Raspberry Pi 4
Two Full-Sized HDMIImproves the dual-monitor support of the Raspberry Pi 4 for its video input
Power Management ModesOffers 2 power management options with automatic booting or “Always ON Mode”
Built-in IR SupportProgrammable IR support to the Raspberry Pi with streamlined options. Works out of the box with the Argon ONE Remote.
Active CoolingSoftware Programmable 30 mm FAN via the Argon ONE software
Passive CoolingAluminum alloy top case acts as a giant heatsink connected to the CPU of the Raspberry Pi 4
Cable ManagementRepositioned all ports to the back of the Raspberry Pi 4 to highlight its sleek and modern design.
Learn to interface and program hardware devices in a wide range of useful applications, using ARM7 microcontrollers and the C programming language. Examples covered in full detail include a simple LED to a multi-megabyte SD card running the FAT file system.
Features of this book
Build prototype circuits on breadboard or Veroboard and interface to ARM microcontrollers.
A 32-bit ARM7 microcontroller is used in interfacing and software examples.
Interfacing principles apply to other ARM microcontrollers and other non-ARM microcontrollers as well.
Example programs are written in the C programming language.
Use only free or open source software.
Download and install all programming tools from the Internet.
Template project files are provided for easy project creation.
Hardware
Interface to LEDs, transistors, optocouplers, relays, solenoids, switches, keypads, LCD displays, seven segment displays, DC motors, stepper motors, external analogue signals using the ADC, RS232, RS-485, TWI, USB, SPI and SD memory cards.
Software
Once hardware has been interfaced to a microcontroller, software must be written to control the hardware. You will learn how to write programs to operate externally interfaced hardware devices, use timers and interrupts. Also learn how to port FAT file system code for use with an SD memory card, program the PWM to produce an audio sine wave, program the PWM to speed control a DC motor and more.
A chapter on more advanced ARM microcontrollers is included with an overview of some of the newest ARM microcontrollers and their features.
It is becoming important for microcontroller users to quickly learn and adapt to new technologies and architecture used in high performance 32-bit microcontrollers. Many manufacturers now offer 32-bit microcontrollers as general purpose processors in embedded applications.
ARM provide 32 and 64-bit processors mainly for embedded applications. These days, the majority of mobile devices including mobile phones, tablets, and GPS receivers are based on ARM technology. The low cost, low power consumption, and high performance of ARM processors makes them ideal for use in complex communication and mixed signal applications.
This book makes use of the ARM Cortex-M family of processors in easy-to-follow, practical projects. It gives a detailed introduction to the architecture of the Cortex-M family. Examples of popular hardware and software development kits are described.
The architecture of the highly popular ARM Cortex-M processor STM32F107VCT6 is described at a high level, taking into consideration its clock mechanisms, general input/output ports, interrupt sources, ADC and DAC converters, timer facilities, and more. The information provided here should act as a basis for most readers to start using and programming the STM32F107VCT6 microcontroller together with a development kit.
Furthermore, the use of the mikroC Pro for ARM integrated development environment (IDE) has been described in detail. This IDE includes everything required to create a project; namely an editor, compiler, simulator, debugger, and device programmer.
Although the book is based on the STM32F107VCT6 microcontroller, readers should not find it difficult to follow the projects using other ARM processor family members.
35 Projects for Beginners
This book is for hobbyists, students and engineers who want to learn C and how to use an mbed ARM microcontroller in an easy and fun way, without the need for cumbersome software installations.
ARM mbed microcontroller NXP LPC1768
The projects in this book are meant for beginners in C and ARM microcontrollers. That doesn't mean the projects are simple, but it does mean that they are easy to understand. We use for example USB communications, a subject that is made so easy by the mbed that it is suitable for a beginners book.
Cloud technology
The mbed NXP LPC1768 uses cloud technology, a revolutionary concept in software development. This means you do not need to install software on your PC in order to program the mbed!
The only thing you need is a browser such as Microsoft Internet Explorer, and a USB port on your PC. You can get access to your project from any PC anywhere in the world and continue working on it. When you are done a few simple mouse clicks transfer the program to your mbed hardware. Of course you can optionally download the projects and store them on your own PC.
Features of this Book
Learn how to program an mbed ARM microcontroller using cloud technology. No complicated software installation on your PC needed.
Learn programming in C by doing fun and interesting projects. No previous experience or knowledge required.
Examples of projects in this book: flashing light, timer, light activated switch, digital thermometer, people detector, USB communication, talking microcontroller, debugging, sound switch, and much more - 35 projects in total.
Examples of C subjects in this book: variables, commands, functions, program execution, pointers (introduction).
23 projects to bring your microcontroller to life!
This book contains 23 special and exciting artificial intelligence machine-learning projects, for microcontroller and PC. Learn how to set up a neural network in a microcontroller, and how to make the network self-learning. Discover how you can breed robots, and how changing a fitness function results in a totally different behavior. Find out how a PC program exposes your weak spots in a game, and ruthlessly exploits them. Build a free-will robot, or have one clean your floor!
Example projects from the book:
A microcontroller that learns what your favourite color is.
A robot wandering about the house looking for someone to play with.
A bred robot program that is incapable of crossing a black line.
A microcontroller that learns how to play a game until You just can't win anymore.
A PC that programs a microcontroller all by itself.
Complete with free software that you can download containing:
All source code for the microcontroller.
All sources of compiled PC programs (MS Windows).
JAL programming language, with special editor and extension libraries.
Robot breed program.
Plus a support webpage with links, errata and FAQ.
Several artificial intelligence techniques are discussed and used in projects such as expert system, neural network, subsumption, emerging behavior, genetic algorithm, cellular automata and roulette brains. Every project has clear instructions and pictures so you can start immediately. Suggestions and literature links allow you to go way beyond the scope of the book. Even after you have built all the projects contained within, this book will remain a valuable reference guide to keep next to your PC.
A unique book for anyone with an interest in artificial intelligence and machine learning.
A Guide to Powerful Programming for Embedded Systems
You must be a well-rounded professional to excel in the ever-evolving, rapidly developing embedded design and programming industry. Simply put, when it comes to electronics design and programming, the more topics you can master, the more you’ll flourish at your workplace and at your personal workbench. This shouldn’t be a surprise, as the line between the skills of a hardware engineer and software engineer is blurring. The former should have a good grasp of programming in order to build efficient systems. The latter should understand the details of the design (whether it’s a physical or virtual application) for which he or she is writing code. Thus, to be successful, a modern professional electronics engineer must have a solid grasp of both hardware design and programming.
Assembly Language Essentials is a matter-of-fact guide to Assembly that will introduce you to the most fundamental programming language of a processor. Unlike other resources about Assembly that focus exclusively on specific processors and platforms, this book uses the architecture of a fictional processor with its own hardware and instruction set. This enables you to consider the importance of Assembly language without having to deal with predetermined hardware or architectural restrictions.
You’ll immediately find this thorough introduction to Assembly to be a valuable resource, whether you know nothing about the language or you have used it before. The only prerequisite is that you have a working knowledge of at least one higher-level programming language, such as C or Java.
Assembly Language Essentials is an indispensible resource for electronics engineering professionals, academics, and advanced students looking to enhance their programming skills. The book provides the following, and more:
An introduction to Assembly language and its functionality
Significant definitions associated with Assembly language, as well as essential terminology pertaining to higher-level programming languages and computer architecture
Important algorithms that may be built into high-level languages, but must be done the “hard way” in Assembly language — multiplication, division, and polynomial evaluation
A presentation of Interrupt Service Routines with examples
A free, downloadable Assembler program for experimenting with Assembly
Upgraded version II with Bluetooth function, larger battery capacity, built-in bandpass filter circuit and additional modes (HI-Z, LNA, 50 ohm)
The ATS25 max-Decoder II is a portable, full-band MW/LW/SW/Ham/FM radio receiver based on the Si4732-A10 HF transceiver with DSP technology. The extremely compact and lightweight receiver has several built-in signal decoding modes including CW, RTTY, HELL, FT4, and FT8, making it an indispensable unit for radio amateurs.
Features
Rotary control or touch-screen user interface
Automatic antenna input switching (BNC socket)
Adjustable 500-6000 Hz bandwidth depending on modulation
Real-time signal reception quality measurement and automatic search for radio stations based on received data
10 Hz minimum SSB frequency setting. 1 Hz BFO generator for precise tuning within ham radio bands
RDS information decoding
SSB reception
Rapid frequency entry using two fast switching VFOs
Unlimited station memory with grouping by reception range
CB band channel mode
Extensive setting and customization options
Morse code decoding for Latin and Cyrillic alphabets
DIGI modes decoding (RTTY, FELD-HELL, FT4, FT8)
Decoded data saving, storage, and sending to a PC
WiFi connectivity for updates and advanced decoding modes
Updateable, ESP32-based, control software
Supplied with preregistered licence key
Specifications
Display: 2.4-inch (net) color TFT with touch (320 x 240)
Case material: aluminum alloy
Built-in battery: 4000 mAh Lithium-ion (supports up to 6 hours of operation)
Bluetooth
Internal loudspeaker
Headphones output (3.5 mm jack)
VHF FM: 64-108 MHz with RDS
MW: 520-1710 kHz
LW: 153-500 kHz
SW: 1730-30000 kHz
Firmware version: 4.17 Air
Power: USB-C
Dimensions: 117 x 112 x 45 mm
Weight: 380 g
Included
1x ATS25 max-Decoder II Receiver
1x Wi-Fi antenna
1x Telescopic antenna
1x Stylus pen
1x USB-C charging/data cable
1x Dust cloth
1x Manual
The ATuMan LI1 Laser Line Projection Angle Gauge is a versatile tool designed for precise angle measurements. It combines the functionalities of an inclinometer, protractor, and laser level, making it suitable for various applications in construction, decoration, and DIY projects.
Features
Real-time angle measurement
Double-sided HD LED color screen
Frosted aluminum body
USB-C fast charging
Angle levelling
Laser line projection
Adjustable bracket for easy fixation
IP54 waterproof and dustproof
Specifications
Indoor Distance
≤10 m
Measurement Accuracy
±0.5°
Measurement Modes
Absolute angle and relative angle
Laser Wavelength
660 nm
Laser Class
Class II
Protection Level
IP54 (dustproof and splash-resistant)
Battery
730 mAh Lithium battery (built-in)
Charging Interface
USB-C
Operating Temperature
−10~50°C
Dimensions
120 x 20 x 35 mm (Projector)103 x 95 mm (Bracket)
Weight
95 g
Included
1x LI1 Laser Projection Angle Meter (Dual Laser)
1x Bracket
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 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
The AxiDraw MiniKit 2 The AxiDraw MiniKit 2 is a special compact addition to the AxiDraw lineup. Designed for lighter-duty applications, It takes up less desk space and less storage space. It's considerably more portable, too. The AxiDraw MiniKit is also the only DIY kit model of AxiDraw that you get to assemble yourself. All other AxiDraw models ship fully assembled, tested, and ready to use.) A Mini Plotter The AxiDraw MiniKit 2 has a working area of about 6 × 4 inches (150 × 100 mm): Big enough to be useful for a wide range of applications including short notes, postcards, and addressing envelopes. It's also ideally suited for use as a signature machine, for signing checks, letters, books, or artwork. Applications The AxiDraw is an extremely versatile machine, designed to serve a wide variety of everyday and specialized drawing and writing needs. You can use it for almost any task that might normally be carried out with a handheld pen. It allows you to use your computer to produce writing that appears to be handmade, complete with the unmistakable appearance of using a real pen (as opposed to an inkjet or laser printer) to address an envelope or sign one's name. And it does so with precision approaching that of a skilled artist, and – just as importantly – using an arm that never gets tired. Specifications Performance Usable pen travel (inches): 6.3 × 4 inches Usable pen travel (millimeters): 160 × 101 mm Vertical pen travel: 0.7 inch (17 mm) Maximum XY travel speed: 10 inches (25 cm) per second Native XY resolution: 2032 steps per inch (80 steps per mm) Reproducibility (XY): Typically better than 0.005 inches (0.1 mm) at low speeds Physical Major structural components are machined, extruded, or folded aluminum, manufactured and anodized in the USA. Holds pens and other drawing instruments up to 5/8' (16 mm) diameter and 25 g weight. Overall dimensions: Approximately 14.25 × 9.25 × 4.25 inches (36 × 23.5 × 11 cm) Maximum height with cable guides: Approximately 9 inches (23 cm) Footprint: Approximately 13.5 × 1.7 inches (35 x 4.5 cm) Weight: 3.2 Lb (1.5 kg) Software Compatible with Mac, Windows, and Linux Drive directly from within Inkscape, using the AxiDraw extension Comprehensive user guide available for download
Driver software software free to download and open source Internet access is required to download software Additionally, AxiDraw Merge software available at no cost to AxiDraw owners. Programming interfaces Note: Programming is not required to use the AxiDraw Stand-alone command line interface (CLI) Available AxiDraw Python API
RESTful API available for full machine control, stand-alone or accessible by running RoboPaint in the background. Simplified 'GET-only' API available as well, for use in programming environments (such as Scratch, Snap) that permit only retrieval of URLs. Direct EiBotBoard (EBB) command protocol available for use in any programming environment that supports communication with USB-based serial ports. Code that generates SVG files can also be used to (indirectly) control the machine. Included All parts and materials necessary to build the AxiDraw MiniKit 2 writing and drawing machine. Multi-plug power supply with EU adapter USB cable Small Easel (Board and clips) for paper holding Tools needed Scissors or diagonal cutters Small Phillips-head screwdrivers: #0 and #1 sizes Small flat-head screwdriver: 2 mm or 5/64' blade width recommended Miniature pliers (Recommended but not required) Small hobby knife (Recommended but not required) Downloads User Guide
The AxiDraw SE/A3 has the same extended plotting area as the AxiDraw V3/A3. In place of the central extrusion that makes up the body of that machine, the AxiDraw SE/A3 has a central beam that is CNC machined from a solid billet of 6061-T6 aluminum, and then anodized to a sleek black finish.This heavy, rigid structure – it's a solid block of metal! – provides dramatically better straightness and stiffness, even compared to the already-stiff AxiDraw V3/A3. This design adds mass exactly where you want it: to the non-moving base that forms the X-axis of the machine. In order to keep the weight light where it matters, the moving Y-axis of the AxiDraw SE/A3 uses the same stiff and light custom aluminum extrusion that we use on the AxiDraw V3/A3.Beyond this, the central beam and X-axis of the AxiDraw SE/A3 feature an all-new geometry for the rolling wheels, which provides more stable and uniform motion along the axis.Getting StartedThe AxiDraw comes fully assembled, tested, and ready to use, right out of the box. A universal-input plug-in power supply is included with the AxiDraw, as is a USB cable, and an optional paper-holding easel. Assuming that you've installed the software first, you can be up and plotting within minutes of opening the box. Our comprehensive PDF user guide walks you through every step of the process.To operate AxiDraw, you will need a reasonably modern computer with an available USB port (Mac, Windows or Linux), plus internet access to download necessary software. Pens and paper are not included. (You can use your own; AxiDraw does not require proprietary pens or paper.)AxiDraw is normally controlled through a set of extensions to Inkscape, the excellent, popular and free vector graphics program. Basic operation is much like that of a printer driver: you import or make a drawing in Inkscape, and use the extensions to plot your text or artwork. It's all handled through a straightforward graphical user interface, and works cleanly on Mac, Windows and Linux.SpecificationsPerformance
Usable pen travel (inches): 16.93 × 11.69 inches
Usable pen travel (millimeters): 430 × 297 mm
Vertical pen travel: 0.7 inch (17 mm)
Maximum XY travel speed: 15 inches (38 cm) per second
Native XY resolution: 2032 steps per inch (80 steps per mm)
Reproducibility (XY): Typically better than 0.005 inches (0.1 mm) at low speeds.
Physical
Major structural components are machined and/or folded aluminum.
Holds pens and other drawing instruments up to 1' (25.4 mm) diameter.
Overall dimensions: Approximately 26 × 19 × 5 inches (66 × 48 × 13 cm)
Maximum height with cable guides: Approximately 11 inches (29 cm)
Footprint: Approximately 26 × 5 inches (66 x 13 cm)
Weight: 8.4 Lb (3.8 kg)
Software
Compatible with Mac, Windows, and Linux
Drive directly from within Inkscape, using the AxiDraw extension.
Comprehensive user guide available for download
Driver software software free to download and open source
Internet access is required to download software.
Additionally, AxiDraw Merge software available at no cost to AxiDraw owners.
Programming interfaces
Note: Programming is not required to use the AxiDraw.
Stand-alone command line interface (CLI)
Available AxiDraw Python API
RESTful API available for full machine control, stand-alone or accessible by running RoboPaint in the background.
Simplified 'GET-only' API available as well, for use in programming environments (such as Scratch, Snap) that permit only retrieval of URLs.
Direct EiBotBoard (EBB) command protocol available for use in any programming environment that supports communication with USB-based serial ports.
Code that generates SVG files can also be used to (indirectly) control the machine.
Included
AxiDraw SE/A3 writing and drawing machine (fully assembled, tested, and ready to use)
Multi-plug power supply with EU adapter
USB cable
Tabloid/A3 Clip Easel (Board and clips) for paper holding
Standard AxiDraw pen clip and XL pen clip
Italic pen adapter
DownloadsUser Guide
The AxiDraw is a simple, modern, precise, and versatile pen plotter, capable of writing or drawing on almost any flat surface. It can write with your favorite fountain pens, permanent markers, and other writing implements to handle an endless variety of applications. Its unique design features a writing head that extends beyond the machine, making it possible to draw on objects bigger than the device itself.
Designed for high performance
AxiDraw V3 is an all-new version of the AxiDraw, redesigned from the ground up for high performance. It features smooth rolling wheels on custom aluminum extrusions, specially designed for high stiffness and light weight. Its sturdy, rigid construction gives it finer quality output and in most applications allows it to operate at up to twice the speed of the previous AxiDraw.
Designed for longevity
AxiDraw V3 features a new, highly repairable, field-serviceable design for a long life. While no parts on AxiDraw require regular replacement, this new machine is built with a screws not glue design approach throughout, where essentially every component can be replaced by the end user if it should ever become necessary.
Applications
The AxiDraw is an extremely versatile machine, designed to serve a wide variety of everyday and specialized drawing and writing needs. You can use it for almost any task that might typically be carried out with a handheld pen.
It allows you to use your computer to produce writing that appears to be handmade, complete with the unmistakable appearance of using a real pen (as opposed to an inkjet or laser printer) to address an envelope or sign one's name. And it does so with precision approaching that of a skilled artist, and -just as importantly- using an arm that never gets tired.
Formal invitations
Place cards for formal dining
Signing diplomas and other certificates
Addressing envelopes and boxes
Handwritten wine lists and menus at restaurants
Decorating lunch bags
Computer generated artwork
Technical drawing
Thank you notes and cards
Writing signatures
Specifications
Performance
Usable pen travel (inches): 11.81 × 8.58 inches (Just over US letter size)
Usable pen travel (millimeters): 300 × 218 mm (Just over A4 size)
Vertical pen travel: 0.7 inch (17 mm)
Maximum XY travel speed: 15 inches (38 cm) per second
Native XY resolution: 2032 steps per inch (80 steps per mm)
Reproducibility (XY): Typically better than 0.005 inches (0.1 mm) at low speeds.
Physical
Major structural components are machined and/or folded aluminum.
Holds pens and other drawing instruments up to 5/8" (16 mm) diameter.
Overall dimensions: Approximately 21.5 × 16 × 4 inches (55 × 40.5 × 10 cm)
Maximum height with cable guides: Approximately 8.5 inches (22 cm)
Footprint: Approximately 17 × 3.5 inches (43 × 9 cm)
Weight: 4.75 Lb (2.2 kg)
Software
Compatible with Mac, Windows, and Linux
Drive directly from within Inkscape, using the AxiDraw extension.
Comprehensive user guide available for download.
Driver software software free to download and open source
Internet access is required to download software.
Additionally, AxiDraw Merge software available at no cost to AxiDraw owners.
Programming interfaces
Note: Programming is not required to use the AxiDraw.
Stand-alone command line interface (CLI)
Available AxiDraw Python API
RESTful API available for full machine control, stand-alone or accessible by running RoboPaint in the background.
Simplified 'GET-only' API available as well, for use in programming environments (such as Scratch, Snap) that permit only retrieval of URLs.
Direct EiBotBoard (EBB) command protocol available for use in any programming environment that supports communication with USB-based serial ports.
Code that generates SVG files can also be used to (indirectly) control the machine.
Included
AxiDraw V3 writing and drawing machine (fully assembled, tested, and ready to use)
Multi-plug power supply with EU adapter
USB cable
Easel (Board and clips) for paper holding
Downloads
User Guide