tinkerblock
105 pages across tutorials, modules, pinouts and guides.

Door Sensor
A TinkerBlock board that takes the two bare wires of a magnetic door or window sensor on a screw terminal and puts it between VCC and SIGNAL. A closed sensor reads HIGH; open, SIGNAL floats, because the board has no pull-down, so you set one in setup(). The red LED lights while the sensor is closed: it is not a power light.

3-Axis Accelerometer
A Silan SC7A20H accelerometer on a TinkerBlock board: tilt, orientation, shakes and drops over two shared I²C wires, at address 0x19, with the pull-ups fitted. 3.3 V only.

CAN Bus
An SN65HVD230 CAN transceiver on a TinkerBlock board, for 3.3 V microcontrollers with a CAN controller of their own, such as most ESP32 chips. CTX and CRX go straight across, the 120 Ω fitted on every board belongs only on the two end boards, GND runs with a twisted pair, and one board alone can never finish a message.

I2S Amplifier
An NS4168 I2S amplifier on a TinkerBlock board: the ESP32-S3 sends sound as numbers on three wires and the chip drives a 4 Ω speaker, about 1 W on 3.3 V. CTRL must be driven HIGH or it stays off, the L/R jumper picks which channel the mono chip plays, and neither speaker wire is ground.

I2S DAC
TI's PCM5102A stereo DAC and a 3.5 mm jack on a TinkerBlock board, for the ESP32-S3, which has no DAC of its own. Three wires carry the samples in and the chip makes its own master clock from the bit clock. The output is line level, 2.1 V RMS: headphones and powered speakers, never a bare speaker. 3.3 V only, and XSMT is already held HIGH.

PDM Microphone
A LinkMems LMD2718T261-OA1 MEMS microphone on a TinkerBlock board that sends sound as one bit per clock pulse. It needs a board with a PDM input, such as the ESP32-S3's I2S0, and 3.3 V. Two signal wires, CLK in and DATA out; ordinary speech reads a few tens out of 32767, so sketches subtract an offset and apply gain.

Slim Joystick
A thumb stick and six buttons on one long TinkerBlock board, on six pins. X and Y are two potentiometers, read on analog pins; KEY is the click under the stick, LOW at rest and HIGH when pushed; and all six buttons share BTNS, one analog pin, through a ladder of 10 kΩ resistors that gives each its own voltage. One button reads at a time.

Dual Axis Joystick
A thumbstick on a square TinkerBlock board, on six pins: GND, VCC, NC, X, Y and SW. X and Y are two potentiometers from VCC to GND, read on analog pins; SW is the click under the stick, LOW at rest and HIGH when pressed, with its own pull-down. Every line reaches VCC, so VCC is your board's logic voltage. A PWR light and an SW light show power and each click.

INA219 Current Monitor
A 100 milliohm resistor in the positive wire and a chip that reads the millivolts across it. Current, voltage and power over I²C, up to 3.2 A on a rail of up to 26 V.

SHT31 Temperature and Humidity Sensor
A Sensirion SHT31 on a TinkerBlock carrier: two numbers over two shared wires, calibrated at the factory, with the pull-ups already fitted and two jumpers on the back that set the address and take them away again.
1. Arduino IDE Installation & Environment Setup
Complete download, installation, and basic setup of Arduino IDE on Windows for programming with the TinkerBlock kit.

1.8-inch TFT Display
A 1.77-inch colour TFT, 128 by 160 pixels, with an ST7735S controller on SPI, on a TinkerBlock board with an eight-pin header. 3.3 V only, with nothing on the board to shift 5 V signals down: an Uno goes through a TK97. The backlight stays off until BL is driven HIGH.

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.

2. First Program: Blink
Write your first program to make TK01 blink; understand setup/loop and digital output.

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.

3. Digital Input: Button
Use the button as digital input; learn to combine digitalRead() with digitalWrite().

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 the vibration value (0–1023); a tap makes it jump.

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.

4-Direction Tilt Sensor
One metal roller in a square switch with four corner contacts, on a TinkerBlock board: tip an edge down and the roller joins that side's two lines. Your board finds which pair by holding one line LOW and reading who follows. Four answers and none, no angle, and four red LEDs that light when a line is held LOW.

4. Traffic Light
Control three LEDs in sequence; learn multi-pin digital output and #define.

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.

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.

74HC595 Segment LED
One 0.8-inch red seven-segment digit with a 74HC595 shift register under it, on a TinkerBlock board: three wires set all eight segments, one byte per digit, a 1 lights a segment. Common cathode, 150 Ω per segment, VCC on your board's logic supply, and no chaining: the 595's serial output is not connected.

8. Collision Sensor
Learn the collision sensor.

8x8 LED Matrix
Sixty-four red LEDs and a MAX7219 that scans them for you, on the TinkerBlock TK52: five wires, VCC on 5 V, a picture sent as eight bytes. The page is shared with the chainable 3-pack module, and only that one can be chained: the TK52 has no DOUT.

9. Touch Sensor
Learn the touch sensor.

Active Buzzer
A 12 mm electromagnetic buzzer with its own oscillator, on a TinkerBlock board. SIGNAL HIGH beeps at about 2.4 kHz, LOW stops it: one note, one line of code. An S8050 transistor switches it from VCC, so your pin gives a few milliamps and VCC can be 5V beside a 3.3 V board. There is no pull-down on SIGNAL, so use a pin that stays LOW while your board boots.

Ambient Light Sensor
A phototransistor and a 4.7 kΩ resistor on a TinkerBlock board: light makes a current, the resistor turns it into a voltage, and SIGNAL rises with the light. A lit room reads low on the scale, bright light flattens just under VCC, and it sees near infrared best.

Analog Microphone
An electret capsule and a one-transistor amplifier on a TinkerBlock board. SIGNAL rests at a level set by the transistor's gain and swings above and below it with sound, in a band of roughly 75 Hz to 1 kHz. Read the peak-to-peak over 50 ms: it hears claps, knocks and loud voices, and it is not a recording microphone.

Analog to Digital Signal
An LM393 comparator on a TinkerBlock board: plug an analog block into the IN socket, set a threshold with the blue knob, and DIG tells your board whether the block's voltage is above or below it. The block's own voltage passes through on ANA, and a slide switch printed H and L turns the answer over.

Collision Sensor
A lever microswitch with its 10 kΩ pull-down and a red hit light already fitted: SIGNAL reads HIGH while the lever is pushed in. The bumper for a TinkerBlock robot, and the sense that never reports a wall that is not there.

DHT11 Temperature and Humidity Sensor
A DHT11 on a TinkerBlock board, the TK38: temperature from 0 to 50 °C to ±2 °C and humidity from 20 to 80 % to ±5 %, in whole numbers, on one data wire. The 10 kΩ pull-up is fitted, so it is three wires and one library. Feed VCC what your board's pins run at: the pull-up ties DATA to it.

Disc Potentiometer
A 10 kΩ thumbwheel potentiometer wired as a voltage divider: turn the wheel and SIGNAL runs from 0 V to VCC, read by one analog pin. The wheel lies flat and overhangs the board's edge, so a thumb turns it from the side.

Dual Bright LEDs
Two 5730-size white LEDs on a TinkerBlock board, one warm (3000K) and one cool (6500K), each switched by its own S8050 transistor with a 10 Ω resistor from VCC. A pin for each colour, PWM for brightness and for every white between the two. VCC may be 5 V on a 3.3 V board; on 5 V, cap the PWM at two thirds.

EEPROM Memory
An AT24C128 I2C EEPROM on a TinkerBlock board: 16,384 bytes that keep their values with the power off, at address 0x50. VCC goes to your board's logic supply because the pull-ups end at VCC, each write takes up to 5 ms, a write wraps inside its 64-byte page, and each byte takes about a million writes.

Five-Direction Joystick
A five-way navigation switch on one analog pin: four tilts and a press, each joining SIGNAL to its own point of a chain of 10 kΩ resistors, so each push is its own voltage. Read it with analogRead, not digitalRead. VCC is your board's logic voltage.

Hall Effect Sensor
An omnipolar Hall switch on a TinkerBlock board: bring either pole of a magnet near and SIGNAL goes LOW and a red light comes on. No contact to wear out, it works through plastic, and it looks at the field every 22 ms, so it is made for doors, lids and slow wheels.

Infrared Receiver
An infrared light sensor on a TinkerBlock board: an Everlight PT334-6B phototransistor in a black 5 mm package and a 10 kΩ load, so SIGNAL is an analog voltage that rises with how much infrared arrives, steady or flashing. The partner of the TK63 for a break-beam. It is not the TK15 IR Receiver: it decodes no remote, and the TK15 ignores steady light.

Infrared Speed Sensor
A GK105A slotted optical switch on a TinkerBlock board: an infrared beam across a 5 mm slot, judged by an LM393 comparator. Something in the slot reads HIGH; a clear slot reads LOW and lights a red LED. Put a slotted disc through it and count pulses for rpm, up to about 1,900 a second. VCC must be your board's logic voltage.

Infrared Transmitter
A 5 mm, 940 nm infrared LED on a TinkerBlock board, switched by an S8050 transistor, with one 150 Ω resistor setting its current from VCC and a red LED that shows when it is on. SIGNAL HIGH turns it on. Your pin only feeds the transistor, so VCC may be 5 V on a 3.3 V board. Blink it, send remote-control codes to a TK15, or make a break-beam with a TK64.

IR Receiver
A Vishay TSOP18138 38 kHz infrared receiver on a TinkerBlock board: SIGNAL idles HIGH and goes LOW while a remote sends, and the IRremote library turns those lows into an address and a command.

IR Sender
An Everlight IR908-7C 940 nm infrared LED, switched by a transistor, on a TinkerBlock board. SIGNAL HIGH lights it; your microcontroller makes the 38 kHz carrier, and one 150 Ω resistor decides how far it reaches.

Knock Sensor
A spring vibration switch with its 10 kΩ pull-down, a 100 nF capacitor and a red flash light already fitted: SIGNAL goes HIGH for a moment each time a knock swings the spring onto its rod. A tap on a table as a button, a door that was knocked, a box that was dropped.

Latching Button
A push-on, push-off switch with its pull-down and a red indicator LED already fitted: one press turns SIGNAL HIGH and it stays HIGH, through a reset or a power cut, until the next press.

Linear Hall Effect Sensor
An SS49E-type linear Hall sensor on a TinkerBlock board: an analog voltage that rests at half of VCC with no field and moves about 3.25 mV per gauss at 5 V, up for one pole and down for the other. It tells you how strong a magnetic field is and which way it points. VCC must be your board's logic voltage, and it is not a current sensor on its own.

LM75 Temperature Sensor
An LM75B digital temperature sensor on a TinkerBlock board, read over I2C at address 0x48: two bytes that are already degrees, in steps of an eighth, within 2 °C from −25 to 100 °C. VCC goes to your board's logic supply because the pull-ups end at VCC.

Logic Level Converter
Six bidirectional channels between 3.3 V and 5 V on a TinkerBlock board: L1 to L6 in a socket on the 3.3 V side, H1 to H6 on a header on the 5 V side, each a BSS138 with a 10 kΩ pull-up either side. It needs only 5V and GND: an ME6211 regulator makes the 3.3 V side's supply, so the socket's 3V3 pin is an output that powers a 3.3 V block, and is never fed.

Matrix Keypad with I2C Adapter (4x4, PCF8574)
A 4×4 keypad on two I²C wires instead of eight GPIO pins. The TK85 adapter at a fixed 0x20, the compact adapter in the keypad packs with eight addresses, the soft and heavy-duty keypads, and the two keymaps they need.

Mechanical Key and LED
A keyboard switch with a WS2812 RGB LED under its clear keycap, as two separate circuits: the key reads HIGH when pressed through its own 10 kΩ pull-down, and the LED shows whatever colour your sketch sends it. VCC is your board's logic voltage.

NTC Thermistor
A 10 kΩ NTC thermistor in a divider with a fixed 10 kΩ: SIGNAL is half of VCC at 25 °C and falls as it warms. Read it on any analog pin and turn it into degrees with two lines of arithmetic.

Passive Buzzer
A magnetic buzzer with no oscillator of its own, switched by a transistor on a TinkerBlock board. It sounds only while SIGNAL is a square wave, at the wave's frequency, so tone() plays any note; it is loudest at its 2.7 kHz resonance. Held HIGH it is silent and the coil draws about 200 mA.

Piezo-Ceramic Sensor
A 22 mm piezo disc on a TinkerBlock board that needs no supply: two wires, GND and SIGNAL. A tap makes a hump on SIGNAL that rises in about a millisecond and drains in about a tenth of a second, taller for a harder tap. It senses change, not weight, and nothing on the board holds SIGNAL below 3.3 V.

Push Button
A 12 mm momentary push button with its 10 kΩ pull-down and a red press light already fitted: SIGNAL reads HIGH while the button is down. The first input in the kit, and the module that teaches debouncing.

Reed Switch
A glass reed switch on a TinkerBlock board: two blades that a magnet pulls shut, from either pole, with no power needed to sense. It sits between VCC and SIGNAL with a 10 kΩ pull-down, so a magnet reads HIGH, and a red LED lights while it is closed. It draws nothing while open, and VCC must be your board's logic voltage.

Reflective Optical Sensor
A Vishay TCRT5000 on a TinkerBlock board: an infrared emitter that is always on and a phototransistor beside it, both looking out of the front. Infrared coming back pulls SIGNAL down from VCC through 4.7 kΩ, so white paper reads low and black tape or open air reads high. Analog only, best at 2.5 mm, and VCC goes to your board's logic voltage: 3V3, or 5V on an Uno.

RGB LED
A red, a green and a blue LED in one 5 mm package, each with its own 1 kΩ resistor and its own pin, joined at a common cathode. Three PWM pins mix any colour, and the handbook works out why three equal numbers are not white.

Rotary Encoder
An EC11-type rotary encoder with a push switch in its shaft, its pull-ups, filter capacitors and pull-down already fitted. Two contacts a quarter of a cycle apart give the direction; the program keeps the count. Pushed in, BTN reads HIGH.

Rotary Potentiometer
A 10 kΩ linear potentiometer with a knob, wired as a voltage divider: SIGNAL gives 0 V to VCC as you turn. A red LED on the wiper glows as you turn up, and it bends the upper part of the reading: hard on 5 V, less on 3.3 V.

Steam Sensor
A TinkerBlock board that reads water on its surface: seven nested loops of bare gold, every other one on VCC, the rest held at 0 V by a 1 MΩ. Condensed steam, breath or a drop across the loops makes a divider, and SIGNAL rises from 0 V towards VCC. It is an analog output, it does not sense humidity in the air, and VCC must be your board's logic voltage.

Tilt Sensor
An SW-520D ball tilt switch on a TinkerBlock board: two steel balls in a brass can that close the switch when its lead end, the board's left edge, is the lower one. It sits between VCC and SIGNAL with a 10 kΩ pull-down and a 100 nF, so left edge down reads HIGH, and a red LED lights while it is closed. It draws nothing while open, reads nothing definite near level, and VCC must be your board's logic voltage.

TinkerBlock
Our own modular series — sensors, displays and actuators that share one pin convention, one numbering scheme, and one set of wiring habits.

TinkerBlock 46-Piece Sensor Module Kit
Forty-four modules on gold-plated breakouts, sharing one pin convention — and the forty-five-lesson workshop written around them.

TinkerBlock Ultrasonic Distance Sensor Kit
Distance by echo timing, five to a pack — enough for a robot with a sensor on every side.

TM1637 4-Digit Display (0.56 inch)
Four seven-segment digits on two ordinary pins. The TinkerBlock TK51 with its clock colon, the clock set, the digit set with decimal points, and the one bit that behaves differently on each.

Traffic Light
Red, yellow and green LEDs, each with its own 1 kΩ resistor and its own pin, sharing one GND: three digital outputs, and the first sketch that has to remember what it is doing.

TTP223 Touch Sensor
A 12 mm gold pad and a TTP223 touch chip on a TinkerBlock board: SIGNAL is HIGH while a finger is on the pad, through plastic or glass as well as bare, and LOW the rest of the time. Momentary and active-high in copper, with no jumper. SIGNAL is the chip's own output from VCC, so VCC goes to your board's logic supply, and the pad must be left alone for the half second after power-up.

Ultrasonic Distance Sensor
Distance by echo timing, on an RCWL-9616 that runs from 3 to 5 V and speaks GPIO, I2C, UART or 1-Wire, chosen by two solder jumpers. No divider on a 3.3 V board. Soft and angled surfaces are where it quietly lies to you.

Vibration Motor
A 10 mm coin vibration motor on a TinkerBlock board, switched by a MOSFET and fed from the board's own 3.3 V regulator. SIGNAL HIGH buzzes, LOW stops, analogWrite sets the strength. VCC only feeds the regulator, so 5V on VCC is safe beside a 3.3 V board, and 3V3 or 5V both give the motor about 3.3 V.

Voltmeter
A 30 kΩ and 7.5 kΩ divider behind a two-screw terminal: SIG is exactly one fifth of the input, so an analog pin can read up to 25 V on a 5 V board and about 15.5 V on a 3.3 V one. DC only, measured from GND.

WS2812 RGB LED Bar
Five addressable RGB LEDs on one data wire. VCC wants 5 V, each colour runs at 12 mA, the LEDs read green first, and the chain ends at the fifth LED.

XL LED
A 10 mm blue LED with its 150 Ω resistor already fitted, driven by one pin: the first output most people ever drive, and the light every later lesson uses to show that something happened.

DHT22 Temperature and Humidity Sensor
A DHT22 on a TinkerBlock board, the TK39: temperature from −40 to 80 °C to ±0.5 °C and humidity from 0 to 100 % to ±2 %, in tenths, on one data wire. The 10 kΩ pull-up is fitted, so it is three wires and one library. Feed VCC what your board's pins run at, and read it no more than once every two seconds.