Freenove Ultimate Starter Kit: every lesson, simulated
Every project in the tutorial, chapter by chapter, as a circuit that runs in your browser on the pins the sketch uses: from a push button and an LED to a keypad lock, a remote-controlled dimmer and four digits from one shift register.
Not affiliated with Freenove. Lesson titles are referenced so you can follow along.
Every lesson in the kit’s order
Lesson numbers and titles follow the online tutorial for FNK0017, the kit with the Uno-compatible control board. Each circuit uses the kit’s parts on the pins the lesson uses.
42 of the 42 lessons with a circuit run here, 7 of them with a change we name.
- 1.1
Control LED with Manual Button
Runs hereA push button, a 220 ohm resistor and an LED from the board’s 5 V: the button closes the loop, no code at all.
- 1.2
Control LED with Control Board
Runs hereAn LED on pin 13 blinks once a second, together with the board’s own LED on the same pin.
- 2.1
Two LEDs Blink
Runs hereLEDs on pins 4 and 5 take turns, written first in loop() and then as a function with parameters.
- 3.1
LED Bar Graph Display
Runs hereA ten-bar LED graph on pins 3 to 12, a resistor each: one bar runs up the graph and back, from an array of pins.
- 4.1
LEDs Emit Different Brightness
Runs hereFour LEDs on the PWM pins 5, 6, 9 and 10 at 2, 10, 50 and 100 percent duty cycle.
- 4.2
LED Blinking Smoothly
Runs hereThe LED on pin 5 fades up and down like breathing, with analogWrite in two for loops.
- 5.1
Control LED with Push Button Switch
Runs hereA push button on pin 12 with a 10k pull-up lights the LED on pin 9 while it is held.
The lesson puts a second 10k between the button and pin 12 to protect the pin; it changes nothing the sketch reads, so it is left out.
- 5.2
Change LED State with Push Button Switch
Runs hereEach press flips the LED on pin 9, with the contact’s bounce filtered out in the sketch.
The lesson puts a second 10k between the button and pin 12 to protect the pin; it changes nothing the sketch reads, so it is left out.
- 6.1
Send Data through Serial
Runs hereThe board prints to the serial monitor: the first step of every project that reports a reading.
- 6.2
Receive Data through Serial Port
Runs hereType into the serial monitor and the board repeats each character, while a counter keeps ticking.
- 6.3
Application of Serial
Runs hereType a number from 0 to 255 and the LED on pin 11 takes that brightness.
- 7.1
ADC
Runs hereA potentiometer on A0, its reading and its voltage printed to the serial monitor.
- 7.2
Control LED by Potentiometer
Runs hereThe potentiometer on A0 sets the brightness of the LED on pin 9.
- 7.3
Control LED through Photoresistor
Runs hereA photoresistor and a 10k on A0 set the brightness of the LED on pin 9.
- 8.1
Control RGB LED through Potentiometer
Runs hereThree potentiometers on A0, A1 and A2 mix red, green and blue on pins 11, 10 and 9.
- 8.2
Multicolored LED
Runs hereThe RGB LED on 11, 10 and 9 jumps to a random color twice a second.
- 9.1
Active Buzzer
Runs hereA button on pin 12 sounds an active buzzer switched by an NPN transistor from pin 9.
- 9.2
Passive Buzzer
Runs hereA passive buzzer behind the transistor on pin 9 wails like an alarm, its pitch following a sine wave.
- 10.1
Control Motor by Relay
Runs hereThe button on pin 12 flips a relay through a transistor on pin 9, and the relay runs a motor from two AA cells.
The indicator LED is lit through the relay’s second contact here.
- 10.2
Control Motor with L293D
Runs, with a changeA potentiometer on A0 drives a motor both ways on an L293D: inputs on 10 and 9, enable on 11.
The motor supply comes from the Uno’s 5 V here. The simulated L293D, like the chip’s datasheet, needs at least 4.5 V on VCC2, more than two AA cells give.
- 11.1
Servo Sweep
Runs hereA servo on pin 3 sweeps from 0 to 180 degrees and back with the Servo library.
- 11.2
Control Servo with Potentiometer
Runs hereA potentiometer on A0 points the servo on pin 3.
- 12.1
Detect the Temperature
Runs hereA thermistor and a 10k on A0; the beta equation turns the reading into kelvin and Celsius.
- 13.1
Joystick
Runs hereA joystick with X on A0, Y on A1 and its switch on pin 8, printed to the serial monitor.
- 14.1
Acceleration Detection
Runs, with a changeAn MPU6050 on the I2C pins reports its raw acceleration and rotation.
The sketch here reads the chip with Wire alone rather than the I2Cdev library, and does not blink pin 13.
- 15.1
74HC595
Runs, with a changeA 74HC595 with DS on 11, ST_CP on 12 and SH_CP on 13 walks a light along eight outputs.
Eight separate LEDs stand in for eight bars of the kit’s LED bar graph.
- 15.2
LED Matrix
Runs hereAn 8x8 LED matrix: a 74HC595 drives the rows and pins 2 to 9 the columns, scanned fast enough to draw a smiley and scroll digits.
- 16.1
Display the String on LCD1602
Runs hereAn I2C LCD1602 on A4 and A5 at address 0x27: write a line and a counter on it.
- 16.2
I2C LCD1602 Clock
Runs, with a changeA clock kept by a timer interrupt and the temperature from a thermistor on A0, on the I2C LCD. Set the time from the serial monitor.
The timer interrupt comes from MsTimer2 here; the lesson uses FlexiTimer2, which works the same way.
- 17.1
1-digit 7-segment Display
Runs hereA common-anode digit on a 74HC595 (DS 11, ST_CP 12, SH_CP 13) counts through 0 to F.
One 220 ohm on the common pin stands in for the lesson’s resistor on every segment.
- 17.2
4-digit 7-segment Display
Runs hereFour common-anode digits: a 74HC595 sets the segments and pins 7 to 4 pick the digit, multiplexed.
- 18.1
Drive Stepper Motor
Runs, with a changeA 28BYJ-48 on its ULN2003 board, driven from pins 8 to 11.
Here IN1 to IN4 are on pins 8 to 11; the lesson wires them to 11 to 8, which only changes which way the shaft turns first.
- 19.1
Get Input Characters
Runs hereA 4x4 keypad with rows on pins 11 to 8 and columns on 7 to 4, each key printed as you press it.
- 19.2
Combination Lock
Runs hereType 1234 and a servo on pin 12 opens the lock; a buzzer on pin 13 clicks for each key and sounds for a wrong code.
- 20.1
Detect Vibration
Runs hereA shake on pin 3 fires an interrupt, and the buzzer on pin 13 chirps.
- 21.1
Infrared Remote Control
Runs hereAn IR receiver on pin 12 prints each remote button’s code, like the table in the lesson.
- 21.2
Control LED through Infrared Remote
Runs hereRemote buttons 0 to 3 set the LED on pin 5 from off to full, and the buzzer on 13 clicks for each code.
- 22.1
Temperature & Humidity Sensor
Runs hereA DHT11 on pin 10 reports humidity and temperature once a second.
The sketch uses the common DHT library rather than the lesson’s dht library; the readings are the same.
- 23.1
Infrared Motion Sensor
Runs hereAn HC-SR501 on pin 12 lights the LED on pin 13 while it sees movement.
- 24.1
Ultrasonic Ranging
Runs hereAn HC-SR04 with TRIG on 12 and ECHO on 11 prints the distance in centimeters.
- 25.1
Solder a Buzzer
Runs, with a changeA push button sounds a buzzer and lights an LED from 5 V, no code.
Built on a breadboard here; the lesson solders it on a perfboard.
- 25.2
Solder a Flowing Water Light
Runs, with a changeA 74HC595 and eight LEDs show a falling drop of light, its tail faded by software PWM.
Built on a breadboard here; the lesson solders the 74HC595 and the LEDs on a perfboard.
Lesson list and pins read from Freenove’s online tutorial. The explanations on this page are our own.
Everything the Freenove Ultimate Starter Kit can build
177 projects use only the parts in this box, ordered from a first blink to the hardest.
Beginner (100)
- EEPROM: memory that survives a reset
- Serial echo: the board repeats what you type
- Active buzzer
- Active buzzer module on pin 3
- DHT11 temperature and humidity
- DHT11 module on pin 4
- DHT11 temperature and humidity on pin 10
- I2C LCD1602: find its address, then say hello
- Joystick on A0, A1 and pin 2
- Joystick module: A0, A1 and pin 3
- Joystick on A0, A1 and pin 8
- Keypad on pins 11 to 4
- Membrane keypad on pins 9 to 2
- Morse code on an active buzzer (pin 9)
- MPU-6050 readings over I2C
- Passive buzzer scale on pin 12
- Passive buzzer module on pin 3
- Passive buzzer on pin 8
- Motion sensor on pin 3 lights the LED on 13
- Motion sensor on pin 12 lights the LED on 13
- Pomodoro timer on an active buzzer (pin 9)
- Servo sweep
- Servo sweep on pin 10
- Servo sweep on pin 3
- Siren on a passive buzzer (pin 9)
- Ultrasonic distance on pins 12 and 11
- Ultrasonic sensor on 8 and 7, the LED on 13 when out of range
- Stepper motor on pins 8 to 11
- Twinkle, Twinkle, Little Star on a passive buzzer (pin 9)
- Read a knob
- Digital piano
- Fade an LED
- First blink
- IR decoder
- Blink an LED on pin 13, once a second
- Blink an LED on pin 3
- Blink an LED on pin 8
- Blink an LED on pin 9
- Breathing LED on pin 5
- Button on pin 12 lights the LED on pin 13
- Flowing lights on pins 2 to 9
- IR remote codes on pin 12
- IR receiver module on pin 11
- IR receiver on pin 2
- LED bar graph on pins 3 to 12
- LED module on pin 7, blinking
- An LED on the 5 V pin
- Mood dial
- Four brightnesses from PWM: pins 5, 6, 9 and 10
- RGB colors on pins 11, 10 and 9
- RGB LED on pins 3, 5 and 6
- RGB fade on pins 6, 5 and 3
- RGB LED module: red 11, blue 10, green 9
- Random colors on an RGB LED (pins 11, 10 and 9)
- Set the LED on pin 11 from the serial monitor
- A knob on A0 points the servo on pin 3
- Seven-segment digit on pins 4 to 11
- Thermometer: a thermistor on A0
- Traffic lights on pins 3, 4 and 5
- Two LEDs take turns on pins 4 and 5
- RGB color mixer
- Arduino Uno blink
- Button and LED
- Grabbing candy bowl
- Dreidel spinner
- Passive buzzer alarm on pin 9, through a transistor
- Push button on pin 12 lights the LED on pin 9
- A push button lights an LED, no code
- Push button on pin 12 toggles the LED on pin 9
- Dinosaur game player: light sensor on A0, servo on 9
- Doorbell: button on pin 2, buzzer on pin 8
- Remote control light switch (IR on 12, servo on 11)
- Joystick lights the way (LEDs on 8 to 11)
- Four-key keyboard
- Knob on A0 dims the LED on pin 9
- Photoresistor night light: A0 dims the LED on pin 9
- Light meter: photoresistor on A0, LEDs on pins 5 to 12
- PIR motion light
- Motion night light (PIR on 12, RGB on 5, 6 and 9)
- Three knobs mix an RGB LED (pins 11, 10 and 9)
- Starship control panel
- Traffic lights with a crossing button on pin 8
- Two buttons, one LED
- Warm or cool light: a knob blends an RGB LED
- Motion light
- Night light
- Ofrenda candles
- Piezo melody
- Dimmer
- Night light with a light sensor
- Eid greeting card
- Message display gift
- A button doorbell with a lamp, no code
- Transistor doorbell: button on 12, buzzer on 9
- Vibration alarm: a spring switch on pin 3, a buzzer on 13
- Metronome
- Police lights and siren
- Rescue beacon
- Relay on pin 8 through a transistor
- Red envelope box
Intermediate (67)
- Two Arduino Unos talking over serial
- DHT11 on A0, read with no library
- Pi digits on an LCD
- DC motor on an L293D (pins 5, 3 and 4)
- Radar sweep: ultrasonic on 10 and 11, servo on 12
- Smart trash can: ultrasonic on 8 and 7, servo lid on 9
- Stepper follows a knob (pins 2 to 5)
- Motor both ways
- Stepper turntable
- Weather station
- Arpeggiator
- LED bar chaser
- Electronic dice
- Joystick bar graph
- Kalman filter tilt angle with an MPU6050
- Hex digits on a common-anode display (74HC595, pins 11, 12, 13)
- Countdown digit
- Hex digits through a 74HC595 (pins 11, 8 and 12)
- One-digit countdown on a 74HC595 (pins 2, 4 and 3)
- One-digit countdown on a 74HC595 (pins 8, 10 and 9)
- Falling rain on eight LEDs (74HC595, pins 11, 12 and 13)
- Flowing light on a 74HC595 (pins 11, 8 and 12)
- Eight LEDs on a 74HC595 (pins 12, 9 and 11)
- Eight LEDs on a 74HC595 (pins 2, 5 and 4)
- A light runs along eight LEDs on a 74HC595 (pins 11, 12 and 13)
- Serial monitor drives eight LEDs (74HC595)
- Type a digit: serial to a 74HC595 display (pins 11, 8 and 12)
- Cyber dice: seven-segment on pins 2 to 8, button on 9
- Summer fan: four buttons and an L293D (pins 9 and 10)
- Four-digit display on a 74HC595 (pins 8, 10 and 9)
- Guess the number: IR remote and an I2C LCD
- I2C LCD clock and thermometer
- A knob drives a motor both ways through an L293D
- Relay switched by an L293D (pins 5, 3 and 4)
- Remote stepper
- Remote stepper, a whole turn a press
- Reversing radar: ultrasonic, buzzer and I2C LCD
- Temperature alarm: thermistor on A0, RGB on 10, 11 and 12
- Thermometer on an I2C LCD
- Level meter
- Morse code telegraph decoder
- Tilt meter
- Buffon's needle
- Remote-controlled lamps
- Photocell bar graph on a 74HC595
- Photoresistor bar graph on a 74HC595 (pins 9, 12 and 11)
- Digital dice on a 74HC595 (pins 11, 8 and 12)
- Three-speed fan on an L293D (pins 9 and 10)
- Remote-controlled colors: IR on pin 2, RGB on 11, 10 and 9
- Photocell light meter
- Quiz buzzer for three players
- Looper
- Motor on a transistor
- Servo turnouts with a panel
- Reaction duel
- Parking sensor
- Tap-tempo metronome
- ADSR synth
- Combination lock: keypad, servo bolt and buzzer
- Reaction timer
- Ringtone player
- Remote dimmer: IR on 12, LED on 5, buzzer on 13
- Relay switches a motor
- Spinning zoetrope
- Lion dance head
- Torque angle meter
- Relay switches a motor: button on 12, relay on 9
Advanced (10)
- Two Arduino Unos as an SPI master and slave
- CAN bus dash reader
- Stopwatch on a four-digit display
- Stopwatch: four-digit display, digits on 10 to 13
- Four-digit counter
- MPU6050 servo stabilizer
- Four digits from one 74HC595 (pins 11, 12, 13 and 7 to 4)
- 4x4x4 LED cube
- Countdown timer on a four-digit display
- Satellite tracker
Add a few parts, unlock more projects
The smallest shopping lists that open the most new projects for the Freenove Ultimate Starter Kit.
Add Addressable RGB LEDs
Unlocks 15 more projects:
Add ili9341 and Addressable RGB LEDs
Unlocks 28 more projects:
Add ili9341, Character LCD, 16x2 and Addressable RGB LEDs
Unlocks 39 more projects:
Projects that combine two kits
Own another kit as well? These need parts from both boxes, and neither can build them alone.
The kit’s parts, and what plays them here
The parts in the Freenove Ultimate Starter Kit, by the names its maker gives them. Each one is in the editor’s parts panel.
- Control board (Uno compatible) Arduino Uno R3
- Breadboard Full-size breadboard
- LEDs LED
- LED bar graph LED bar graph, 10 segments
- RGB LED RGB LED
- 220 ohm, 1k and 10k resistors Resistor
- Push buttons Pushbutton
- Rotary potentiometers Potentiometer
- Photoresistor Light sensor
- Thermistor Thermistor, 10k NTC
- NPN transistors Transistor (NPN or PNP)
- Diode Diode
- Active buzzer Buzzer
- Passive buzzer Piezo speaker
- Relay DPDT relay
- Motor DC motor
- L293D Motor driver, L293D
- AA battery holder Battery: AA, coin cell, LiPo
- Servo Hobby servo
- Joystick Thumb stick
- MPU6050 module Accelerometer and gyroscope, MPU6050
- 74HC595 74HC595 shift register
- I2C LCD1602 module Character LCD with I2C backpack
- 1-digit 7-segment display Seven segment display
- 4-digit 7-segment display Four-digit seven segment, multiplexed
- Stepper motor and driver board Stepper motor, 28BYJ-48 with ULN2003
- 4x4 keypad Keypad, 4x4
- Vibration switch Spring vibration switch, SW-18010P
- Infrared receiver Infrared receiver, VS1838B
- Infrared remote Infrared remote, 21 buttons
- DHT11 Temperature and humidity, DHT22 Set to DHT11 in these circuits.
- Infrared motion sensor (HC-SR501) Motion sensor
- Ultrasonic ranging module (HC-SR04) Ultrasonic ranger
- LED matrix Not simulated yet; the MAX7219 matrix module is.
- Perfboard, pin headers and soldering parts The soldering projects are built on a breadboard here.
- USB cable and jumper wires The editor connects the board for you, and wires are drawn between pins.
A link and a QR code for this page
Print either one beside a lesson, or tape it inside the box lid. Both open this page.
mokxi.com/k/freenove-ultimate
The code is black on white with a quiet border, so it prints and scans at any size from 2 cm up.
Download the QR code (SVG)Make kits? See what we offer kit makers.
Questions about this page
Is this made by Freenove?
No. Mokxi is independent and is not affiliated with Freenove. The page follows the kit’s lessons so you can use the two side by side; the circuits, sketches and explanations are Mokxi’s own.
Do I need the kit?
No. Every lesson that runs here runs in the browser, so you can try them before you buy a kit, or keep going while a part is missing or broken.
Is the code the same as in my manual?
The pins and the parts are the same, and the sketches use the same libraries where the kit does. The code itself is written for this page, with comments that explain each step, so it will not match the manual line for line.
What do "with a change" and "coming soon" mean?
A lesson marked "with a change" runs, but something differs from the kit, and the note under it says exactly what. "Coming soon" means we cannot simulate that lesson yet, and the note says why. We do not mark a lesson as running unless it does.
Is it free?
Yes. Every lesson on this page opens with no account. A free account saves your own copies of the circuits.
Other kits
Companion pages for more starter kits.
Start at lesson one
Every project opens in the editor with no account and nothing to install. Run it, change a number, run it again.