Final project

PinSocc Ball website

This project is a game that combines concepts from both a pinball and table football. The gameplay consists of scoring goals in the opponent’s goal using two flippers similar to those found in a pinball machine.

Each player controls two flippers acting as if they were a football goalkeeper’s hands, trying to defend their own goal while also attempting to send the ball toward the rival side and score.

The goal is to create a simple, fun, and engaging experience based on reflexes, timing, and player interaction.

Table football (soccer)
Table football (soccer)
Pinball
Pinball
PinSocc Ball
PinSocc Ball
PinSocc Ball
PinSocc Ball

Throughout the development process, I integrated 2D and 3D design, digital fabrication, electronics, programming, and mechanical assembly to build a fully functional system. The result is an interactive machine that combines skill, reflexes, and competition, showing how the different disciplines learned during Fab Academy can come together in a single project.

You can go to to de Develoment page to see the evolution/tests or to de Proposal page to first understand the initial idea.

Slide

PINSOCC BALL Slide
PINSOCC BALL Slide (size: 0 Kb -click to enlarge-).

Video

PINSOCC BALL - Beni Álvarez | FabAcademy26 - FabLab León

High quality video available on Vimeo ↗️.

PinSocc Ball song (radio version)

'PinSocc Ball song' is a song created specifically in Suno for the final project presentation video. Here is the full version.

Presentation

On June 8th, 2026, I presented my final project, PinSocc Ball, during the first day of Fab Academy 2026 final presentations.

PinSocc Ball is a game that combines the mechanics of a pinball machine and a table football game, inspired by an arcade machine I played many years ago and never found again. This project integrates digital fabrication, electronics design and production, embedded programming, networking, and system integration into a fully functional interactive machine.

The following video shows the final project FA'26 presentation:

PINSOCC BALL presentation 8th june 2026 - Beni Álvarez | FabAcademy26 - FabLab León

You can also watch all the presentations from the first day of Fab Academy 2026 final project presentations through the following Vimeo link.

Person portrait

It looks great. It looks fun and nicely finished.
But yeah, it's an interesting conception.
I've never seen pinball soccer. It's a nice idea.
And it looks nicely finished and integrated.
In fact, it'd be nice if the video had at the end some excited kids playing the game.

Neil Gershenfeld (Jun 8, 2026)

Q & A

This project is a game that combines concepts from both a pinball machine and a table football game. The gameplay consists of scoring goals in the opponent’s goal using two flippers similar to those found in a pinball machine.

Each player controls two flippers acting as if they were a football goalkeeper’s hands, trying to defend their own goal while also attempting to send the ball toward the rival side and score.

The goal is to create a simple, fun, and engaging experience based on reflexes, timing, and player interaction.

The main inspiration for this project comes from an arcade game I played when I was younger and that I have never seen again since then. Although pinball machines and table football games still exist today, that machine combined elements of both concepts in a different way and left a strong impression on me.

After deciding to develop this idea, I researched similar projects and found several examples of two-player pinball machines. However, I could not find any project combining a football field with two opposite goals and gameplay focused on defending and attacking using flippers.

Besides that initial inspiration, I also used references from existing pinball systems, football games, and different mechanical and electronic solutions discovered during the development process.

I will design all the main mechanical and electronic elements required for the project. This includes:

  • Outer structure and chassis
  • Playing field
  • Goal detection system with IR sensors
  • Game control logic
  • Automatic ball return system with ramps
  • Score display
  • Lighting effects with LEDs

I will also design the necessary PCBs, holders, and custom 3D printed parts required to integrate all the systems together.

Several parts and systems will be designed and manufactured specifically for this project:

  • Wooden outer case structure
  • MDF top cover and ball return system (ramps)
  • Laser engraved and cut playing field
  • 3D printed parts such as hand flippers and PCB holders/cases
  • Custom electronic system and PCBs
  • LED lighting system and score display
  • Game control system and logic

Different fabrication processes learned during Fab Academy will be used throughout the project:

  • CNC milling for manufacturing the wooden structure
  • 2D design and laser cutting/engraving for the playing field
  • Laser cutting on MDF for the top cover and ramps for the ball return system
  • 3D design and printing for custom components
  • PCB design and CNC fabrication
  • Embedded programming
  • Mechanical and electronic system integration

The combination of all these techniques will allow me to fabricate most of the project instead of relying on external parts.

The project will be evaluated by testing both its technical functionality and the overall user experience.

Some evaluation criteria will include:

  • Correct operation and responsiveness of the flippers
  • Accurate goal detection
  • Reliable operation of the automatic ball return system
  • Proper score display and lighting effects
  • Successful integration of all mechanical and electronic systems
  • Quality of assembly and final appearance
  • Whether the game feels dynamic, balanced, and enjoyable for different users

Additionally, real user testing will be performed to identify possible improvements and detect any issues or areas that could be optimized.

This project shows how digital fabrication, electronics, embedded programming, networking, and system integration can come together to create a complete and playable product.

Beyond the current prototype, PinSocc Ball has several possible future evolutions, such as a mobile and web platform to store match statistics, manage players, and organize championships.

Other improvements could include an automatic ball elevator system, online rankings, additional game modes, and sound or haptic feedback to make the experience more immersive.

These developments could turn the project from a standalone arcade game into a more connected, scalable, and engaging gaming platform.

See the complete BOM table below

BOM (Bill of Materials)

No. Item Qty Unit € Unit $ Total € Total $ Source Link
Electronics
1 Xiao ESP32C6 3 4.99 Online Seeed Studio
2 RGB LEDs stipe WS2812 5V 3m 1 14.85 Online Bricogeek
3 Seimitsu Arcade button 24mm 6 0.35 Online Aliexpress
4 IR reflectance sensor 2 1.04 Online Aliexpress
5 Servo MG996R (metal) 4 3.40 Online Aliexpress
6 0.96 Inch OLED Module 12864 128x64 1 2.40 Online Fab Lab Inventory
7 Flat wire 4pins with conectors (3m) 1 2.25 Fab Lab Fab Lab Inventory
8 PCB 3 1.15 Fab Lab Fab Lab Inventory
9 Some PCB connectors 15 0.20 Fab Lab Fab Lab Inventory
10 2 wire cable (m) 2 0.45 Fab Lab Fab Lab Inventory
Electronics subtotal
Fabrication & assembly
1 15 mm Pine Plywood m2 0.65 24.30 Local supplier -
2 MDF 3 mm m2 0.33 7.55 Local supplier -
3 3D printed parts (kg. PLA) 1.15 14.80 FabLab -
4 Two-layer acrylic m2 0.40 32.90 FabLab -
5 Vinyl stickers 1 0.90 FabLab -
6 3x16mm screws (50 units box) 1 2.30 FabLab -
Fabrication & assembly subtotal
Grand total

System and user diagrams

System diagram
System diagram -AI Generated- (size: 0 Kb -click to enlarge-).
User flow diagram / User experience
User flow diagram / User experience -AI Generated- (size: 0 Kb -click to enlarge-).

Downloads

Vector files used for laser cutting, engraving and vinyl cutting processes.
Main upper wooden structure of the machine (CNC).
case_up.ai
Editable .ai file for cnc milling.
case_up.dxf
DXF version for cnc milling.
case_up.crv (Cut 2D)
Cut 2D Pro toolpaths.
case_up.nc (GCode)
GCode file.
Lower wooden structure of the machine (CNC).
case_down.ai
Editable .ai file for cnc milling.
case_down.dxf
DXF version for cnc milling.
case_down.crv (Cut 2D)
Cut 2D Pro toolpaths.
case_down.nc (GCode)
GCode file.
Top MDF cover
Playing field design including engraving and cutting references.
2D files for the ramps that guide the ball movement inside down case.
Graphic files used for decorative vinyl stickers and visual identity.
stickers.cst
All sitckers in Roland Cut Studio software
logo_h.svg
B/W horizontal logo.
logo_v.svg
B/W full logo.
Custom 3D printed components designed specifically for PinSocc Ball.
Rounded corner to eliminate angle.
Main 3D printed case used for main PCB, oled and control game buttons.
Goal housing used to contain and protect the goal detection system, player buttons and PCB.
Parts to cover, protect and guide wires inside PCB cases.
Player-controlled flipper used to hit the ball during the game.
Support part used to hold the servo motors MG996R in the correct position.
Support part used to hold the servo motors SG90 in the correct position.
Hinge-like part used for mechanical articulation and movement. Downloaded from makerworld.com
Box that retains the ball after exit.
3D model of the ball downloaded from makerworld.com.
Schematics, PCB layouts and production files used to fabricate the electronic boards.
Main board that controls the central logic of the game, LEDs and OLED.
main_pcb_KiCad.zip
KiCad files
main_pcb_Gerbers.zip
Gerbers
main_pcb_PNGs.zip
PNG files used in modsproject.org for generating the Gcodes files
main_pcb_Gcodes.zip
Roland SRM20 GCodes
main_pcb_ibom.html
KiCad ibom
Boards used in the goal areas for detection and local interaction (buttons and servos).
goal_pcb_KiCad.zip
KiCad files
goal_pcb_Gerbers.zip
Gerbers
goal_pcb_PNGs.zip
PNG files used in modsproject.org for generating the Gcodes files
goal_pcb_Gcodes.zip
Roland SRM20 GCodes
goal_pcb_ibom.html
KiCad ibom
Source code used in the different XIAO boards controlling the game system.
Main firmware responsible for the central logic, score and communication.
Firmware uploaded to the board installed on the visitor goal side.
Firmware uploaded to the board installed on the local goal side.

2D file viewer

Main upper wooden structure of machine (CNC)

Main upper wooden structure of machine (CNC)
Main upper wooden structure of machine (CNC)

Lower wooden structure of machine (CNC)

Lower wooden structure of machine (CNC)
Lower wooden structure of machine (CNC)

Top DM cover (Laser engraving and cutting)

Top DM cover (Laser engraving and cutting)
Top DM cover (Laser engraving and cutting)

Playing field design including engraving and cutting references

Playing field design including engraving and cutting references
Playing field design including engraving and cutting references

2D files for the ramps that guide the ball movement inside down case

2D files for the ramps that guide the ball movement inside down case
2D files for the ramps that guide the ball movement inside down case

Graphic files used for decorative vinyl stickers and visual identity

Graphic files used for decorative vinyl stickers and visual identity
Graphic files used for decorative vinyl stickers and visual identity
Graphic files used for decorative vinyl stickers and visual identity
Logo
Graphic files used for decorative vinyl stickers and visual identity
Logo

3D file viewer

Main 3D printed case used for main PCB, OLED and control game buttons

Goal housing used to contain and protect goal detection system, player buttons and PCB

Rounded corner to eliminate 90º angle

Support part used to hold the servo motors in correct position. Options: MG996R & SG90 servos

Box thats retains the ball after exit

Arduino code viewer

Code · PinSoccB_Main.ino Show code
Code · PinSoccB_LOCAL.ino Show code
Code · PinSoccB_VISITOR Show code

Final assembly and installation

Down wood case
Down wood case

Down wood case

Once all the parts had been milled, I lightly sanded them to improve the finish and remove any small imperfections. With the pieces ready, it was time to assemble the lower cabinet.

Since the entire structure was designed as a press-fit system, all the parts could be joined together without the need for screws, glue, or any other fastening elements. Using a rubber mallet, I carefully fitted each piece into place, making sure that every joint was fully seated and aligned.

The use of dogbones in the internal corners also ensured that the parts fit together correctly despite the diameter limitations of the milling tool used during fabrication.

Once the assembly was completed, the result was a strong and rigid structure that would serve as the foundation for all the mechanical and electronic components of the project.

Upper wood case
Upper wood case

Upper wood case

The next assembly stage was building the upper cabinet, which forms the visible structure of the playing field. Just like the lower cabinet, all parts were designed using a press-fit system, eliminating the need for screws or adhesives.

This section consists of the four milled perimeter panels. Each panel includes an internal slot designed to hold the playing surface, which had previously been laser-cut and engraved from a bi-layer board.

To make the assembly process easier, I first joined the two long side panels and one of the short side panels. With the structure partially open, I was able to slide the playing surface into position through the slots until it was fully seated.

Once the playing surface was correctly aligned, I completed the assembly by installing the final side panel, closing the structure and securely holding the playing field in place.

Upper wood case assembly (video size: 0 Mb).

High quality video and 1x speed available on my YouTube channel ↗️.

Ramps Assembly
Ramps Assembly

Ramps Assembly

The next step was assembling the ramps responsible for guiding the ball back into the playing area. These parts were laser-cut from 3 mm MDF and designed following the same press-fit philosophy used throughout the project, making both assembly and maintenance straightforward.

The three ramps—the two side ramps and the central ramp—were assembled from several interlocking parts that fit together without the need for additional fastening elements. Once assembled, they were inserted into the lower cabinet.

Like the rest of the structure, the ramps were designed to fit directly into dedicated slots within the cabinet, remaining securely in place through friction alone. This resulted in a rigid and well-aligned assembly, ensuring the ball would follow the intended path during gameplay.

Corners
Corners

Corners

The four corners of the playing field were manufactured using 3D printing. Their purpose is not structural but rather to help redirect the ball toward the hand flipper area whenever it reaches the corners of the playfield.

Since these parts are not required to support any significant loads or mechanical stress, their installation was very straightforward. I fixed them in place using double-sided adhesive tape, which provides more than enough holding strength for normal gameplay.

Once installed, the corners blended seamlessly into the playing surface, helping the ball move more smoothly around the field and preventing situations where it could become trapped or lose momentum.

Corners installation (video size: 0 Mb).
Top cover
Top cover

Top cover

This was one of the most time-consuming and delicate parts of the assembly process. The top cover is made from 3 mm MDF and includes a laser-engraved pattern on its rear side that acts as a routing guide for the wiring.

The purpose of these engraved channels is to carry the two-wire power cable from the main PCB located in the center of the machine to the two goal-detection PCBs positioned at each end of the playing field. To secure the cable along its path, I used hot glue, which provided a simple and reliable fixing method without requiring additional mechanical fasteners.

Power cable (video size: 0 Mb).

Once the power wiring was in place, I installed the four LED strip sections in their designated positions and connected them together to create a single lighting system.

Special attention had to be paid to the cable exits from each LED section, as they needed to align with the recessed areas designed into the upper wooden structure. This ensured that the cover would sit correctly during the final assembly.

To keep everything organized throughout the process, I used painter's tape to temporarily secure the interconnection wires between LED strip sections and to identify each segment according to its function within the system, distinguishing between the side bands and the goal areas. This made the final wiring and system integration much easier and helped prevent connection mistakes.

Top cover
Top cover
Servos
Servos

Servos

The servos were installed using the custom 3D-printed brackets specifically designed for this purpose. These supports allow the motors to be mounted securely while maintaining accurate positioning during gameplay.

The installation process consists of positioning each servo beneath the playing field and carefully adjusting its height until the servo spline protrudes through the corresponding opening in the playfield. Achieving the correct position is important to ensure proper alignment with the hand flipper mechanism.

Once the desired height is reached, the bracket is secured to the wooden structure using screws, leaving the servo firmly mounted and correctly aligned with the game mechanism.

Finally, the servo cable is routed through its dedicated opening and into the interior of the machine, ready to be connected to the control electronics during the final integration stage.

Electronic Cases
Electronic Cases

Electronic Cases (main and goals)

The next step was installing the three 3D-printed enclosures that house all the electronics of the project. These cases contain the PCBs, control buttons, connectors and, in the case of the main enclosure, the OLED display.

Installing each enclosure is straightforward because both the wooden structure and the cases themselves include a rectangular cable pass-through designed to align during assembly. Once properly positioned, each enclosure is secured to the wooden structure using screws.

For the Main Case, I first routed the two cables that connect to the Goal Boxes/Cases. I then installed the OLED display and the control buttons in their dedicated openings. Once all external components were in place, I connected them to the main PCB and secured the board to the integrated mounting points inside the enclosure.

For each Goal Case, I routed the cables coming from the two servos and guided them to the upper electronics area. I also installed the control buttons and the power cable arriving from the Main Case. Next, I mounted the infrared sensor inside its dedicated holder and routed its cable toward the upper section of the enclosure.

With all components installed, I connected everything to the corresponding PCB and secured the board to the mounting supports integrated into the enclosure. This left all the electronics protected, organized, and ready for the final integration and testing stages.

Handflipper
Handflipper

Handflipper

The hand flippers are installed once the servos have been correctly mounted and aligned with the openings in the playing field.

Each hand flipper must be fitted onto the servo spline, ensuring that it is oriented in the correct operating position. It is recommended to verify the servo resting angle beforehand so that all flippers remain properly aligned when the system is in its idle state.

Once the correct position has been confirmed, the hand flipper is secured to the servo using the central screw supplied with the motor. This procedure must be repeated for all four game mechanisms.

After installation, it is advisable to perform a manual movement test to verify that the flippers can travel through their full operating range without interfering with the playing surface or any other mechanical components.

Ball exit box
Ball exit box

Ball exit box

The Ball Box is installed at the ball exit area located inside the lower cabinet. This 3D-printed component is responsible for collecting the ball at the end of its return path and positioning it correctly for the next launch.

It is important to verify that the Ball Box is correctly positioned relative to the ramp exits to ensure a smooth transition of the ball into the compartment.

Once installed, it is recommended to perform a simple test by rolling a ball through the return system and confirming that it reaches the Ball Box correctly, without any unwanted friction or blockage points.

Hingle
Hingle

Hingle

The final step of the mechanical assembly is the installation of the hinges that connect the upper cabinet to the lower cabinet. These hinges allow the playfield to be opened in a manner similar to a pinball machine, providing access to the interior for maintenance, adjustments, and repairs.

To install them, both sections of the structure must be properly aligned before securing the hinges with screws. Once mounted, it is advisable to verify that the cabinet opens and closes smoothly and that no mechanical interferences are present.

As an optional addition, front latches can be installed to keep the cabinet securely closed during operation. In my case, I added two metal latches on the front side of the machine to prevent accidental opening while playing or transporting the project.

With this step completed, the main mechanical assembly of the project is finished, leaving the machine ready for final testing and commissioning.

Future evolutions

The future evolution of PinSocc Ball is focused on turning the current prototype into a more connected, automated, and engaging game experience.

One possible improvement is an app and web platform where players could store match statistics, check previous results, manage users, and organize small championships or tournaments.

Another important evolution would be an automatic ball elevator system, using a worm gear mechanism to return the ball to the playing field without manual intervention.

The project could also include online rankings, additional game modes, and sound or haptic feedback to make the gameplay more immersive, competitive, and replayable.

License

CC BY-NC-SA 4.0: Attribution - NonCommercial - ShareAlike 4.0 International