/images/votometro/wheel-full.pngThe finished Votómetro wheel: political statements radiating out, with the TFT screen and button strip set into the surfaceOverview
Votómetro is a tangible device that helps a person locate themselves on a political spectrum. You read a statement, press to select it, rate your agreement from 1 to 5 on a physical button strip, and a small screen eventually places you on a left–right / progressive–conservative map. It runs on an Arduino Mega, a ring of capacitive touch sensors, LEDs and buttons — deliberately no smartphone, no app.
This was my first physical-computing build. The value here isn’t a validated product; it’s an exercise in tangible interaction — designing state, feedback and agency into a physical object rather than a screen.
The brief: design without the screen
The MacGyver brief asks for a tangible artefact built from low-tech materials — LEDs, simple displays, physical buttons — as a counterweight to the assumption that good interaction requires high-resolution multitouch. It is grounded in tangible-interaction theory (Ishii & Ullmer on Tangible User Interfaces; Hornecker & Buur on physical, spatial, social interaction), where the object is simultaneously interface, device and data.
From the list of trigger situations, I chose political enlightenment
— helping someone clarify wherethey actually stand, at a moment when political self-positioning is noisy and abstract. The design problem: make that positioning physical, self-paced and legible, using nothing but buttons, lights and a cheap screen.
The build
The artefact is a circular wheel carrying a set of political statements around its face, with a control strip and a small TFT screen set into the surface. Underneath sits the electronics: an Arduino Mega 2560 driving a ring of capacitive touch sensors (one per statement), plus the button strip and display.
/images/votometro/breadboard-proto.pngEarly breadboard stage: the TFT display, buttons and resistors wired out before the wheel existed/images/votometro/build-wiring.pngThe wheel from behind: foam-board rings with every touch sensor wired back to the Arduino Mega at the centreMaterials were low-tech and cheap on purpose: foam board and cardboard for the wheel, off-the-shelf sensor modules, velcro, tape. That’s not a limitation to hide — it’s the whole point of the brief, and it’s what makes the interaction model (below) the interesting part rather than the hardware.
The interaction model
This is the core of the project, and the part I’d lead with.
Selection is non-linear and user-paced. There’s no forced questionnaire order. You choose whichever statement you want, in whatever order you want, and you stop whenever you want. Agency sits with the person, not the machine.
The LED is the system’s memory. When you answer a statement, its sensor lights up — a physical, always-visible marker that this one is done. State isn’t hidden in software; it’s on the surface of the object. You can see your progress at a glance, and you never answer the same statement twice. This is exactly the kind of “constant visibility of physical controls” the low-tech brief argues for, implemented rather than just cited.
/images/votometro/sensor-lit.pngClose-up of a touch sensor lit red beside its statement — the "already answered" state made physicalThe flow, on screen:
- Title / start — “VOTÓMETRO 2025 · press GREEN to continue.”
- Instructions — press the red button to select a statement, rate agreement 1–5 (1 = strongly disagree, 5 = strongly agree), the light comes on when answered, green to begin, red to finish.
- Answering — pick a statement → the sensor registers it → rate 1–5 on the button strip → LED marks it done. Repeat for as many as you like.
- Result — a two-axis compass (left ↔ right, progressive ↔ conservative) with Portuguese parties positioned across the quadrants, showing where your answers land you.
/images/votometro/screen-instructions.pngThe INSTRUÇÕES onboarding screen/images/votometro/screen-title.pngThe title screen, seen through the wheel's cut-out/images/votometro/screen-results.pngThe results compass — Esquerda/Direita × Progressista/Conservador, with parties placed on the mapHow the answers become a position. Each statement was tied to a political party; your 1–5 agreement accumulated affinity toward the parties behind the statements you endorsed, and the aggregate placed you on the two-axis compass.
How to read this piece
Judge it as an interaction object, not a measurement instrument. Two things to be upfront about:
- No user evaluation on this artefact. In the MacGyver project, the Phase 3 usability evaluation was run by my group on a different artefact. The Votómetro is a Phase 1 individual concept prototype — built and demonstrated, not tested with participants.
- Political spectrums are contestable by nature. Mapping Likert answers onto named parties is exactly where a critical reviewer will push, and rightly so. So the intent here is civic literacy and reflection — a physical prompt that gets a person to take a position and think about it — not a precise verdict on who they should vote for. The result is a conversation-starter, not a diagnosis.
Framed that way, what the piece demonstrates is real: physical state design, self-paced non-linear input, and hybrid physical/digital flow, built end to end in hardware.
Learnings
- Designing state into an object is a different skill from designing it into a UI. The LED-as-memory decision taught me more about feedback and visibility than any screen state would have.
- Constraints made the concept. “No app, low-tech only” forced the interesting choices — non-linear selection, physical progress marking — instead of defaulting to a form on a phone.
- End-to-end physical computing: fabrication, wiring dozens of sensors on a single board, and a designed flow (onboarding → Likert input → aggregation → visualisation), all working as one object.
Where it sits in my work: this is my tangible / physical-computing piece. Alongside the screen-based case studies, it shows I can design interaction in hardware, not only in Figma — which is directly relevant to HMI, control panels and embedded interfaces (e.g. the kind of work at Siemens), not just app UI.