Charitable giving has been declining in recent years, particularly for small, everyday donations. At the same time, social and environmental challenges continue to grow, while traditional donation boxes in public spaces often go unnoticed and provide little sense of impact.
Research and our own user studies indicate that people are more willing to donate when barriers are low and contributions feel visible and meaningful. Cash remains especially relevant for spontaneous micro-donations in places like university cafeterias, where spare change and short waiting times are common.
We built this donation voting machine to explore how gamification, physical interaction, and real-time feedback can make cash-based micro-donations more engaging. By combining donating with live voting, each coin becomes both a contribution and a visible signal.
The goal was not to maximize revenue, but to design a simple, trustworthy, and robust system that fits naturally into everyday public spaces and can be easily replicated and adapted.
Basic IdeaThe donation voting machine is a self-contained physical installation that combines a simple hardware setup with a digital voting interface.
At its core, the system consists of a Raspberry Pi mounted inside a lockable enclosure, connected to:
- a display for showing the current voting question and live results,
- two arcade buttons representing the available answer options,
- a coin validator for accepting and counting supported coin denominations.
Each inserted coin is registered by the coin validator and translated into a vote for the selected option. The display updates in real time, visualizing both the current vote distribution and cumulative donations.
The coin validator used in the prototype supports only six different coin denominations. To ensure that unsupported coins (e.g. small denominations) can still be donated, an auxiliary coin slot was added. Coins inserted through this slot are collected without participating in the voting mechanism.
Mechanical Design and Physical ConstructionThe donation machine is designed as a robust, vandal-resistant physical installation suitable for temporary deployment in semi-public spaces such as university cafeterias and foyers.
Enclosure and HousingThe physical prototype is built around a commercial metal cabinet (IKEA LIXHULT), which serves as the main enclosure and structural backbone of the system.
The choice of a metal cabinet was driven by:
- high mechanical robustness,
- resistance to vandalism and tampering,
- low cost and wide availability.
Using an off-the-shelf cabinet allowed flexible prototyping without the need for custom sheet metal fabrication.
Cabinet ModificationsAll required openings were manually cut into the metal housing, including:
- a display cutout,
- openings for the coin validator and the auxiliary coin slot,
- cutouts for arcade buttons,
- cable routing holes,
- mounting holes for the stand,
- mounting points for a Kensington lock.
Cutting methods:
- display, coin validator and passive coin slot openings: angle grinder,
- arcade button openings: sheet metal punch.
The display is mounted from the inside of the cabinet. Since this leaves no external bezel, a custom 3D-printed display bezel was designed to frame the screen and cover the cut edges. The bezels are fixed in place using double-sided adhesive tape, allowing secure attachment without visible fasteners.The corresponding 3D files are provided in the attachements.
The coin validator and arcade buttons include their own external bezels, which naturally cover the cut edges.
As all visible cut edges are covered by bezels or components, no additional edge finishing was required.
Display Mounting ConceptTo protect the display from accidental damage, a transparent acrylic (plexiglass) panel was bonded to the inside of the cabinet in front of the display, preventing direct contact with the screen surface.
The original cabinet feet supplied with the IKEA cabinet were repurposed as an internal display mounting frame.
- The feet were bonded to the cabinet interior using silicone adhesive, defining the vertical position of the display and preventing upward or downward movement.
- Cable cutouts for power and signal lines were added directly to the mounting frame.
- A secondary display retention frame made from plastic corner profiles was installed behind the display and screwed into the bonded cabinet feet.
- An embedded metal tab in the center of the retention frame engages with the corresponding mounting feature on the rear of the display, preventing lateral movement.
This two-part mounting concept secures the display firmly in place while still allowing easy removal for maintenance.
As an alternative to a dedicated monitor, an old 16-inch laptop panel can be repurposed and used as the display.
In this case, a compatible display controller board is required to interface the panel with the Raspberry Pi.
The laptop panel can be integrated into the same mounting concept, with minor adjustments to the retention frame to account for different mounting points and panel thickness.
Security and Door MechanismThe original cabinet door was retained and mechanically modified.
Access to the interior is secured using a padlock-based locking mechanism:
- a hole was drilled through the door handle,
- a secondary metal bracket was mounted inside the cabinet,
- when closed, both holes align and allow the door to be locked with a standard padlock.
For theft prevention of the entire unit, a Kensington lock system is used to tether the machine to fixed infrastructure.
All externally accessible fasteners were implemented using carriage bolts (round-head bolts), preventing components from being loosened or removed using standard tools from the outside.
Internal Mounting and Coin CollectionInside the cabinet, wooden mounting panels were bonded using acrylic adhesive.These panels provide a modular mounting surface for:
- Raspberry Pi and breadboard,
- power supply and distribution,
- internal cable routing and strain relief.
The Raspberry Pi and the breadboard are directly mounted onto the wooden panel.
Additional components, including power supplies and an internal service button, are mounted to the wooden panels and plastic corner profiles.
Cable routing is implemented using cable ties and adhesive cable mounts to ensure orderly wiring and strain relief.
This setup avoids repeated drilling into the metal housing and supports iterative prototyping and maintenance.
The coin collection system is mounted directly beneath the coin validator and consists of:
- a metal angle bracket,
- plastic corner profiles,
- two stackable plastic containers.
The lower container is rigidly fixed, while the upper container can be removed tool-free for emptying.
For unsupported denominations (1–10 cent), a separate coin container is installed at the bottom of the cabinet and fixed using a chain fastener.A small internal plastic chute guides these coins reliably into the container.
The cabinet is mounted on a commercial speaker stand, positioning the machine at an ergonomic interaction height while ensuring sufficient stability.
All stand fasteners are accessible only from inside the cabinet, preventing external removal of the machine from the stand.
Wiring and ElectronicsThe wiring of the electronical hardware components is documented using a circuit diagram created in Fritzing. Due to software limitations, not all components are availabe as exact models and are therefore represented symbolically. However, the electrical behavior and wiring logic fully correspond to the real hardware used in the prototype.
All components share a commonground, which is connected to one of the Raspberry Pi´s ground pins. The Raspberry itself is powered via its standard USB-C power supply.
The following GPIO pins are used:
- GPIO3: Start / Shutdown Button
- GPIO 27: Voting Button 1
- GPIO 22: Voting Button 2
- GPIO 23: Coin Validator Signal Input
- Physical Pin 2 (5vPower): Power supply for the LED illumination of the arcade buttons
In the physical prototype, we use arcade buttons with integrated LEDs for user interaction. Since these are not available in Fritzing, the buttons and LEDs are represented as separate elements in the wiring diagram, but they are connected in the same way. The button contacts are wired between their assigned GPIO pins and ground, while the LED is supplied separately from the 5v power pin.
As no dedicated component exists for the coinvalidator, it is represented by a generic module in the circuit diagram (see left bottom corner).
This module exposes the same three connections as the real validator: signal, power and ground. The two wires leading away from the module symbolically represent the 12v power supply required by the coin valdiator.
The coin signal output is routed to the Raspberry Pi through a total series resistance of 13.3kΩ before reaching the assigned GPIO pin. This is absolutely required as it protects the Raspberry Pi from the higher voltage levels used by the coin validator (12v vs. 3.3v). In the diagram we make use of the following resistors from left to right:
- 10kΩ
- 2.2kΩ
- 1kΩ
- 100Ω
Additional configuration details of the coin validator:
- set to Normally Open (NO)
- set sensitivity to medium
Important: Grounds from all components must be connected to each other.
After completing all that, the final prototype of the CharitableVotingMachine demonstrates how all components come together in a compact and deployable system. The following images provide an overview of the completed build installation described above, showing both the external appearance as experienced by users and the internal structure (wired and assembled hardware components).
In addition to the physical prototype based on the IKEA cabinet, we developed a fully CAD-designed enclosure to enable further development.All enclosure components are provided as 3MF files.
- The enclosure is designed as a multi-part assembly, allowing individual housing sections to be manufactured separately and mechanically fastened together.
- Heat-set threaded inserts are used at all joining points to enable reliable screw connections between the enclosure parts.
- Wall thickness is locally increased at all insert locations to accommodate the threaded inserts flush with the surface and to ensure sufficient mechanical strength without unnecessary material usage.
The design can be adapted for:
- 3D printing,
- CNC machining or metal fabrication.







Comments