Luca Schröderchiaramarbru35
Published © CC BY-NC-ND

Charitable Voting Machine

A physical donation machine that combines coin-based giving with real-time voting to increase engagement through gamification.

AdvancedFull instructions provided8 hours128
Charitable Voting Machine

Things used in this project

Hardware components

Raspberry Pi 4 Model B
Raspberry Pi 4 Model B
The Raspberry Pi 3 would be fine aswell.
×1
Coin Acceptor
×1
Metal Cabinet
×1
Display 16 Inch
An old 16-inch laptop panel can also be repurposed and used as a display
×1
Acarde Buttons
LED feature is optional
×2
Cable Tie, Double Sided
Cable Tie, Double Sided
×1
3D printer filament
optional
×1
Padlock
×1
Double-sided adhesive tape
optional
×1
Plastic Box
for catching and storing coins
×2
Height-adjustable Stand
×1
Screws
Preferably carriage bolts, to prevent loosening from the outside of the enclosure.
×1
Power Strip
×1
Kensington Lock
×1
Transparent acrylic panel (plexiglass)
Optional
×1
Wooden mounting panels
×1
Silicone adhesive
×1
Heat-set threaded inserts
optional
×1
Raspberry Pi USB-C Power Supply, 5V 3A (15W)
×1
HDMI Adapter to Mini HDMI
×1
Mini HDMI to HDMI Cable
×1
TP-Link USB Wi-Fi Adapter (N300)
×1
AC-to-DC Power Adapter (12 V)
×1

Software apps and online services

Raspberry Pi OS (Linux)
Operating system used to run the kiosk and manage GPIO-based hardware interaction
Python
Backend programming language used to implement the application logic, hardware integration and APIs
FastAPI
Python web framework used to implement REST APIs and WebSocket communication in the backend
SQLAlchemy
Database access and object mapping
Alembic
Database schema migrations
WebSockets
Real-time updates between backend and frontend
GPIO (General-Purpose Input/Output)
Connection to buttons and coin validator
lgpio
Low-level GPIO access on Raspberry Pi
React
Frontend JavaScript library
Vite
Frontend build and development tool

Hand tools and fabrication machines

Sheet Metal Punch
24 mm
Angle grinder (flex)
3D Printer (generic)
3D Printer (generic)
optional
Screwdriver
Metal drill bit

Story

Read more

Custom parts and enclosures

Bezels for ikea enclosing

CAD Enclosure for Voting Machine

Schematics

Schematic diagram from Fritzing

Code

Charitable Voting Machine Code

Credits

Luca Schröder
1 project • 0 followers
chiara
1 project • 0 followers
marbru35
1 project • 0 followers

Comments