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
- Arduino IDE Installation & Environment SetupComplete download, installation, and basic setup of Arduino IDE on Windows for programming with the TinkerBlock kit.
- First Program: BlinkWrite your first program to make TK01 blink; understand setup/loop and digital output.
- Digital Input: ButtonUse the button as digital input; learn to combine digitalRead() with digitalWrite().
- Traffic LightControl three LEDs in sequence; learn multi-pin digital output and #define.
- Serial Monitor DebuggingLearn to use the serial monitor and Serial to print.
- RGB LEDControl three RGB LED channels; learn multi-channel digital output and #define.
- Latching ButtonLearn the latching button and state hold.
- Collision SensorLearn the collision sensor.
- Touch SensorLearn the touch sensor.
- Tilt SensorLearn the tilt sensor.
- PotentiometersLearn 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).
- NTC ThermistorLearn 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.
- Ambient Light SensorLearn to read light with analog input; outcome: serial shows light value (0–1023)—cover light and value drops, shine light and value rises.
- Knock SensorLearn the knock sensor; outcome: tap the module and the LED turns on; stop and it turns off.
- Multiple Sensors with SerialReview: 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.
- PWM Fading LEDLearn PWM and analogWrite(); use a for loop for outcome: LED fades from dim to bright and back to dim—a breathing light.
- Passive BuzzerLearn tone() and noTone(); outcome: buzzer plays Do, Re, Mi in sequence then stops; can be extended to simple melodies.
- Active BuzzerLearn to control the active buzzer with digitalWrite() and const; outcome: buzzer on 0.5 s, off 0.5 s, repeat.
- Vibration MotorLearn to control the motor with digitalWrite() or analogWrite(); outcome: motor vibrates 0.5 s, stops 0.5 s, repeat; optional PWM for strength.
- RGB Color MixingLearn to control RGB with analogWrite() on three channels; outcome: cycle through red, green, blue, white, yellow, purple, cyan, about 1 s each.
- TM1637 4-Digit DisplayLearn 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.
- Matrix LEDLearn to control the 8×8 matrix with LedControl library and arrays; outcome: matrix shows a heart pattern for about 1 s, then clears, repeat.
- Custom FunctionsLearn custom functions; outcome: wrap “on 200 ms, off 200 ms” in myBlink(), call it from loop, LED blinks at a fixed rhythm.
- 1.8 Inch TFT DisplayLearn to drive the TFT with Arduino_GFX library; outcome: screen first shows "Hello!", then cycles "TFT Screen" and full-screen red, green, blue.
- WS2812 RGB LED BarLearn to control the WS2812 bar with FastLED library; outcome: one red LED moves along the bar in sequence—a running light.
- IR CommunicationLearn 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.
- NTC Thermistor Temperature SensorLearn to use analog input and the Beta equation to convert NTC thermistor voltage to temperature.
- EEPROM MemoryFirst 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.
- ADC ConceptLearn 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.
- Rotary EncoderUse 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.
- I2C Temperature LM75Use Wire library for I2C to read LM75 temperature; outcome: serial continuously shows temperature (°C); warming the sensor makes the value rise.
- I2C Matrix KeypadUse Wire library to scan the matrix keypad over I2C; outcome: when you press a key, serial prints the character (0–9, A–D, , #).
- Steam SensorUse 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.
- JoystickUse 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.
- VoltmeterUse 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.
- Piezo SensorUse analog input to read the piezo sensor; outcome: serial shows the vibration value (0–1023); a tap makes it jump.
- Extreme Bright Dual LEDsUse 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.
- Project: Temperature Humidity DisplayProject: read temperature and humidity and display; outcome: serial shows temperature and humidity continuously, or 4-digit display shows temperature (integer).
- Project: Button Buzzer LEDProject: one button controls LED and buzzer; outcome: press = LED on and buzzer on, release = LED off and buzzer off.
- Project: Potentiometer ControlProject: use potentiometer to control output; outcome: knob controls LED brightness (or buzzer pitch), serial shows potentiometer value and brightness/frequency.
- Project: IR Remote LEDProject: 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.
- Project: Joystick ControlProject: 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.
- Project: EEPROM SettingsProject: 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.
- Project: TFT Sensor DisplayProject: show sensor data on TFT; outcome: screen refreshes periodically with current temperature and humidity (Temp: xxC, Humi: xx%).
- Final Project: Free IntegrationFinal 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
































