Elektor GREEN and GOLD members can download their digital edition here.
Not a member yet? Click here.
Arduino Portenta Machine Control and Arduino Portenta H7A CAN-to-MQTT Gateway Demo Project
Unboxing the Elektor LCR Meter with David Cuartielles
MicroPython Enters the World of Arduino
Connected Projects, SimplifiedDive Into the Arduino Cloud
Introduction to TinyMLBig Is Not Always Better
Arduino K-Way
Writing Arduino Sketches Just Got Better
Get to Know Arduino
Getting Started with the Portenta X8Manage Software Securely with Containers
Build, Deploy, and Maintain Scalable, Secure ApplicationsWith Arduino Portenta X8 Featuring NXP’s i.MX 8M Mini Applications Processor and EdgeLock SE050 Secure Element
How I Automated My HomeArduino CEO Fabio Violante Shares Solutions
Altair 8800 SimulatorHardware Simulation of a Vintage Computer
MS-DOS on the Portenta H7Run Old-School Software on Contemporary Hardware
Grow It YourselfA Digitally Controlled, Single-Box Solution for Indoor Farming
Save the Planet With Home Automation?MQTT on the Arduino Nano RP2040 Connect
Go Professional with Arduino Pro
Smart Ovens Take a Leap Into the Future
Tagvance Builds Safer Construction Sites with Arduino
Santagostino Breathes Easywith Remote Monitoring that Leverages AI for Predictive Maintenance
Security Flies High with RIoT Secure’s MKR-Based Solution
Open-Source Brings a New Generation of Water Management to the World
SensoDetect Deforestation with Sound Analysis
The Mozzi Arduino Library for Sound SynthesisInsights from Tim Barrass
The New Portenta X8 (with Linux!) and Max Carrier Redefine What’s Possible
How Using Arduino Helps Students Build Future Skills
Must-Haves for Your Electronics Workspace
The Importance of Robotics in Education
Dependable IoT Based Upon LoRa
Unboxing the Portenta Machine Control
8-Bit Gaming with Arduboy
Reducing Water Usage at Horseback Riding TracksAn IoT to Constantly Monitor Soil Humidity and Temperature Levels
The Panettone ProjectA sourdough starter management and maintenance system
Supporting Arduino Resellers
Space Invaders with Arduino
Art with ArduinoInspiring Insights from Artists and Designers
Arduino Product Catalogue
The Future of Arduino
Although the Arduino isn’t a novelty any longer, there are still many beginners who want to try programming and development with a microcontroller, and to them, it is all new. All beginnings can be difficult, though they should be light and enjoyable.
You do not need much or expensive equipment for the examples. The circuits are built on a small breadboard, and, if necessary, connected to an Arduino Uno, which you can program on a Windows PC. You will find clear examples of how to build all circuits, ensuring easy and error-free reproduction.
Projects Discussed
Current & Voltage – How it all began
Arduino Hardware
Arduino Programming
The Electrical Circuit
Measuring with the Multimeter
Circuit Diagrams and Breadboards
Creating Circuit Diagrams
Breadboard Views with Fritzing
Online Circuit Simulation
Indispensable: Resistors (Part 1)
Hands-on with Resistors (Part 2)
Variable Resistors
Diodes: One-way Street for Current
The Transistor Switch
Electromagnetism
Relays and Motors
op-amps: Operational Amplifiers
Capacitors
The NE555 Timer
PWM and Analogue Values with Arduino
7-Segment Temperature Display
Introduction to Soldering and LCDs
Make your project dreams come true: an odometer for the hamster wheel, a fully automatic control of your ant farm with web interface, or the Sandwich-O-Mat – a machine that toasts and grills sandwiches of your choice.
With the Arduino and the DIY or Maker movement, not only did entry into microcontroller programming become child's play, but a second development also took place: Resourceful developers brought small boards – so-called shields or modules – to the market, which greatly simplified the use of additional hardware. The small modules contain all the important electronic parts to be connected to the microcontroller with a few plug-in cables, eliminating the need for a fiddly and time-consuming assembly on the plug-in board. In addition, it is also possible to handle tiny components that do not have any connecting legs (so-called SMDs).
Projects Discussed
Arduino seeks connection
BMP and introduction to libraries, I²C
Learn I/O basics with the multi-purpose shield
I²C LCD adapter and DOT matrix displays
LCD keypad shield
Level converter
W5100: Internet connection
I/O expansion shield
Relays and solid-state relays
The multi-function shield: A universal control unit
Connecting an SD card reader via SPI
Keys and 7-segment displays
16-bit ADC
MCP4725 DAC
16-way PWM servo driver
MP3 player
GPS data logger using an SD card
Touch sensor
Joystick
SHT31: Temperature and humidity
VEML6070 UV-A sensor
VL53L0X time-of-flight
Ultrasonic distance meter
MAX7219-based LED DOT matrix display
DS3231 RTC
Port expander MCP23017
433 MHz radio
MPU-650 gyroscope
ADXL345 accelerometer
WS2812 RGB LEDs
Power supply
MQ-xx gas sensors
CO2 gas sensor
ACS712 current sensor
INA219 current sensor
L298 motor driver
MFRC522 RFID
28BYJ-48 stepper motor
TMC2209 silent step stick
X9C10x digital potentiometer
ST7735 in a color TFT display
e-Paper display
Bluetooth
Geiger counter
SIM800L GSM module
I²C multiplexer
Controller Area Network
Portenta HAT Carrier is a reliable and robust carrier that transforms Portenta X8 into an industrial single board computer compatible with Raspberry Pi HATs and cameras. It is ideal for multiple industrial applications such as building automation and machine monitoring.
Compatible also with Portenta H7 and Portenta C33, Portenta HAT Carrier provides easy access to multiple peripherals – including CAN, Ethernet, microSD and USB – and further extends any Portenta application.
It is great for prototyping and ready for scaling up, it extends the features found on a typical Raspberry Pi Model B. Debug quickly with dedicated JTAG pins and keeps heat manageable under intense workloads with a PWM fan connector. Control actuators or read analog sensors via the additional 16x analog I/Os. Add industrial machine vision solutions to any project by leveraging the onboard camera connector.
Features
Add Raspberry Pi HATs to your Portenta projects
Quickly access CAN, USB, and Ethernet peripherals
Leverage onboard MicroSD card to log data
Enjoy simple debugging through the onboard JTAG pins
Easily control actuators and read sensors via 16x analog I/Os
Leveraging the onboard camera connector for machine vision
Portenta takes you from prototype to high-performance
Portenta HAT Carrier offers you a frictionless Linux prototyping experience and unlocks the ability for integrated real-time MCU solutions. Portenta HAT Carrier extends Portenta SOMs for faster, easier and more efficient testing for your ideas while also ensuring the capabilities and industrial-grade performances the Portenta range is known for.
Extend the Raspberry Pi ecosystem for commercial applications
Combine the ease of use, accessibility and incredible support from both the Arduino and Raspberry Pi communities for your next project with the carrier designed to combine and extend MPU and MCU applications for the development of advanced commercial solutions.
Specifications
Connectors
High-density connectors compatible with Portenta products
1x USB-A female connector
1x Gigabit Ethernet connector (RJ45)
1x CAN FD with onboard transceiver
1x MIPI Camera connector
1x MicroSD card slot
1x PWM fan connector
40-pin header connector allowing compatibility with Raspberry Pi HATs
16-pin analog header connectors, including:
8x analog inputs
1x GPIO
1xUART without flow control
2x PWM pins
1x LICELL pin for Portenta's RTC power
Interfaces
CAN FD
UART
SAI
ANALOG
GPIO
SPI
I²C
I²S
PWM
Debugging
Onboard 10x pin 1.27 mm JTAG connector
Power
From onboard screw terminal block allowing:
7-32 V power supply, powering both the carrier and the connected Portenta
5 V power supply
From USB-C on Portenta
From 5 V on 40-pin header connector
Dimensions
85 x 56 mm
Downloads
Datasheet
Schematics
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.
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 Oplà IoT Kit allows you to add connectivity to devices around the home or workplace. It comes complete with a set of 8 Internet of Things self-assemble projects ready to show you how to turn everyday appliances into ‘smart appliances’ and build custom connected devices that can be controlled with your mobile phone.
Features
Remote Controlled Lights - change color, light modes and switch on/off via your mobile
Personal Weather Station - record and monitor local weather conditions
Home Security Alarm - Detect motions and trigger warnings
Solar System Tracker - retrieve data from planets and moons in the Solar System
Inventory Control - track goods in & out
Smart Garden - monitor and control the environment for your plants
Thermostat Control - smart control for heating and cooling systems
Thinking About You - send messages between the Oplà and the Arduino IoT Cloud
For more advanced users the kit provides them with the potential to create their own connected devices and IoT applications through the open programmable platform providing the ultimate control.
The Oplà unit acts as the physical interface with the Arduino IoT Cloud providing you with total control at your fingertips via the Arduino IoT Remote app. Configure and manage all the settings via the Arduino IoT Cloud, with easy to create dashboards providing real-time readings from your smart devices around the home or workplace.
Adjusting settings, switching devices on/off, watering plants, etc are all controllable on the go with the Arduino IoT Remote app or fully automate the set-up then sit back and enjoy!
Applications
Remote Controlled Lights
Personal Weather Station
Home Security Alarm
Solar System Tracker
Inventory Control
Smart Garden
Thermostat Control
Thinking About You
Included
MKR IoT Carrier designed for this kit, including:
Round OLED Display
Five capacitive touch buttons
On-board sensors (temperature, humidity, pressure, and light)
Two 24 V relays
SD card holder
Plug and play connectors for different sensors
RGBC, Gesture, and Proximity
IMU
18650 Li-Ion rechargeable battery holder (battery not included)
Five RGB LEDs
Arduino MKR WiFi 1010
Plastic encasing
Micro USB cable
Moisture sensor
PIR sensor
Plug-and-play cables for all the sensors
The Portenta Machine Control is a fully-centralized, low-power, industrial control unit able to drive equipment and machinery. It can be programmed using the Arduino framework or other embedded development platforms.
Thanks to its computing power, the Portenta Machine Control enables a wide range of predictive maintenance and AI use cases. It enables the collection of real-time data from the factory floor and supports the remote control of equipment, even from the cloud, when desired.
Features
Shorter Time-To-Market
Give new life to existing products
Add connectivity for monitoring and control
Tailor it to your need, each I/O pin can be configured
Make equipment smarter to be ready for the AI revolution
Provide security and robustness from the ground up
Open new business model opportunity (e.g. servitization)
Interact with your equipment with advanced HMI
Modular Design for adaptation & upgrades
The Portenta Machine Control allows companies to enable new business-as-a-service models by monitoring customer usage of equipment for predictive maintenance and providing valuable production data.
The Portenta Machine Control enables industry standard soft-PLC control and is able to connect to a range of external sensors and actuators with isolated digital I/O, 4-20 mA compatible analog I/O, 3 configurable temperature channels, and a dedicated I²C connector. Multiple choices are available for network connectivity, including USB, Ethernet, and WiFi/Bluetooth Low Energy in addition to industry specific protocols such as RS485. All I/O are protected by resettable fuses and onboard power management has been engineered to ensure maximum reliability in harsh environments.
The Portenta Machine Control core runs a Portenta H7 microcontroller board (included), a highly reliable design operating at industrial temperature ranges (-40 °C to +85 °C) with a dual-core architecture that doesn’t require any external cooling. The main processor offers the possibility of connecting external Human Machine Interfaces like displays, touch panels, keyboards, joysticks, and mice to enable on-site reconfiguration of state machines and direct manipulation of processes.
The Portenta Machine Control’s design addresses a large variety of use scenarios. It is possible to configure a selection of the I/O pins via software. The Portenta Machine Control stands out as a powerful computer to unify and optimize production where one single type of hardware can serve all of your needs. Among other outstanding features are the following:
Industrial performance leveraging the power of Portenta boards
DIN bar compatible housing
Push-in terminals for fast connection
Compact device (170 x 90 x 50 mm)
Reliable design, operating at industrial temperature rates (-40 °C to +85 °C) with a dual-core architecture that doesn’t require any external cooling
Embedded RTC (Real Time Clock) to ensure perfect synchronization of processes
Leverage the embedded connectivity without any external parts
The Portenta Machine Control can be used in multiple industries, across a wide range of machine types, including: labelling machine, form & seal machine, cartoning machine, gluing machine, electric oven, industrial washer & dryers, mixers, etc.
Add the Portenta Machine Control to your existing processes effortlessly and become the owner of your solutions in the market of machines.
Specifications
Processor
STM32H747XI Dual Cortex-M7+M4 32-bit low power Arm MCU (Portenta H7)
Input
8 digital 24 VDC
2 channels encoder readings
3 Analog for PT100/J/K temperature probes (3-wire cable with compensation)
3 Analog input (4-20 mA/ 0-10 V/NTC 10K)
Output
8 digital 24 VDC up to 0.5 A (short circuit protection)
4 analog 0-10 V (up to 20 mA output per channel)
Other I/O
12 programmable digital I/O (24 V logic)
Commmunication protocols
CAN-BUS
Programmable Serial port 232/422/485
Connectivity
Ethernet
USB Programming Port
Wi-Fi
Bluetooth Low Energy
Memory
16 MB onboard Flash memory
8 MB SD-RAM
Dimensions
170 x 90 x 50 mm
Weight
186 g
Power
24 VDC +/- 20%
Connector type
Push-in terminals for fast connection
Operating temperature
-40°C to +85°C (-40°F to 185°F)
Downloads
Datasheet
Schematics
Pinout
The Arduino Nano ESP32 (with and without headers) is a Nano form factor board based on the ESP32-S3 (embedded in the NORA-W106-10B from u-blox). This is the first Arduino board to be based fully on an ESP32, and features Wi-Fi, Bluetooth LE, debugging via native USB in the Arduino IDE as well as low power. The Nano ESP32 is compatible with the Arduino IoT Cloud, and has support for MicroPython. It is an ideal board for getting started with IoT development. Features
Tiny footprint: Designed with the well-known Nano form factor in mind, this board's compact size makes it perfect for embedding in standalone projects.
Wi-Fi and Bluetooth: Harness the power of the ESP32-S3 microcontroller, well-known in the IoT realm, with full Arduino support for wireless and Bluetooth connectivity.
Arduino and MicroPython support: Seamlessly switch between Arduino and MicroPython programming with a few simple steps.
Arduino IoT Cloud compatible: Quickly and easily create IoT projects with just a few lines of code. The setup takes care of security, allowing you to monitor and control your project from anywhere using the Arduino IoT Cloud app.
HID support: Simulate human interface devices, such as keyboards or mice, over USB, opening up new possibilities for interacting with your computer. Specifications Microcontroller u-blox NORA-W106 (ESP32-S3) USB connector USB-C Pins Built-in LED pins 13 Built-in RGB LED pins 14-16 Digital I/O pins 14 Analog input pins 8 PWM pins 5 External interrupts All digital pins Connectivity Wi-Fi u-blox NORA-W106 (ESP32-S3) Bluetooth u-blox NORA-W106 (ESP32-S3) Communication UART 2x I²C 1x, A4 (SDA), A5 (SCL) SPI D11 (COPI), D12 (CIPO), D13 (SCK). Use any GPIO for Chip Select (CS) Power I/O Voltage 3.3 V Input voltage (nominal) 6-21 V Source Current per I/O pin 40 mA Sink Current per I/O pin 28 mA Clock speed Processor Up to 240 MHz Memory ROM 384 kB SRAM 512 kB External Flash 128 Mbit (16 MB) Dimensions 18 x 45 mm Downloads Datasheet Schematics
Grove is an open-source, modulated, and ready-to-use toolset and takes a building block approach to assemble electronics. This Kit includes a Base Shield to which the various Grove modules can be connected both individually, or together in various combinations to create fun and exciting projects. All of the modules use a Grove connector, which connects each of the components to a Base Shield in just a few seconds. The Base Shield can then be mounted onto an Arduino UNO board and can be programmed using the Arduino IDE. Instructions for connecting and programming the different modules are also included in this kit. This kit was elaborated in collaboration with Seeed Studio and provides the Arduino community with the opportunity to build projects with minimal effort of both wiring and coding. This kit acts as a bridge to the world of Grove and provides a flexible way for Makers to extend their projects to include other complex Grove modules. The Kit comes includes access to an online platform with all the instructions required to plug, sketch and play with the different Grove Modules. Please note: This kit does not include the Arduino Uno board. Included 1 Base Shield that is designed to fit on top of an Arduino UNO board. It comes equipped with 16 grove connectors, which, when placed on top of the UNO, provides the functionality to various pins. It includes: 7x digital connections 4x analog connections 4x I²C connections 1x UART connection 10 Grove modules included can be connected to the base shield, either through the digital, analog, or I2C connectors on the shield. Let's take a quick look at them: The LED - a simple LED that can be turned ON or OFF, or dimmed. The button - pushbutton can either be in a HIGH or LOW state. The potentiometer - a variable resistor that increases or decreases resistance when turning its knob. The buzzer - a piezo speaker that is used to produce binary sounds. The light sensor - a photoresistor that reads light intensity. The sound sensor - a tiny microphone that measures sound vibrations. The air pressure sensor - reads air pressure, using the I²C protocol. The temperature sensor - reads temperature and humidity at the same time. The accelerometer - a sensor used for orientation, used for detecting movement. The OLED screen - a screen that values or messages can be printed to. 6 Grove cables allow you to easily connect the modules to the Base Shield without any soldering required. The Arduino Sensor Kit Library is a wrapper that contains links to other libraries related to certain modules such as the accelerometer, air pressure sensor, temperature sensor, and OLED display. This library provides easy-to-use APIs that will help you build a clear mental model of the concepts you will be using.
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
Technology is constantly changing. New microcontrollers become available every year. The one thing that has stayed the same is the C programming language used to program these microcontrollers. If you would like to learn this standard language to program microcontrollers, then this book is for you!
Arduino is the hardware platform used to teach the C programming language as Arduino boards are available worldwide and contain the popular AVR microcontrollers from Atmel.
Atmel Studio is used as the development environment for writing C programs for AVR microcontrollers. It is a full-featured integrated development environment (IDE) that uses the GCC C software tools for AVR microcontrollers and is free to download.
At a glance:
Start learning to program from the very first chapter
No programming experience is necessary
Learn by doing – type and run the example programs
A fun way to learn the C programming language
Ideal for electronic hobbyists, students and engineers wanting to learn the C programming language in an embedded environment on AVR microcontrollers
Use the free full-featured Atmel Studio IDE software for Windows
Write C programs for 8-bit AVR microcontrollers as found on the Arduino Uno and MEGA boards
Example code runs on Arduino Uno and Arduino MEGA 2560 boards and can be adapted to run on other AVR microcontrollers or boards
Use the AVR Dragon programmer/debugger in conjunction with Atmel Studio to debug C programs