SlideShare a Scribd company logo
2
Most read
3
Most read
Arduino, Developing on
the Arduino
@omega.teched
@omega_teched
Prototyping
Embedded Devices
What is ARDUINO?
Arduino is an open-source electronics platform based
on easy-to-use hardware and software.
• Microcontroller Platform: Arduino boards control
sensors and actuators, enabling interaction with the
physical world.
• Connectivity: Arduino can connect to the internet
using modules like Wi-Fi (ESP8266, ESP32),
Bluetooth, or GSM for IoT applications.
• Sensing and Actuating: It gathers data from sensors
(e.g., temperature, humidity) and controls devices like
OMega TechEd
What is ARDUINO?
• Software and Programming: Arduino uses its
own programming language (based on C++) and
integrates with cloud services or IoT platforms.
• Prototyping: Ideal for rapid development of IoT
devices due to its low cost, simplicity, and large
community support.
• IoT Applications: Used in smart homes,
wearables, health monitoring, industrial
automation, and smart agriculture.
OMega TechEd
Developing On The Arduino
OMega TechEd
Integrated
Development
Environment
Pushing Code
Operating
System
Language Debugging
1. Integrated Development Environment
The Arduino IDE is a simple program we use to
write and upload code to an Arduino board. It’s easy
to understand, with most projects having just one
file of code. We can check the code for mistakes by
clicking "Verify" and upload it to the board by
clicking "Upload." The IDE is designed to be
straightforward, so we can focus on building and
testing projects quickly.
OMega TechEd
2. Pushing Code
1. Connect via USB: We connect the Arduino board to the computer using a USB
cable. Sometimes, we might face driver or USB permission issues, but they are
typically resolved quickly.
2. Select Serial Port and Board: In the Arduino IDE, we choose the correct serial port
and board type to match our setup.
3. Compile the Code: The IDE first checks and compiles the code, reporting any
errors.
4. Upload to Arduino: If the code compiles successfully, it is uploaded to the Arduino
and stored in its flash memory.
5. Arduino Reboots: The Arduino automatically reboots and starts running the newly
uploaded code.
OMega TechEd
3. Operating System
1. No Default OS: The Arduino runs only a bootloader, not a traditional operating system.
2. Code Execution: It executes the uploaded code continuously until powered off or if the
code crashes.
3. Uploading an OS: We can install lightweight real-time operating systems (RTOS) like
FreeRTOS or DuinOS for advanced features.
4. Multitasking: An RTOS provides built-in support for multitasking, allowing multiple
processes to run at the same time.
5. Compiling Without IDE: We can compile code using the avr-gcc toolset without the
Arduino IDE.
6. Toolset Functionality: The avr-gcc toolset allows us to compile and upload code
directly to the Arduino's chip, providing more control for advanced users.
OMega TechEd
4. Language
Arduino uses a slightly altered version of C++ based on the Wiring platform, making it
beginner-friendly. It includes libraries for reading and writing data from input/output
pins and handling interrupts. The language allows functions to be called before they are
defined, improving code readability and organization.
Two Main Functions:
• setup(): Runs once when the Arduino is powered on, used for setting pin modes and
initializing variables.
• loop(): Runs repeatedly while the board is on, typically used to check inputs, perform
calculations, and produce outputs.
OMega TechEd
Example: Code to make the LED blink
OMega TechEd
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
Define the pin for the LED
Initialize the digital pin as an output
This function runs once when the Arduino is powered on.
This function runs continuously.
Turns the LED on.
Turns the LED off.
Pauses the program for one second (1000 milliseconds)
Pauses for one second before repeating the loop
5. Debugging
Error Detection Challenges
• No Direct Output: Since most Arduino boards don’t have a display or
keyboard, it’s challenging to get immediate feedback on errors.
• Lack of Exception Handling: The Arduino environment doesn’t support
standard C++ exception handling (i.e., try...catch), making it harder to manage
errors gracefully.
OMega TechEd
Debugging Strategies
OMega TechEd
• Use Serial Monitor: Print debug information using Serial.print() and Serial.println()
to track variable values and program flow.
• Input Validation: Always check and validate input values from sensors or user
inputs.
• LED Indicators: Use LEDs to signal errors or different program states.
• Modular Code: Break code into functions to simplify testing and debugging.
• Memory Management: Avoid dynamic memory allocation when possible and
always check for allocation success.
• Watchdog Timers: Reset the Arduino if it becomes unresponsive.
• Debugging Libraries: Utilize libraries for enhanced logging and error handling
Conclusion
• Cost-effective: Arduino boards are affordable, making
them ideal for both beginners and large-scale IoT
projects.
• Easy to Learn and Use: With a large community and
extensive documentation, getting started with Arduino
is easy.
• Modular and Scalable: Arduino boards can be
extended with various modules and sensors, making
them highly flexible for different IoT applications.
In summary, Arduino in IoT serves as a versatile and
accessible platform for building smart devices that collect
data, automate tasks, and communicate over the internet,
forming the basis for many DIY and professional IoT
projects.
OMega TechEd
Thank You!
@omega.teched
LIKE,SHARE & SUBSCRIBE
@omega_teched

More Related Content

PPTX
Q2 Arduino Draft Q2 Arduino Draft Q2 Arduino Draft
PDF
Smart Projects With Arduino And Esp32 Integrating Artificial Intelligence Abd...
PPTX
PPTX
Aurdino presentation
PPTX
Arduino study and applications in IT.pptx
PDF
Practical Introduction to Internet of Things (IoT)
PPTX
Arduino and c programming
PPTX
Smart Door locking system using arduino
Q2 Arduino Draft Q2 Arduino Draft Q2 Arduino Draft
Smart Projects With Arduino And Esp32 Integrating Artificial Intelligence Abd...
Aurdino presentation
Arduino study and applications in IT.pptx
Practical Introduction to Internet of Things (IoT)
Arduino and c programming
Smart Door locking system using arduino

Similar to Prototyping Embedded Devices: Arduino, Developing on the Arduino. (20)

DOCX
Arduino and Circuits.docx
PDF
Introduction of Arduino Uno
PDF
manual Internet of ThingsArduino_IOTArdu
PPTX
Introduction to Arduino Hardware and Programming
PPS
What is Arduino ?
PDF
Introduction to Arduino
PPTX
Arduino
PPTX
1.Arduino Ecosystem.pptx
PDF
What is arduino
PPTX
Internet of Things prescribed by University
PPT
Embedded system programming using Arduino microcontroller
PPTX
arduino introduction by Engr. Kennedy V. Rodriguez.pptx
PPTX
ARDUINO Presentation1.pptx
PPTX
Introduction to Arduino.pptx
PPTX
Microcontroller arduino uno board
PDF
Indroduction arduino
PDF
Indroduction the arduino
PDF
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
PDF
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
PPTX
IoT applications With Arduino coding and real life examples
Arduino and Circuits.docx
Introduction of Arduino Uno
manual Internet of ThingsArduino_IOTArdu
Introduction to Arduino Hardware and Programming
What is Arduino ?
Introduction to Arduino
Arduino
1.Arduino Ecosystem.pptx
What is arduino
Internet of Things prescribed by University
Embedded system programming using Arduino microcontroller
arduino introduction by Engr. Kennedy V. Rodriguez.pptx
ARDUINO Presentation1.pptx
Introduction to Arduino.pptx
Microcontroller arduino uno board
Indroduction arduino
Indroduction the arduino
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
IoT applications With Arduino coding and real life examples
Ad

More from Megha Sharma (20)

PPTX
Designing Printed Circuit boards, Software Choices, The Design Process
PPTX
Manufacturing PCB, Etching board, milling board, Third party manufacturing, a...
PPTX
Business Model, make thing, sell thing, subscription, customization, Key Reso...
PPTX
Funding an IOT startup, Venture Capital, Government funding, Crowdfunding, Le...
PPTX
Sketch, Iterate and Explore, Nondigital Methods.
PPTX
CNC Milling, Software, Repurposing and Recycling.
PPTX
3D printing, Types of 3D printing: FDM, Laser Sintering, Powder bed, LOM, DLP.
PPTX
Laser Cutting, Choosing a laser cutter, Software, Hinges and joints.
PPTX
Memory management, Types of memory, Making the most of your RAM.
PPTX
Performance and Battery Life, Libraries, Debugging.
PPTX
Raspberry-Pi, Developing on Raspberry Pi, Difference between Arduino & Raspbe...
PPTX
Open Source versus Closed Source in IOT in IOT
PPTX
Why closed? Why Open? Mixing open and closed source
PPTX
Model Performance Metrics. Accuracy, Precision, Recall
PPTX
Graceful Degradation and Affordance in IOT
PPTX
Web thinking connected device, Small Pieces Loosely joined.
PPTX
Production & Mass Personalization, Changing Embedded Platform, Physical proto...
PPTX
Whose data is it anyways? Public vs Private data collection.
PPTX
Thinking about Prototyping: Sketching, Familiarity, Cost versus Ease of proto...
PPTX
Magic as metaphor in Internet of Things.
Designing Printed Circuit boards, Software Choices, The Design Process
Manufacturing PCB, Etching board, milling board, Third party manufacturing, a...
Business Model, make thing, sell thing, subscription, customization, Key Reso...
Funding an IOT startup, Venture Capital, Government funding, Crowdfunding, Le...
Sketch, Iterate and Explore, Nondigital Methods.
CNC Milling, Software, Repurposing and Recycling.
3D printing, Types of 3D printing: FDM, Laser Sintering, Powder bed, LOM, DLP.
Laser Cutting, Choosing a laser cutter, Software, Hinges and joints.
Memory management, Types of memory, Making the most of your RAM.
Performance and Battery Life, Libraries, Debugging.
Raspberry-Pi, Developing on Raspberry Pi, Difference between Arduino & Raspbe...
Open Source versus Closed Source in IOT in IOT
Why closed? Why Open? Mixing open and closed source
Model Performance Metrics. Accuracy, Precision, Recall
Graceful Degradation and Affordance in IOT
Web thinking connected device, Small Pieces Loosely joined.
Production & Mass Personalization, Changing Embedded Platform, Physical proto...
Whose data is it anyways? Public vs Private data collection.
Thinking about Prototyping: Sketching, Familiarity, Cost versus Ease of proto...
Magic as metaphor in Internet of Things.
Ad

Recently uploaded (20)

PPTX
ACUTE NASOPHARYNGITIS. pptx
PPTX
How to Manage Loyalty Points in Odoo 18 Sales
PPTX
Revamp in MTO Odoo 18 Inventory - Odoo Slides
PPTX
Open Quiz Monsoon Mind Game Prelims.pptx
PPTX
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PDF
What Is Coercive Control? Understanding and Recognizing Hidden Abuse
PDF
LDMMIA Reiki Yoga S2 L3 Vod Sample Preview
PPTX
Cardiovascular Pharmacology for pharmacy students.pptx
PPTX
Software Engineering BSC DS UNIT 1 .pptx
PDF
5.Universal-Franchise-and-Indias-Electoral-System.pdfppt/pdf/8th class social...
PPTX
An introduction to Prepositions for beginners.pptx
PPTX
Introduction and Scope of Bichemistry.pptx
PPTX
Presentation on Janskhiya sthirata kosh.
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PPTX
IMMUNIZATION PROGRAMME pptx
PPTX
How to Manage Global Discount in Odoo 18 POS
PPTX
How to Manage Bill Control Policy in Odoo 18
PPTX
Open Quiz Monsoon Mind Game Final Set.pptx
PDF
Cell Biology Basics: Cell Theory, Structure, Types, and Organelles | BS Level...
ACUTE NASOPHARYNGITIS. pptx
How to Manage Loyalty Points in Odoo 18 Sales
Revamp in MTO Odoo 18 Inventory - Odoo Slides
Open Quiz Monsoon Mind Game Prelims.pptx
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
What Is Coercive Control? Understanding and Recognizing Hidden Abuse
LDMMIA Reiki Yoga S2 L3 Vod Sample Preview
Cardiovascular Pharmacology for pharmacy students.pptx
Software Engineering BSC DS UNIT 1 .pptx
5.Universal-Franchise-and-Indias-Electoral-System.pdfppt/pdf/8th class social...
An introduction to Prepositions for beginners.pptx
Introduction and Scope of Bichemistry.pptx
Presentation on Janskhiya sthirata kosh.
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
IMMUNIZATION PROGRAMME pptx
How to Manage Global Discount in Odoo 18 POS
How to Manage Bill Control Policy in Odoo 18
Open Quiz Monsoon Mind Game Final Set.pptx
Cell Biology Basics: Cell Theory, Structure, Types, and Organelles | BS Level...

Prototyping Embedded Devices: Arduino, Developing on the Arduino.

  • 1. Arduino, Developing on the Arduino @omega.teched @omega_teched Prototyping Embedded Devices
  • 2. What is ARDUINO? Arduino is an open-source electronics platform based on easy-to-use hardware and software. • Microcontroller Platform: Arduino boards control sensors and actuators, enabling interaction with the physical world. • Connectivity: Arduino can connect to the internet using modules like Wi-Fi (ESP8266, ESP32), Bluetooth, or GSM for IoT applications. • Sensing and Actuating: It gathers data from sensors (e.g., temperature, humidity) and controls devices like OMega TechEd
  • 3. What is ARDUINO? • Software and Programming: Arduino uses its own programming language (based on C++) and integrates with cloud services or IoT platforms. • Prototyping: Ideal for rapid development of IoT devices due to its low cost, simplicity, and large community support. • IoT Applications: Used in smart homes, wearables, health monitoring, industrial automation, and smart agriculture. OMega TechEd
  • 4. Developing On The Arduino OMega TechEd Integrated Development Environment Pushing Code Operating System Language Debugging
  • 5. 1. Integrated Development Environment The Arduino IDE is a simple program we use to write and upload code to an Arduino board. It’s easy to understand, with most projects having just one file of code. We can check the code for mistakes by clicking "Verify" and upload it to the board by clicking "Upload." The IDE is designed to be straightforward, so we can focus on building and testing projects quickly. OMega TechEd
  • 6. 2. Pushing Code 1. Connect via USB: We connect the Arduino board to the computer using a USB cable. Sometimes, we might face driver or USB permission issues, but they are typically resolved quickly. 2. Select Serial Port and Board: In the Arduino IDE, we choose the correct serial port and board type to match our setup. 3. Compile the Code: The IDE first checks and compiles the code, reporting any errors. 4. Upload to Arduino: If the code compiles successfully, it is uploaded to the Arduino and stored in its flash memory. 5. Arduino Reboots: The Arduino automatically reboots and starts running the newly uploaded code. OMega TechEd
  • 7. 3. Operating System 1. No Default OS: The Arduino runs only a bootloader, not a traditional operating system. 2. Code Execution: It executes the uploaded code continuously until powered off or if the code crashes. 3. Uploading an OS: We can install lightweight real-time operating systems (RTOS) like FreeRTOS or DuinOS for advanced features. 4. Multitasking: An RTOS provides built-in support for multitasking, allowing multiple processes to run at the same time. 5. Compiling Without IDE: We can compile code using the avr-gcc toolset without the Arduino IDE. 6. Toolset Functionality: The avr-gcc toolset allows us to compile and upload code directly to the Arduino's chip, providing more control for advanced users. OMega TechEd
  • 8. 4. Language Arduino uses a slightly altered version of C++ based on the Wiring platform, making it beginner-friendly. It includes libraries for reading and writing data from input/output pins and handling interrupts. The language allows functions to be called before they are defined, improving code readability and organization. Two Main Functions: • setup(): Runs once when the Arduino is powered on, used for setting pin modes and initializing variables. • loop(): Runs repeatedly while the board is on, typically used to check inputs, perform calculations, and produce outputs. OMega TechEd
  • 9. Example: Code to make the LED blink OMega TechEd const int ledPin = 13; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); Define the pin for the LED Initialize the digital pin as an output This function runs once when the Arduino is powered on. This function runs continuously. Turns the LED on. Turns the LED off. Pauses the program for one second (1000 milliseconds) Pauses for one second before repeating the loop
  • 10. 5. Debugging Error Detection Challenges • No Direct Output: Since most Arduino boards don’t have a display or keyboard, it’s challenging to get immediate feedback on errors. • Lack of Exception Handling: The Arduino environment doesn’t support standard C++ exception handling (i.e., try...catch), making it harder to manage errors gracefully. OMega TechEd
  • 11. Debugging Strategies OMega TechEd • Use Serial Monitor: Print debug information using Serial.print() and Serial.println() to track variable values and program flow. • Input Validation: Always check and validate input values from sensors or user inputs. • LED Indicators: Use LEDs to signal errors or different program states. • Modular Code: Break code into functions to simplify testing and debugging. • Memory Management: Avoid dynamic memory allocation when possible and always check for allocation success. • Watchdog Timers: Reset the Arduino if it becomes unresponsive. • Debugging Libraries: Utilize libraries for enhanced logging and error handling
  • 12. Conclusion • Cost-effective: Arduino boards are affordable, making them ideal for both beginners and large-scale IoT projects. • Easy to Learn and Use: With a large community and extensive documentation, getting started with Arduino is easy. • Modular and Scalable: Arduino boards can be extended with various modules and sensors, making them highly flexible for different IoT applications. In summary, Arduino in IoT serves as a versatile and accessible platform for building smart devices that collect data, automate tasks, and communicate over the internet, forming the basis for many DIY and professional IoT projects. OMega TechEd
  • 13. Thank You! @omega.teched LIKE,SHARE & SUBSCRIBE @omega_teched