Back to index
05Hardware

Bench

Where I started with physical electronics: an Arduino Uno, a breadboard, and a handful of small projects that taught me the basics — ending, so far, in a clap-pattern controller that's the first step toward a hands-free trigger for my assistant.

RoleCircuits, code
BoardArduino Uno
Started2026
StatusClap controller working

Timeline

Click a stop to open the chapter
2026

Blinking lights

Started with the obvious first project: a single LED blinking on a breadboard, wired to an Arduino Uno — the usual starting point for learning digital output.

—First real hands-on with a microcontroller instead of just software
—Basics of digitalWrite and timing with delay()
2026

Fading + buzzer

Moved on to PWM-based fading on the LED, and added a buzzer for sound — the first step past simple on/off into analog-style output and basic audio.

—PWM fading instead of hard on/off
—First time driving a buzzer alongside an LED
Now

Clap control

Wired a sound-sensor module to the Uno so clap patterns control a light: three claps turn it on, two claps turn it off. The module only reports sound or silence (1 or 0), so I tuned its sensitivity with the onboard potentiometer and counted the claps in code.

—First use of a sensor as input rather than just driving outputs
—Had to tell a pattern of three from a pattern of two, not just detect noise
—The kit mic detects loudness only — no words
Next

Clap → PC

Next step: when the light turns on, the Uno sends a line over USB serial, and a small Python listener on my PC launches Wallpaper Engine and my RGB lighting — the first physical trigger for my AI assistant.

—The Uno has no Wi-Fi or Bluetooth, so USB serial is the link
—The listener runs the actions directly instead of calling an AI per clap, which would be too slow

Milestones

What broke

Telling three claps from two reliably
The module only outputs sound or silence, so the work was in tuning its potentiometer until normal room noise didn't count, then using a timing window in code so the Uno counts a whole pattern before acting on it.
Going from blinking an LED to reacting to input
The first two projects were pure output; the clap sensor was the first time input from the room had to drive a decision, which meant thinking in terms of state instead of a fixed sequence.

From the repo

bench/clap_control.ino (condensed)
// Clap pattern: 3 claps = on, 2 claps = off
int clapCount = 0;
unsigned long lastClap = 0;

void loop() {
  // sensor module outputs HIGH on sound, LOW on silence
  if (digitalRead(MIC_PIN) == HIGH && millis() - lastClap > DEBOUNCE_MS) {
    clapCount++;
    lastClap = millis();
  }
  // the pattern ends once the room goes quiet
  if (clapCount > 0 && millis() - lastClap > CLAP_WINDOW_MS) {
    if (clapCount == 3) digitalWrite(LED_PIN, HIGH);
    if (clapCount == 2) digitalWrite(LED_PIN, LOW);
    clapCount = 0;
  }
}
BoardArduino Uno
SensorSound module, digital output
OutputLED, buzzer
NextUSB serial → Python listener
Next project
Rig & Web
Open →