
This course introduces the Arduino ecosystem from scratch: from the board and the ATmega microcontroller, through the basics of current, voltage and Ohm's law, to assembling circuits on a breadboard. Learners get to know the Arduino IDE, the structure of a sketch (setup/loop), variable types, and control of digital and analog pins (GPIO, PWM, ADC). The course covers working with common sensors (temperature, light, distance, motion) and actuators (LEDs, servos, DC motors, displays), as well as communication over the serial port and the I2C and SPI buses. Arduino remains the lowest barrier to entry into electronics and hobby robotics, which makes it a natural foundation before learning more complex platforms. Prerequisites are minimal: basic computer skills and logical thinking; no prior knowledge of programming or electronics is assumed. The course explicitly does not cover custom PCB design, bare-metal AVR register programming, real-time operating systems (RTOS), or related platforms such as ESP32 or Raspberry Pi Pico beyond a brief comparison. It is also not an academic electronics-theory course โ the emphasis is on practice and working projects. A graduate can independently design, assemble and program a simple circuit that reacts to its environment, and debug typical hardware and software problems.
Chapters
MODULE 01Introduction: Arduino and Your First Program
First steps with Arduino: what the platform and microcontroller are, the anatomy of the board (pins, power, USB), installing the Arduino IDE, the compile-and-upload cycle, and the first Blink program with the setup()/loop() structure.
Introduction: Arduino and Your First Program
MODULE 02Fundamentals of Electricity and Circuits
Voltage, current, resistance and Ohm's law; circuit structure, ground (GND) and polarity; working on a breadboard, sizing a resistor for an LED, and safely reading a simple schematic.
Fundamentals of Electricity and Circuits
MODULE 03Sketch Programming Fundamentals
The fundamentals of writing Arduino sketches in C++: the setup()/loop() structure, variables and data types, defining and calling functions, debugging with the Serial Monitor, and syntax, comments, and common compilation errors.
Sketch Programming Fundamentals
MODULE 04Digital Inputs and Outputs
Controlling Arduino digital pins: driving LEDs with pinMode/digitalWrite, reading a button with digitalRead and pull-up/pull-down resistors, debouncing, if/else conditionals, and a mini-project building a traffic light and a binary counter.
Digital Inputs and Outputs
MODULE 05Analog Signals: ADC and PWM
Reading voltage with analogRead() and the ADC, scaling values with map() and constrain(), generating a PWM signal with analogWrite(), the photoresistor as the first analog sensor, and a night-light mini-project (analog input to PWM output).
Analog Signals: ADC and PWM
MODULE 08Sensors, I2C/SPI buses and the final project
Practical digital sensors (HC-SR04, PIR), I2C/OLED displays, an introduction to SPI and ESP32/IoT, and finally a complete capstone project: from idea through build and debugging to documentation and extension.
Sensors, I2C/SPI buses and the final project
- 8.1Digital sensors: ultrasonic rangefinder and motion sensor
- 8.2LCD/OLED display over the I2C bus
- 8.3A brief look at SPI and what next: ESP32/WiFi/IoT as a preview
- 8.4Planning the final project: idea, parts list, schematic
- 8.5Build, integration and debugging over Serial
- 8.6Testing, documentation and ideas for extension