Soccer Ball Kick - Assistive Technology

by artlish in Design > Game Design

16 Views, 1 Favorites, 0 Comments

Soccer Ball Kick - Assistive Technology

soccer-ball-kick-cover.png
ball-corner-right.bmp
ball-corner-left.bmp
ball-enter-right.bmp
ball-enter-left.bmp
ball-kick-left.bmp
ball-kick.bmp
ball-idle-right.bmp
ball-idle-left.bmp
Soccer Ball Kick

Play the interactive demo here: Soccer Ball Pass

Source code on GitHub: goonart/soccer-ball-kick

Downloads

Supplies

Here is everything you need to build the Soccer Ball Kick assistive game:

Adafruit Matrix Portal S3 (#5778)

Two 64x32 RGB LED Matrix Panels - 2.5mm pitch (#5036)

Small soccer ball plush from Amazon (modified into the assistive button)

Assistive momentary switch with a 3.5mm mono plug (any AT-style switch works — e.g., a clip-style accessibility switch)

Vertical Breadboard-Friendly 3.5mm Mono Headphone Jack (#4031)

USB-C data cable for power and code uploads

5V power supply (the Matrix Portal is powered through USB-C while coding and testing)

Tools: soldering iron, hot glue, and a small Phillips screwdriver.

Code & Sprite Animations

The game runs on CircuitPython. Drop the code.py file (attached to this Instructable and also in the GitHub repo) onto the CIRCUITPY drive that appears when the Matrix Portal S3 is plugged into your computer.

The animations are 8 small bitmap sprites: ball-idle-left, ball-idle-right, ball-enter-left, ball-enter-right, ball-kick-left, ball-kick (right), ball-corner-left, and ball-corner-right. Drop these .bmp files onto the CIRCUITPY drive alongside code.py. The sprites scroll across the joined 64x32 panels (a 128x32 playfield) and switch frames based on the button state.

All source files (code.py, sprites, and the HTML web demo) live here on GitHub: https://github.com/goonart/soccer-ball-kick

Hardware Wiring

The Matrix Portal S3 plugs directly into the back of one 64x32 LED matrix panel through its built-in HUB75 connector, so most of the wiring is already done for you. The second panel daisy-chains off the first using the short ribbon cable that ships with the panels.

Wiring summary:

1) Solder the included header pins to each LED matrix panel.

2) Seat the Matrix Portal S3 onto the HUB75 input of the first panel.

3) Connect the OUTPUT of the first panel to the INPUT of the second panel using the ribbon cable.

4) Connect the panel power leads (red to 5V, black to GND) to the Matrix Portal's screw terminals, or to a 5V supply for brighter use.

5) Plug the soccer ball plush button's 3.5mm jack into the breadboard. The breadboard's two wires (one data, one ground) are soldered to each Matrix Portal S3 so the button reads as a digital input pin (the code uses a single GPIO with internal pull-up; a press connects the pin to ground).

6) Power the Matrix Portal over USB-C from your computer for testing, or plug it into a 5V power supply for standalone play.

Test & Play - Connect to Wi-Fi

Almost there! The game itself runs offline on the Matrix Portal S3, but I also connected the board to Wi-Fi so it can be registered on the local network at BC's Campus School (the assistive game's new home). This makes it easy to push code updates without unplugging the device.

How to connect the Matrix Portal S3 to Wi-Fi:

1) On the CIRCUITPY drive, open the settings.toml file (create one if it doesn't exist).

2) Add two lines: CIRCUITPY_WIFI_SSID = "your-network-name" and CIRCUITPY_WIFI_PASSWORD = "your-password".

3) Save the file. The Matrix Portal will reset and join the network. Check the serial console (in the Mu editor or a terminal) to confirm it printed an IP address.

4) Register the board on the network the same way you'd register any new device (have the school's IT add its MAC address to the allow-list if needed). The MAC is printed on the back of the Matrix Portal S3 and also in the serial console at boot.

Now press the soccer ball plush! The ball sprite should kick across the panels each time the button is squeezed. Have fun, and enjoy gifting it to BC's Campus School.

Soldering & Breadboard Mounting

The plush button connects to the Matrix Portal S3 through a small breadboard so the wiring stays tidy inside the enclosure.

From each Matrix Portal S3 board, solder two short wires: one for the data line going to the assigned GPIO (GP1 in the case with S3) pin, and one for ground. Run both wires to the breadboard rails.

Wire a 3.5mm audio jack into the breadboard so its tip connects to the data rail and its sleeve connects to the ground rail. The plush button's 3.5mm plug then drops straight into this jack.

Mount the breadboard inside the enclosure (a dab of glue on the bottom or back piece works well) and route the wires so nothing pulls on the soldered joints when the lid is closed up.

Enclosure

The enclosure is laser-cut from 1/8" Baltic birch plywood and assembled in three pieces, sized to the 64x32 LED matrix footprint so the panels sit in-grooved, flush behind the front face.

Exact dimensions will depend on your build — measure your assembled HUB75 stack before cutting.

Front piece: cut to a curve and slid in underneath the side grooves of the HUB75 panels themselves so it provides additional structural reinforcement to the matrix sandwich. It is then glued in place.

Top and bottom pieces: cut only after the front piece is fitted and glued, so they can be matched to the exact curve of the bent front piece and cover it precisely.

Once all three pieces are glued together, the enclosure becomes a rigid shell that holds the LED panels, the Matrix Portal S3, and the breadboard wiring securely in place.