Forty-five lessons, in order, from an unopened Arduino IDE to an integrated project. Each one is tied to a specific TinkerBlock module, so there is nothing to buy between chapters and nothing to substitute.
The structure repeats deliberately: wire it up, understand what the program is doing, type the code yourself, then a change to make and a table of what goes wrong. One or two new pieces of syntax per lesson, and always the ones the module in front of you needs.
Lessons 1 to 20 cover the language and the digital and analog basics. Lessons 21 to 37 add displays, buses and memory. The last eight are projects that combine what came before.
Chapters
- 1. Arduino IDE Installation & Environment Setup
Complete download, installation, and basic setup of Arduino IDE on Windows for programming with the TinkerBlock kit.
- 2. First Program: Blink
Write your first program to make TK01 blink; understand setup/loop and digital output.
- 3. Digital Input: Button
Use the button as digital input; learn to combine digitalRead() with digitalWrite().
- 4. Traffic Light
Control three LEDs in sequence; learn multi-pin digital output and #define.
- 5. Serial Monitor Debugging
Learn to use the serial monitor and Serial to print.
- 6. RGB LED
Control three RGB LED channels; learn multi-channel digital output and #define.
- 7. Latching Button
Learn the latching button and state hold.
- 8. Collision Sensor
Learn the collision sensor.
- 9. Touch Sensor
Learn the touch sensor.
- 10. Tilt Sensor
Learn the tilt sensor.
- 11. Potentiometers
Learn analog input and variables; use analogRead() to read the potentiometer and achieve outcome: when you turn the knob the serial monitor shows 0–1023, and the LED on D9 changes brightness (optional).
- 12. NTC Thermistor
Learn to read NTC with analog input and do simple conversion; outcome: serial continuously shows raw value (0–1023) and converted voltage (0–5V); values change when you warm the module.
- 13. Ambient Light Sensor
Learn to read light with analog input; outcome: serial shows light value (0–1023)—cover light and value drops, shine light and value rises.
- 14. Knock Sensor
Learn the knock sensor; outcome: tap the module and the LED turns on; stop and it turns off.
- 15. Multiple Sensors with Serial
Review: combine potentiometer and button; outcome: serial shows potentiometer value and button state (pressed/released) at the same time, and the button still controls the LED.
- 16. PWM Fading LED
Learn PWM and analogWrite(); use a for loop for outcome: LED fades from dim to bright and back to dim—a breathing light.
- 17. Passive Buzzer
Learn tone() and noTone(); outcome: buzzer plays Do, Re, Mi in sequence then stops; can be extended to simple melodies.
- 18. Active Buzzer
Learn to control the active buzzer with digitalWrite() and const; outcome: buzzer on 0.5 s, off 0.5 s, repeat.
- 19. Vibration Motor
Learn to control the motor with digitalWrite() or analogWrite(); outcome: motor vibrates 0.5 s, stops 0.5 s, repeat; optional PWM for strength.
- 20. RGB Color Mixing
Learn to control RGB with analogWrite() on three channels; outcome: cycle through red, green, blue, white, yellow, purple, cyan, about 1 s each.
- 21. TM1637 4-Digit Display
Learn library install and use; control the 4-digit display with TM1637Display library; outcome: display counts up from 0 to 9999, changing every 0.5 s, then repeats.
- 22. Matrix LED
Learn to control the 8×8 matrix with LedControl library and arrays; outcome: matrix shows a heart pattern for about 1 s, then clears, repeat.
- 23. Custom Functions
Learn custom functions; outcome: wrap “on 200 ms, off 200 ms” in myBlink(), call it from loop, LED blinks at a fixed rhythm.
- 24. 1.8 Inch TFT Display
Learn to drive the TFT with Arduino_GFX library; outcome: screen first shows "Hello!", then cycles "TFT Screen" and full-screen red, green, blue.
- 25. WS2812 RGB LED Bar
Learn to control the WS2812 bar with FastLED library; outcome: one red LED moves along the bar in sequence—a running light.
- 26. IR Communication
Learn infrared communication (one board receives, one sends); outcome: sender sends IR codes on a timer, receiver prints received codes on serial; you can also point a normal remote at the receiver and see the key codes.
- 27. NTC Thermistor Temperature Sensor
Learn to use analog input and the Beta equation to convert NTC thermistor voltage to temperature.
- 28. EEPROM Memory
First use of I2C: read/write EEPROM with Wire library; outcome: write a value (e.g. 123) to EEPROM, power off and on, read from the same address—data is still there, proving it survives power loss.
- 29. ADC Concept
Learn ADC (Analog-to-Digital Conversion); outcome: serial prints A0 analog value (0–1023) and D2 digital value (0 or 1) together so you see continuous vs discrete, multi-level vs two-level.
- 30. Rotary Encoder
Use the rotary encoder for rotation direction and button; outcome: turn encoder to adjust LED brightness (CW brighter, CCW dimmer), press encoder button to toggle LED (off/on), and when turning on again the previous brightness is restored.
- 31. I2C Temperature LM75
Use Wire library for I2C to read LM75 temperature; outcome: serial continuously shows temperature (°C); warming the sensor makes the value rise.
- 32. I2C Matrix Keypad
Use Wire library to scan the matrix keypad over I2C; outcome: when you press a key, serial prints the character (0–9, A–D, , #).
- 33. Steam Sensor
Use analog input to read the steam sensor; outcome: serial shows steam value (0–1023); breathing on the sensor or spraying water vapor raises the value.
- 34. Joystick
Use analog input to read joystick direction; outcome: serial shows “Up / Left / Down / Right / Press / Center”; when you push a direction the LED is on, when you press or center the LED is off.
- 35. Voltmeter
Use analog input to measure voltage and convert to real value; outcome: serial shows voltage (V); with the module’s divider you can display about 0–25V.
- 36. Piezo Sensor
Use analog input to read the piezo sensor; outcome: serial shows pressure/vibration value (0–1023); tapping or pressing increases the value.
- 37. Extreme Bright Dual LEDs
Use PWM to control warm white (3000K) and cool white (6500K) separately; outcome: show warm white, then cool white, then mixed light, each about 2 s, repeat.
- 38. Project: Temperature Humidity Display
Project: read temperature and humidity and display; outcome: serial shows temperature and humidity continuously, or 4-digit display shows temperature (integer).
- 39. Project: Button Buzzer LED
Project: one button controls LED and buzzer; outcome: press = LED on and buzzer on, release = LED off and buzzer off.
- 40. Project: Potentiometer Control
Project: use potentiometer to control output; outcome: knob controls LED brightness (or buzzer pitch), serial shows potentiometer value and brightness/frequency.
- 41. Project: IR Remote LED
Project: control LED with IR remote; outcome: one button turns the LED on, another turns it off; serial prints each button's command and the action.
- 42. Project: Joystick Control
Project: joystick direction and button control LED and buzzer; outcome: up = LED on, down = LED off, left = low tone, right = high tone, press = buzzer off; serial prints current action.
- 43. Project: EEPROM Settings
Project: save LED on/off state in EEPROM; outcome: button toggles LED and writes state to EEPROM; after power off and on, state is read from EEPROM and LED is restored.
- 44. Project: TFT Sensor Display
Project: show sensor data on TFT; outcome: screen refreshes periodically with current temperature and humidity (Temp: xxC, Humi: xx%).
- 45. Final Project: Free Integration
Final project: combine what you learned into one project; outcome: choose a theme (e.g. smart lamp, temp/humidity alarm, remote LED), finish wiring, code, and test—wrap up the course.
Edit this page — content/guides/tinkerblock-workshop/_series.mdx