Show Menu
Cheatography

EIOT 3 Cheat Sheet (DRAFT) by

Embedded Systems and Internet of Things

This is a draft cheat sheet. It is a work in progress and is not finished yet.

IOT system

Components
Device­s/S­ensors → collect data
Connectivity → WiFi, Bluetooth, etc.
Data Processing → edge/cloud
Application → user interface
Archit­ecture Layers
Perception → sensing (sensors, actuators)
Sensors; Actuators; RFID tags and readers; Embedded devices; Microc­ont­rollers
Network → data transm­ission
Routers; Gateways; Commun­ication modules; Internet infras­tru­cture
Commun­ication Techno­logies
Wi-Fi; Bluetooth; ZigBee
Protocols Used
MQTT; CoAP; HTTP; AMQP
Processing → storage, analytics
Cloud, edge computing, databases
Applic­ation → user services
Sensors vs Actuators
Sensors → input (tempe­rature, light)
Actuators → output (motor, relay)

IoT protocols

reliable and efficient commun­ication
data transfer, intero­per­abi­lity, low power usage, low latency and security
Protocol Stack
Link Layer: Physical commun­ication (Wi-Fi, ZigBee)
Network Layer: Addressing and routing (IPv6, 6LoWPAN)
Transport Layer: Reliable or fast data transfer (TCP/UDP)
Applic­ation Layer: IoT protocols (MQTT, CoAP, HTTP, AMQP)
 

Arduino

function - interface sensors + actuators; execute control logic; commun­icate with cloud + devices (data)
microc­ont­roller based; uses Wifi/ bluetooth
setup() - initialize settings; executes once
loop() - contin­uously; repeatedly
GPIO - interact with external devices; input from sensors; output to actuators
Arduino IDE - write, compile, and upload programs (sketc­hes); syntax checking, library support, and serial monitor
types of Arduino - 1. Arduino Uno (basic), 2. Mega 2560 (more I/O pins + memory), 3. Nano (compact), 4. MKR WiFi 1010 (WiFi) 5. Uno WiFi Rev2 (WiFi)
Arduino shields - add-on boards; extend functi­ona­lit­yWi-Fi, Bluetooth, motor control, and sensor interf­acing (without complex wiring)
interface sensor with arduino
VCC → 5V/3.3V
GND → GND
Output → Analog­/Di­gital pin (e.g., A0 or D2)
Connect sensor to Arduino → Configure pin → Read sensor data → Process and use data

Data acquis­ition

Sensor → Arduino reads data → Processes values → Displays results
Components Required
1. Arduino Uno / Nano
2. Temper­ature Sensor (LM35 / DHT11) or LDR
3. 16×2 LCD Display (or Serial Monitor)
4. Resistors and connecting wires
5. Breadboard
6. Power supply
int sensorPin = A0;
float temperature;
void setup() {
Serial.begin(9600);
}
void loop() {
int sensor­Value = analogRead(sensorPin);
temper­ature = sensor­Value * 0.488;
Serial.pr­int­("Te­mpe­rature: ");
Serial.print(temperature);
delay(1000);
}
 

Arduino Toolchain

Toolchain = set of tools to write, compile, upload, debug programs
Components
Arduino IDE → write code (sketch)
Editor → C/C++ code writing
Compiler → converts code → HEX file
Uploader → uploads to Arduino
Hardware → executes program
Program Develo­pment Flow
Write code (setup(), loop()) → Compile (error checking) → Upload to board → Execute on hardware
Debugging Methods
Serial Monitor → print values
Serial Plotter → graph output
LED indicators → check flow
Importance
Simplifies embedded programming
Detects errors automatically
Enables quick upload
Supports libraries
Helps debugging

Arduino I/O Concepts

Digital I/O
Operates in two states: HIGH (1), LOW (0)
Digital Input → binary signals from sensors
Digital Output → controls actuators (LED, relay, buzzer)
Functions: digita­lRe­ad(), digita­lWr­ite()
Analog I/O
Handles continuous signals (0–5V)
Analog Input → uses ADC to convert signal (0–1023)
Function: analog­Read()
Analog Output (PWM)
Simulates analog signal using PWM
Range: 0–255
Function: analog­Write()
Interf­acing in IoT
Sensors → input via digita­l/a­nalog pins
Actuators → controlled via output pins
Flow: Sensor → Arduino → Processing → Actuator

Challenges

Challenges in Arduin­o-based IoT Systems
Voltage mismatch between devices
Limited GPIO pins
Signal noise and inaccurate readings
Power supply constraints
Timing and synchr­oni­zation issues
Limited memory and processing capability
Commun­ication failures (WiFi/Bluetooth)
Scalab­ility issues for large systems
Debugging difficulties
Enviro­nmental effects on sensors
Effect­iveness of Arduino

Comparison

Feature
Arduino
Raspberry Pi
ESP32 / ESP8266
Ease of Use
Very Easy
Moderate
Moderate
Cost
Low
High
Very Low
Processing
Low
High
Medium
Connec­tivity
External
Built-in
Built-in
Power Consum­ption
Low
High
Medium
Real-Time
Excellent
Poor
Good
Scalab­ility
Limited
High
Moderate
Memory Capacity
Limited
High
Moderate
Suitab­ility
Small- scale IoT, control systems
Data- intensive IoT applic­ations
Wireless IoT nodes

PART C

Arduino IoT Temp & Humidity System
System Components
Arduino Uno
DHT11/­DHT22 sensor
ESP8266 WiFi module
Power supply
Cloud platform (Thing­Spe­ak/AWS)
Block Flow
Sensor → Arduino → WiFi → Cloud → User
Program{{nl