hero shot

Week 17 – Applications and Implications, Project Development

This week's task is to propose a final project masterpiece that integrates the range of units covered. I’m continuing with the final project I originally planned on day 1 of Fab Academy. The task now is to answer the following questions:

What will it do?

An electromechanical game where pressing a button launches a ball upward. The ball is hit with a bat, and the aim is to shoot the ball through a loop target. The loop detects the ball going through, lights up, and increases the score counter on the OLED screen. The target rotates to make the game more difficult.

Who Has Done What Beforehand?

Pinball machines are perhaps the closest type of game to mine. Several have been created in Fab Academy (listed below). The most important takeaway from reviewing these projects was understanding how much can realistically be accomplished within the Fab Academy time frame.

  • Joni Rajala (2024) — especially his documentation for the molding and casting week was helpful when I was creating the bat for my game.
  • ZhiRay Wang (2024) — while inspired by the idea, I pursued a different aesthetic, avoiding a heavy woodworking look and focusing on playability.
  • Yoshihiro Asano (2021) — a clean and well-executed design.
  • Zaria Smalls (2018) — shows that larger-scale projects can also be done in Fab Academy. I chose to keep my project desktop-sized for convenience.

At least one arcade-style basketball game has also been made:

  • Cristian Loayza (2024) — this project features a strong overall appearance. I aimed to build on it by adjusting the proportions so the ball appears more balanced in scale, and by improving the ball detection sensor in the target loop.

What will I design?

  • Target loop with a servo and optical gate
  • Fan mechanism for ball flotation (using a commercial drone fan)
  • Mechanical bat system (a bevel gear from Thingiverse was reused and modified)
  • Software for game logic and display with help of ChatGPT
  • Outer structure and visual decorations

What materials and components will be used? Where will they come from? How much will they cost?

    Material/component + link Quantity Cost
    PLA filament ~1 kg ~50 €
    OSB board 11x2600x1197 mm ~30 €
    MG996R servo motor 1 15.00 €
    Neopixel 30 cm ~10 €
    LED 850 nm 1 $1.09
    Phototransistor 1 $0.34
    BR1407 drone motor 1 ~$15
    Sitela BL20A ESC 1 ~15 €
    FR2 board 1 2 €
    Xiao ESP32-C3 2 2 x $4.99
    2.42" OLED display 1 $16.99
    Illuminated switch 1 2.20 €
    USB hub 1 $30
    Total ~200 €

    What parts and systems will be made? By what processes?

    • PCBs: milling, UV printing
    • Target loop and various small pieces: 3D printing
    • Bat: molding and casting
    • Casing: milling
    • Score board holder: laser cutter
    • Score board labels: vinyl cutter

    What questions need(ed) to be answered or resolved?

    • Should I use the casing designed during Week 7? (I did.)
    • Can I use glue to attach the casing pieces? (Not much need for glue, the CNC-milled joints are quite sturdy.)
    • The Week 7 casing was designed for 11 mm OSB. Are design modifications needed for 12 mm birch plywood? Should I use laser-cut thin wood for the decorations instead? (I used 11 mm thick OSB and painted it black to improve the appearance.)
    • Is the playing field size sufficient? (Yes.)
    • What should the name of the game be: Fan Baseball or BASEketball? (The former.)
    • Where should the final positions of the game elements be to make the game fun and playable? (I tested different positions in a prototype and transferred the chosen layout into the Fusion 360 model.)
    • How effective can ball flotation be, and how high does the tube need to be? (The final design works quite well.)
    • Should the fan remain in the originally designed location, or be moved to the target side with the tube? (Moved to the target side: provides a fast return for hitting with the bat.)
    • How should the full software be efficiently structured? (The modular design with two microcontrollers helped keep the overall software clear and manageable.)

    How will it be evaluated?

    • How well do the subsystems function (bat mechanism, target operation, software and display, score memory, etc.)?
    • Is it playable?
    • How is the overall appearance/design?
    • What is the quality of the documentation?
    • Minimum features that would make the project a success:
      • Ball is possible to hit with the bat
      • Detection of ball going through the target
      • Score counter

    What tasks have been completed? What tasks remain?

    • PCBs: 100%
    • Target loop: 100%
    • MicroSD storage: 100%
    • Wiring: 100%
    • Bat: 100%
    • Button for fan: 100%
    • Software: 100%
    • Fan: 100%
    • Net: 100% (I haven't added it to the game yet, as the ball doesn't bounce around much after all.)
    • Bat bevel gear system and connection: 100%
    • Tube system for floating: 100%
    • Casing: 100%
    • Internal structures: 100%

    What has worked? What hasn't?

    • PCBs: worked well, except for some issues during UV printing one board
    • Target loop: worked surprisingly well on the first try
    • Bat: very nice
    • Fan: computer fans were not powerful enough, one drone fan was incompatible with 3.3 V PWM. High current needs, but a suitable drone fan was finally found.
    • Button for fan: Worked right away. I connected the four pins so that the internal LEDs light up when the button is pressed.
    • Bat bevel gear system: I couldn’t find the correct bearings for this Thingiverse bevel gear, so I made an adaptor to fit the available bearings. I also modified the bevel gear housing to allow the bat to be controlled from the side of the game.
    • Net: Ender printed it well, had surprisingly many issues with other printers
    • Software: ChatGPT has been a big help
    • Wiring: Used TE Connectivity AMP connectors for digital connections and secured the wires with zip ties.
    • MicroSD: initially worked, then stopped responding, finally fixed it.
    • Tube for floating: It was difficult to get stable and strong lift, but eventually the ball floated well enough for enjoyable gameplay.
    • The design was based on 11 mm OSB and was not parametric. Birch plywood of the same thickness was not easily available, so I used OSB and painted it black, which gave a nice looking result.

    What will happen when?

    This week

    • ✅Minimum software functionality complete
    • ✅Fan airways and button software working
    • ✅Bat system fully operational
    • ✅Improve wiring and connectors
    • ✅Try to fix microSD issue
    • ✅Finalize casing approach
    • ✅Complete local evaluation

    Next week

    • ✅Build casing
    • ✅Finalize fan airways and internal ball guidance
    • 🟡Finish global evaluations

    Final week

    • ✅Finalize final video and slide

    What have I learned?

    • How to build a large system with custom 3D design and embedded electronics
    • Multiple fabrication methods: 3D printing (including design), laser cutting, milling (large stuff and small details), molding and casting , vinyl cutter
    • Embedded system development
    • Parametric design
    • Version control with Git
    • Increased an understanding of what can be achieved in a certain timeframe