Skip to main content
Version: ACS CC

4Clash

Battleground of buttons, motors, and multiplayer mayhem!

info

Author: Gabriel-Valentin Pitic
GitHub Project Link: https://github.com/UPB-PMRust-Students/proiect-gabrielpitic

Description

4Clash is a DIY multiplayer gaming table that brings players together in physical space for competitive digital battles. Using 3D printed components, stepper motors, servos, and Raspberry Pi Pico 2W microcontrollers, this project creates an interactive tabletop gaming experience where multiple players can compete simultaneously. The system combines physical controls with digital gameplay elements, all powered by custom Rust software that handles game mechanics, player interactions, and visual feedback.

Motivation

I created 4Clash to explore the intersection between digital gaming and physical social interaction. In an era dominated by online multiplayer experiences, I wanted to build something that brings people together in the same room, fostering face-to-face competition. The project also serves as an excellent platform to deepen my understanding of embedded systems programming with Rust, physical computing, and real-time multiplayer game development. Building 4Clash has allowed me to combine my interests in gaming, electronics, and software development while creating something that friends can gather around and enjoy together.

Architecture

Diagram

Log

Week 5 - 11 May

Week 12 - 18 May

Week 19 - 25 May

Hardware

  • Raspberry Pi Pico 2W - Used as the main microcontroller handling all the motors, as well as the wi-fi connections for the players.
  • 17HS4401 Stepper motor - Used for the linear movement of the player.
  • MG90S Servo - Used for the shooting mechanism of the player.
  • DRV8825 and A4988 - Stepper motor drivers used to control the stepper motors.
  • ST7735 display - Used to display the QR code for the players to connect to the game.
  • 3D printed parts - Used to create the physical structure of the game, including the player housing and shooting mechanism.
  • Power supply - Used to power the entire system, including the motors and microcontroller.
  • Wood parts - Used to create the base of the game.
  • Bolts and nuts - Used to assemble the 3D printed parts and wood parts together.
  • Wires and connectors - Used to connect the various components together.
  • Breadboard - Used for prototyping and testing the circuit connections before final assembly.

Schematics

Schematic

Bill of Materials

DeviceUsagePrice
2x Raspberry Pi Pico 2WThe microcontroller80 LEI
4x 17HS4401 Stepper MotorUsed for the linear movement of the player136 LEI
4x MG90S ServoUsed for the shooting mechanism of the player78 LEI
4 x A4988 Stepper Motor DriverUsed to control the stepper motors32 LEI
ST7735 DisplayUsed to display the QR code for the players to connect to the game29 LEI
Switched Power SupplyUsed to power the entire system, including the motors and microcontroller60 LEI
Consumables (3D printed parts, wood parts, bolts, nuts, wires, connectors etc.)Used to create the physical structure of the game80 LEI

Software

LibraryDescriptionUsage
st7735Display driver for ST7789Used for the display
embedded-graphics2D graphics libraryUsed for drawing to the display
embassy-rpEmbassy HAL for RP2040Hardware abstraction layer for the Raspberry Pi Pico 2
embassy-netEmbassy networking libraryUsed for network communication
cyw43Wi-Fi driver for Raspberry Pi Pico 2Used for Wi-Fi connectivity
qrcodeQR code generatorUsed to generate the QR code for the players to connect to the game
  1. link
  2. link ...