The Academy

Welcome to the core curriculum. Master the fundamentals of electronics.

Module 3: Sensing the World

121

Seeing the Light - Introduction to Photoresistors (LDRs)

Welcome to Module 3! Start sensing the environment by using a photoresistor to detect light levels.

122

Feeling the Heat - Measuring Temperature with the TMP36

Discover how to read ambient temperature using an analog temperature sensor and convert the data into Celsius and Fahrenheit.

123

Sensing Motion - Working with PIR Sensors

Learn how to detect human motion using a Passive Infrared (PIR) sensor and trigger actions with your Arduino.

124

Making Some Noise - Creating Sounds with Piezo Buzzers

Give your Arduino projects a voice by generating tones and melodies using a piezo buzzer.

125

Reading Distance - Using Ultrasonic Sensors (HC-SR04)

Give your Arduino the ability to measure distance using the HC-SR04 ultrasonic sensor, teaching it to 'see' like a bat.

126

Moving Things - Introduction to Servo Motors

Learn how to control precise physical movement in your Arduino projects using a micro servo motor.

127

Displaying Data - Introduction to I2C LCD Displays (16x2)

Learn how to use an I2C 16x2 LCD display to show text and data from your Arduino without needing a computer screen.

128

Sensing the Environment - Temperature & Humidity with DHT11

Give your Arduino the ability to measure ambient temperature and humidity using the popular and affordable DHT11 sensor.

129

Spinning Up - Controlling DC Motors with the L298N Driver

Learn how to safely control the speed and direction of DC motors using your Arduino and the L298N motor driver module.

130

Power Up - Switching High Current with Relay Modules

Take control of higher voltage and current devices safely using a 5V relay module and your Arduino.

Module 4: Moving the World & Special Sensors

131

Precision Control - Introduction to Stepper Motors

Learn how to achieve exact rotational positioning using a 28BYJ-48 stepper motor and the ULN2003 driver.

132

Multiplying Outputs - Using the 74HC595 Shift Register

Expand your Arduino's capabilities by controlling 8 LEDs (or more!) using only 3 digital pins with a shift register.

133

Listening to Plants - Using Soil Moisture Sensors

Learn how to measure the water content of soil using a moisture sensor to keep your houseplants happy and healthy.

134

Building a Clap-Switch - Using Sound Sensors & Microphones

Give your Arduino ears! Learn how to use a microphone module to detect sound spikes like claps or loud noises.

135

Taking Control - Using an Analog Joystick Module

Learn how to use a standard dual-axis analog joystick module (like the ones on game controllers) to steer servos and control your Arduino projects.

136

Access Granted - Reading Smart Cards with RFID

Learn how to use an RC522 RFID module to read smart cards and key fobs, paving the way for custom security and access control systems.

137

Keeping Time - Using a DS3231 Real-Time Clock (RTC)

Learn how to give your Arduino a reliable sense of time using the DS3231 Real-Time Clock module, ensuring it remembers the time even when powered off.

138

Secret Codes - Entering Passcodes with a 4x4 Keypad

Learn how to wire and program a 4x4 matrix membrane keypad to let users type numbers, enter passcodes, and trigger events.

139

Crisp Graphics - Using an OLED Display (SSD1306)

Upgrade your Arduino projects from simple text screens to high-contrast, crisp graphics using the popular SSD1306 I2C OLED display.

140

Painting with Light - Using WS2812B Addressable LEDs (NeoPixels)

Discover how to control hundreds of RGB LEDs individually using just a single data pin with WS2812B addressable LED strips.

Module 5: Displays & Communication

141

Remote Control - Using an IR Receiver and Remote

Learn how to control your Arduino projects from across the room using a standard infrared remote and an IR receiver module.

142

Going Wireless - Introduction to Bluetooth (HC-05)

Cut the cord! Learn how to communicate with your Arduino directly from your smartphone using an HC-05 Bluetooth module.

143

Arduino to Arduino - Wireless Communication with NRF24L01

Learn how to make two Arduinos talk to each other wirelessly using the incredibly popular and inexpensive NRF24L01+ transceiver module.

144

Digital Smart Level with MPU-6050 and OLED

Learn how to read raw accelerometer and gyroscope data to build a functional digital level with an OLED display and a buzzer.

145

Finding Yourself - Location Tracking with NEO-6M GPS

Learn how to read latitude, longitude, altitude, and atomic time from satellites using the NEO-6M GPS module and TinyGPS++.

146

Saving Memories - Data Logging with a Micro SD Card Module

Learn how to save sensor data and text permanently to a Micro SD card using the SPI interface, perfect for offline data logging.

147

Infinite Turns - Mastering the Rotary Encoder

Learn how to use a KY-040 rotary encoder for endless rotational input and precise menu navigation in your Arduino projects.

148

Liquid Logic - Using a Water Level Sensor

Learn how to measure the depth of liquid in a container using an analog water level sensor to prevent overflows and build smart reservoirs.

149

Atmospheric Awareness - Using the BME280 Environmental Sensor

Take your weather station to the next level by measuring temperature, humidity, and barometric pressure with the highly precise BME280 sensor.

150

Air Quality Alerts - Detecting Smoke and Gas with the MQ-2

Build your own smart smoke and combustible gas alarm using the MQ-2 gas sensor module.

Module 6: Advanced IoT & Smart Devices

Module 7: The Analog World

161

The RC Circuit

Discover how combining resistors and capacitors creates the foundation of analog timing and signal smoothing.

162

Voltage Dividers & References

Master the most important math in electronics to step down voltages and read analog sensors accurately.

163

The Legendary 555 Timer

Meet the most popular microchip in history. Learn how to blink LEDs and generate square waves without a single line of code using Astable mode.

164

The 555 Timer Part 2

Explore Monostable mode on the 555 timer to create perfect one-shot pulses and cleanly debounce messy mechanical switches.

165

Introduction to Op-Amps

Discover how Operational Amplifiers can act as comparators, bringing decision-making logic directly into your hardware.

166

Amplifying the World

Learn how to use Op-Amps in linear mode to boost tiny, weak signals from sensors and microphones so your microcontroller can read them.

167

Analog Filters

Clean up noisy sensor data and shape audio signals by building active and passive low-pass and high-pass filters.

168

Logic Gates from Scratch

Demystify digital logic by building your own AND, OR, and NOT gates using nothing but pure discrete transistors.

169

Power Regulation

Keep your circuits safe by understanding the difference between simple linear regulators (LM7805) and highly efficient switching buck/boost converters.

170

Capstone Project: The Atari Punk Console

Combine everything from Module 7 to build the legendary Atari Punk Console, a purely analog synthesizer that makes awesome retro 8-bit sounds.

Module 10: Advanced Architecture & Coding

178

The Power of State Machines in Arduino

Break free from the delay() function. Learn how to use Finite State Machines (FSMs) to make your Arduino multitask like a pro.

179

Object-Oriented Arduino (Writing Your Own Libraries)

Level up your Arduino code by learning the basics of Object-Oriented Programming (OOP). We'll build a custom library to make multitasking a breeze.

180

Memory Management & PROGMEM (Saving RAM)

Running out of memory on your Arduino? Learn how to use PROGMEM and the F() macro to save precious SRAM and keep your complex projects from crashing.

181

External Data Storage with the AT24C256 I2C EEPROM

Expand your Arduino's memory for persistent data storage using the AT24C256 I2C EEPROM module. Learn how to read, write, and save settings between power cycles.

182

High-Speed Storage with SPI Flash Memory (W25Q128)

Take your Arduino data storage to the next level using the W25Q128 SPI Flash Memory Module. Perfect for storing large audio files, massive logs, and high-resolution images.

183

Bridging the Voltage Gap with Logic Level Converters

Don't fry your 3.3V sensors with a 5V Arduino! Learn how to safely connect microcontrollers and peripherals with different voltage logic using bi-directional level shifters.

184

Scrolling Text with the MAX7219 8x8 LED Matrix

Learn how to wire and program a MAX7219 8x8 LED dot matrix module to display scrolling text and animations using an Arduino.

185

Li-Ion & LiPo Charging with the TP4056

Learn how to safely power your Arduino and ESP32 projects with rechargeable Lithium-Ion and LiPo batteries using the incredibly popular TP4056 charging module.

186

Solar Power & Energy Harvesting for Microcontrollers

Stop replacing batteries! Learn how to power your Arduino and ESP32 projects infinitely using solar panels and the CN3065 Mini Solar Lipo Charger Board.

187

Capstone Project - Infinite Solar-Powered Weather Node

Combine everything you've learned about ESP32s, deep sleep, and solar charging to build a weather node that runs forever on free energy.