From basic circuits to embedded C++ architecture and robotics.
⭐ If you find these projects helpful, please consider leaving a star! It helps the repository grow.
An end-to-end Arduino curriculum that grows from first circuits to autonomous robotics, control systems, embedded architecture, and ROS-style integration.
This repository is designed as a practical masterclass: every day has a focused project, working Arduino code, wiring guidance, and a concept trail that explains why the build works. The path starts with safe beginner fundamentals, then moves deliberately into non-blocking programming, sensors, motors, displays, wireless communication, control loops, signal processing, low-power design, and robotics.
- Start Here
- What Makes This Guide Different
- Interactive Tools & CLI
- Hardware You Will Use
- The Journey Log
- Contributing
- Safety Note
- New to electronics or C++? Start with the Learn Arduino guide.
- Want the deeper engineering model? Read the Arduino Core Theory Masterclass.
- Building a parts kit? Use the Hardware Kit Guide.
- Ready to build? Begin with Day 1: The Non-Blocking Blink.
- A real learning path: the projects are ordered to compound skills instead of feeling like disconnected examples.
- Non-blocking mindset from day one: the curriculum moves beyond
delay()early and teachesmillis(), state machines, timers, and interrupts. - Hardware plus software: each day connects circuit behavior, embedded C/C++, and debugging habits.
- Beginner to advanced coverage: the path moves from LEDs and buttons to PID control, sensor fusion, odometry, pure pursuit, and ROS serial bridging.
- Wokwi Integration: Test projects live in your browser using our beautiful Next.js docs website with embedded Wokwi simulators!
We've built custom tooling to make your journey through the 100 days as seamless as possible:
Manage your learning journey with our global NPM tool! Just run npm install and npm link in this directory, and use:
npx 100-days-arduinoThis CLI allows you to:
- 🏗️ Scaffold new projects perfectly formatted for the curriculum.
- 📚 Generate the E-Book aggregating all 100 days into one giant Markdown file.
- 🛠️ Compile all Arduino files to verify code integrity across the repository.
Explore the curriculum in our Premium Next.js Web App featuring:
- A powerful Cmd+K Command Palette
- Live interactive Wokwi Arduino simulation embeds
- A Gamified Progress Dashboard with unlockable achievements
- Smooth Framer Motion UI animations
You can complete the early projects with an Arduino Uno or Nano, breadboard, jumper wires, LEDs, resistors, buttons, a potentiometer, a buzzer, and a few common sensors. Later projects introduce displays, motor drivers, wireless modules, IMUs, storage, encoders, and robotics hardware.
Useful parts across the full curriculum:
- Arduino Uno, Nano, Mega, Leonardo/Micro, or compatible boards
- Breadboard, jumper wires, resistors, LEDs, RGB LED, buttons, buzzer
- Potentiometer, LDR, PIR, flame sensor, soil moisture sensor, water level sensor
- HC-SR04 ultrasonic sensor, DHT11/DHT22, DS18B20, MPU6050, GPS, compass
- 16x2 LCD, OLED SSD1306, 7-segment displays, MAX7219 matrix
- Servo motors, DC motors, steppers, L298N, ULN2003, A4988
- RFID, IR remote, Bluetooth, nRF24L01, RS485, CAN, SD card module
- Day 1: The Non-Blocking Blink using
millis() - Day 2: SOS Morse Code Generator
- Day 3: Pushbutton State Toggle and Debouncing
- Day 4: Potentiometer to LED Fade
- Day 5: RGB LED Color Mixer
- Day 6: LDR Automatic Night Light
- Day 7: Ultrasonic Distance Measurer
- Day 8: PIR Motion Sensor Alarm
- Day 9: DHT11 Temperature and Humidity Logger
- Day 10: Active Buzzer Melody Player
- Day 11: Servo Motor Sweep
- Day 12: Potentiometer-Controlled Servo
- Day 13: Joystick Module Value Mapper
- Day 14: 4x4 Keypad Interfacing
- Day 15: Password Door Lock Logic
- Day 16: Relay Module Control
- Day 17: Sound Sensor Clap Switch
- Day 18: Water Level Detection
- Day 19: Soil Moisture Monitor
- Day 20: Flame Sensor Fire Alarm
- Day 21: 16x2 LCD Hello World
- Day 22: LCD Stopwatch
- Day 23: LCD Marquee
- Day 24: 7-Segment Counter
- Day 25: 4-Digit 7-Segment Clock
- Day 26: OLED Graphics
- Day 27: OLED Animation
- Day 28: IR Remote Decoder
- Day 29: DS3231 RTC Clock
- Day 30: EEPROM Logger
- Day 31: RFID Reader
- Day 32: Rotary Encoder
- Day 33: DC Motor with L298N
- Day 34: Stepper Motor with ULN2003
- Day 35: A4988 Stepper Driver
- Day 36: DC Motor Encoder Feedback
- Day 37: PID Speed Control
- Day 38: Ultrasonic Radar
- Day 39: HC-05 Bluetooth Control
- Day 40: nRF24L01 Wireless
- Day 41: MPU6050 IMU
- Day 42: Complementary Filter
- Day 43: Obstacle-Avoidance Robot
- Day 44: 2-Sensor Line Follower
- Day 45: Calibrated IR Line Array
- Day 46: PD Line Follower
- Day 47: Self-Balancing Robot Controller
- Day 48: Maze Solver
- Day 49: GPS Decoder
- Day 50: Compass Heading Lock
- Day 51: Modbus RS485
- Day 52: CAN Bus
- Day 53: SPI Flash Logger
- Day 54: WS2812B Bit-Bang Driver
- Day 55: Parallel LCD
- Day 56: Spatial Positioner
- Day 57: FFT Spectrum Analyzer
- Day 58: Timer1 PWM
- Day 59: Voltage Monitor
- Day 60: OLED Oscilloscope
- Day 61: Inverse Kinematics
- Day 62: Task Scheduler
- Day 63: DS18B20 1-Wire
- Day 64: Capacitive Touch
- Day 65: EEPROM Motion Recorder
- Day 66: MAX7219 LED Matrix
- Day 67: Hall RPM Tachometer
- Day 68: Stepper Microstepping
- Day 69: DHT22 Custom Protocol
- Day 70: RFID Logging
- Day 71: SD Card Writing
- Day 72: CSV Datalogger
- Day 73: MPU6050 Raw Registers
- Day 74: MPU6050 Gyro Angles
- Day 75: MPU6050 Pitch and Roll
- Day 76: Fall Detection
- Day 77: Self-Balancing Logic
- Day 78: GPS Parser
- Day 79: GPS Distance
- Day 80: I2C Network
- Day 81: FreeRTOS Blink
- Day 82: FreeRTOS Sensor Tasking
- Day 83: Watchdog Timer
- Day 84: Deep Sleep
- Day 85: EEPROM Read/Write
- Day 86: Calibration EEPROM
- Day 87: Custom Arduino Library
- Day 88: Hardware Interrupts
- Day 89: Timer Interrupts
- Day 90: HID Leonardo
- Day 91: HID Volume Knob
- Day 92: HID Macro Pad
- Day 93: Sim Racing Pedals
- Day 94: Serial Parser
- Day 95: Robotic Arm IK
- Day 96: Differential Drive Odometry
- Day 97: Stepper S-Curve
- Day 98: Kalman Filter
- Day 99: Pure Pursuit Path Tracking
- Day 100: ROS Serial Bridge
Pull requests are welcome for clearer explanations, safer wiring notes, bug fixes, schematics, diagrams, and board-specific improvements. Keep changes focused and include the affected day or guide section in the commit message.
See CONTRIBUTING.md for project structure, code style, documentation style, and verification expectations.
Double-check wiring before powering a circuit. Use resistors with LEDs, avoid shorting power rails, keep motor power separate from logic power when needed, and never work on high-voltage AC projects without proper training and isolation.
If this guide helps you, share what you build!
⭐ Did you enjoy this journey? Please consider leaving a star! It helps others find these projects and grow the community.