Arduino & IoT Academy icon

Arduino & IoT Academy

CPPNetworkDesktopEnterprise

Build smart devices with Arduino and C++. From digital and analog I/O and sensors to networking and real-world IoT projects.

🤖 AI-Powered📚 30 courses👥 100,000+ learners⭐ 4.9 rating
Course Overview

Arduino & IoT: Build Smart Devices

Build smart devices with Arduino and C++. From digital and analog I/O and sensors to networking and real-world IoT projects. This track covers 30 progressive mini-courses from absolute beginner (A1) through advanced (B2), with short focused lessons and quick quizzes to lock in each concept.

What You Will Learn

You start with the fundamentals and build up through intermediate and advanced topics, each course building on the last. Every lesson is practical and bite-sized, with a 24/7 AI tutor available when you need help.

How It Works

Each course is broken into four focused, bite-sized lessons. Complete a few lessons a day and you will master the full track in weeks, not months.

Start Learning →

How You'll Learn

🎯
Interactive Lessons
Hands-on coding exercises with real-time feedback
🤖
AI Tutor
Get instant help from our AI when you're stuck
💻
Built-in Editor
Write and run code directly in your browser
🏆
Certificate
Earn a certificate when you complete the course
Curriculum

30 Courses

Every course in the Arduino & IoT Academy learning path.

01

What Arduino & IoT Really Are

A14 lessons

Understand what a microcontroller does and how Arduino turns code into real-world action.

  • From Computer to Microcontroller
  • What 'Internet of Things' Means
  • Inputs, Outputs & the Real World
  • +1 more
02

Meet Your Board & Install the IDE

A14 lessons

Identify board parts and set up the Arduino IDE to upload your first sketch.

  • Tour of the Arduino Uno
  • Installing the Arduino IDE
  • Pick Board & Port, Then Upload
  • +1 more
03

Inside an Arduino Sketch

A14 lessonsPRO

Read and write the setup/loop structure that every Arduino program uses.

  • setup() Runs Once
  • loop() Runs Forever
  • Comments & Clean Sketches
  • +1 more
04

Blink: Master Digital Output

A14 lessonsPRO

Control LEDs precisely using digital pins and HIGH/LOW signals.

  • pinMode and OUTPUT
  • digitalWrite HIGH & LOW
  • delay() and Blink Timing
  • +1 more
05

Read Buttons with digitalRead

A14 lessonsPRO

Detect button presses and make your device react to input.

  • INPUT vs INPUT_PULLUP
  • Reading a Button State
  • if/else: LED Follows the Button
  • +1 more
06

Sense the Analog World

A24 lessonsPRO

Read varying voltages from a potentiometer with analogRead.

  • Digital vs Analog Signals
  • analogRead Returns 0–1023
  • Read a Potentiometer Knob
  • +1 more
07

Fade & Dim with PWM

A24 lessonsPRO

Produce smooth brightness and analog-like output using analogWrite.

  • What PWM Actually Does
  • analogWrite 0–255
  • Fade an LED Up and Down
  • +1 more
08

Talk to Your Board: Serial Monitor

A24 lessonsPRO

Print data and read input over USB to debug and interact.

  • Serial.begin and Baud Rate
  • Serial.print vs println
  • Watch Sensor Values Live
  • +1 more
09

Breadboards & Building Circuits

A24 lessonsPRO

Prototype reliable circuits and avoid the wiring mistakes beginners make.

  • How a Breadboard Connects
  • Resistors & Ohm's Law in Practice
  • Power, Ground & Common Mistakes
  • +1 more
10

Variables & Non-Blocking Timing

A24 lessonsPRO

Store state and time events with millis() instead of freezing on delay.

  • int, float, bool on Arduino
  • Why delay() Blocks Everything
  • Blink Without delay Using millis
  • +1 more
11

Measure Temperature & Humidity (DHT)

B14 lessonsPRO

Read a DHT sensor and report climate data over Serial.

  • Wire the DHT11/DHT22
  • Install the DHT Library
  • Read Temperature & Humidity
  • +1 more
12

Measure Distance with Ultrasonic

B14 lessonsPRO

Use an HC-SR04 to detect objects and measure range in centimeters.

  • How Ultrasonic Ranging Works
  • Trigger & Echo Wiring
  • pulseIn to Time the Echo
  • +1 more
13

Detect Motion & Light (PIR & LDR)

B14 lessonsPRO

Sense presence with a PIR and ambient light with an LDR.

  • Read a PIR Motion Sensor
  • Measure Light with an LDR
  • Set a Light Threshold
  • +1 more
14

Move Things: Servo Motors

B14 lessonsPRO

Control a servo's angle to create motion in your projects.

  • How a Servo Knows Its Angle
  • The Servo Library & attach
  • Sweep from 0 to 180
  • +1 more
15

Drive Motors & Switch Loads (Relay)

B14 lessonsPRO

Spin a DC motor and switch high-power devices safely with a relay.

  • Why You Need a Driver
  • Speed & Direction with an H-Bridge
  • Switch Mains Devices with a Relay
  • +1 more
16

Show Data on an LCD Display

B14 lessonsPRO

Print sensor readings and messages on a 16x2 character LCD.

  • Wire a 16x2 LCD (I2C Backpack)
  • LiquidCrystal_I2C Library
  • Position the Cursor & Print
  • +1 more
17

Crisp Graphics on an OLED

B14 lessonsPRO

Render text and shapes on a small I2C OLED screen.

  • Wire & Init an SSD1306 OLED
  • Draw Text in Multiple Sizes
  • Lines, Rectangles & Circles
  • +1 more
18

Connect Modules with I2C & SPI

B14 lessonsPRO

Wire and address multiple peripherals using the two key bus protocols.

  • How I2C Talks on Two Wires
  • Scan for I2C Addresses
  • How SPI Moves Data Fast
  • +1 more
19

React Instantly with Interrupts

B14 lessonsPRO

Capture fast events using hardware interrupts instead of polling.

  • Polling vs Interrupts
  • attachInterrupt on a Pin
  • Writing a Safe ISR
  • +1 more
20

Clean Inputs: Debouncing & EEPROM

B14 lessonsPRO

Stop noisy button bounce and save settings that survive power loss.

  • Why Buttons 'Bounce'
  • Debounce with millis()
  • Store a Value in EEPROM
  • +1 more
21

Go Wireless: WiFi with ESP32/ESP8266

B24 lessonsPRO

Move to a WiFi-capable board and connect it to your network.

  • Why ESP32 & ESP8266 for IoT
  • Add ESP Boards to the IDE
  • Connect to WiFi in Station Mode
  • +1 more
22

Talk to the Web: HTTP & REST

B24 lessonsPRO

Send sensor data to a server and fetch data from REST APIs.

  • GET Data from an API
  • POST Sensor Readings
  • Parse JSON Responses
  • +1 more
23

Lightweight Messaging with MQTT

B24 lessonsPRO

Publish and subscribe to topics for real-time IoT communication.

  • Why MQTT Fits IoT
  • Connect to a Broker
  • Publish Sensor Topics
  • +1 more
24

Connect to IoT Cloud Platforms

B24 lessonsPRO

Stream device data to a cloud dashboard and control it remotely.

  • Choose a Cloud Platform
  • Authenticate Your Device
  • Push Live Data to a Dashboard
  • +1 more
25

Short-Range Control with Bluetooth & BLE

B24 lessonsPRO

Pair your device with a phone and exchange data over BLE.

  • Classic Bluetooth vs BLE
  • Advertise a BLE Service
  • Read & Write Characteristics
  • +1 more
26

Update Firmware Over the Air (OTA)

B24 lessonsPRO

Flash new code to deployed devices wirelessly, no USB cable needed.

  • Why OTA Matters in the Field
  • Enable ArduinoOTA
  • Host a Web Update Page
  • +1 more
27

Run for Months: Deep Sleep & Low Power

B24 lessonsPRO

Slash power draw so a battery-powered sensor lasts far longer.

  • Where the Power Goes
  • Enter ESP Deep Sleep
  • Wake on Timer or Pin
  • +1 more
28

Log Data & Keep Time

B24 lessonsPRO

Record timestamped readings to an SD card or the cloud.

  • Get Real Time with NTP/RTC
  • Write CSV to an SD Card
  • Buffer & Batch Uploads
  • +1 more
29

Secure Your IoT Device

B24 lessonsPRO

Apply core security practices so your device isn't an easy target.

  • Common IoT Attack Surfaces
  • Keep Secrets Out of Code
  • Encrypt with TLS & Verify Certs
  • +1 more
30

Capstone: Ship a Complete Smart-Home Sensor

B24 lessonsPRO

Combine everything into one connected, cloud-reporting, updatable device.

  • Plan the End-to-End Architecture
  • Wire & Code the Sensor Node
  • Build the Cloud Dashboard & Alerts
  • +1 more
FAQ

Frequently Asked Questions

Is the Arduino & IoT Academy course free?

Yes. You can start the Arduino & IoT Academy course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.

Do I need prior experience to learn CPP?

No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior CPP experience.

How will I learn CPP on CoddyKit?

You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.

Do I get a certificate for completing Arduino & IoT Academy?

Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the Arduino & IoT Academy course.

Can I learn CPP on my phone?

Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn CPP on any device and your progress syncs across them.

Start Arduino & IoT Academy Now

Join thousands of learners mastering programming with AI-powered lessons.

Get Started Free →Browse All Courses