EMBEDDED SYSTEMS AND IoT UNIT 3
Embedded Systems and Internet of Things
Arduino Toolchain 1
EMBEDDED SYSTEMS AND IoT UNIT 3
UNIT 3
3.1 Introduction to the Concept of IoT Devices
3.2 IoT Devices Versus Computers
3.3 IoT Configurations - Basic Components
3.4 Introduction to Arduino – Types of Arduino
3.5 Arduino Toolchain
3.6 Arduino Programming Structure – Sketches – Pins –
Input/Output From Pins Using Sketches
3.7 Introduction to Arduino Shields
3.8 Integration of Sensors and Actuators with Arduino.
Arduino Toolchain 2
What is Arduino Tool Chain?
Toolchain (IDE)
• A toolchain is a set of programming tools that is used to perform a
complex set of operations.
• In the Arduino Software (IDE) the toolchain is hidden from the user,
but it is used to compile and upload the user Sketch.
• It includes compiler, assembler, linker and Standard C & math
libraries.
3
Components of Arduino Tool Chain
✓ Arduino IDE (Integrated Development Environment)
✓ AVR-GCC Compiler
✓ Boards Manager
✓ Libraries
✓ Bootloader
✓ AVRDUDE
✓ USB Drivers
✓ Serial Monitor
4
Components of Arduino Tool Chain
1.Arduino IDE (Integrated Development Environment)
✓ The Arduino IDE is a graphical software application that
provides an interface for writing, compiling, and uploading
code to Arduino boards.
✓ It includes a code editor, a compiler, and tools for managing
libraries, boards, and serial communication.
✓ The Arduino IDE simplifies the development process for
beginners by providing an easy-to-use interface.
5
Components of Arduino Tool Chain
1.Arduino IDE (Integrated Development Environment)
6
Components of Arduino Tool Chain
2. AVR-GCC Compiler
✓ The Arduino IDE uses the AVR-GCC (GNU Compiler Collection
for AVR) compiler
✓ It converts Arduino code written in the Arduino programming
language (a variant of C/C++) into machine code that can run
on the Atmel AVR microcontrollers used in Arduino boards.
7
Components of Arduino Tool Chain
3. Boards Manager
✓ The Boards Manager is a part of the Arduino IDE.
✓ It allows user to install and manage different board
definitions, enabling user to program various types of Arduino-
compatible boards, including official Arduino boards and third-
party boards.
8
Components of Arduino Tool Chain
3. Boards Manager
9
Components of Arduino Tool Chain
4. Libraries
✓ Libraries are pre-written code modules that provide specific
functionality, such as handling sensors, communication
protocols, and other hardware-related tasks.
✓ The Arduino IDE includes a Library Manager that makes it easy
to add, remove, and manage libraries in the projects.
10
Components of Arduino Tool Chain
5. Bootloader
✓ The bootloader is a small piece of software that resides on the microcontroller and
allows user to upload new firmware (code) to the board without needing a separate
hardware programmer.
✓ It provides a way to communicate with the microcontroller via a serial connection
for programming.
13
Components of Arduino Tool Chain
6. AVRDUDE
• AVRDUDE is a utility used to upload firmware* to AVR
microcontrollers using various programming methods,
including serial, parallel, and USB connections.
• The Arduino IDE uses AVRDUDE under the hood to upload
compiled code to the Arduino board.
*Firmware is software that provides basic machine instructions that
allow the hardware to function and communicate with other software
running on a device.
14
Components of Arduino Tool Chain
7. USB Drivers
✓ Depending on the type of Arduino board which user is using,
USB drivers need to be installed on computer to establish a
communication link between the board and the Arduino IDE.
15
Components of Arduino Tool Chain
8. Serial Monitor
✓ The Serial Monitor is a feature within the Arduino IDE that
allows user to communicate with Arduino board through the
serial port.
✓ It's commonly used for debugging and monitoring the output
of the Arduino programs.
16
Next Session......
Arduino Programming Structure – Sketches – Pins –
Input/Output From Pins Using Sketches