Documentation

Setup Guide

Complete hardware wiring and software installation guide for your Autobowl system.

Step 0: Get the 3D Printed Parts

This project requires the Mini Tabletop Bowling 3D printed automatic pinsetter files from Kickstarter. All mechanical components are 3D printed — no additional hardware needed except the PCA9685 servo driver board.

View Kickstarter Project
01

Hardware Requirements

The only electronic component you need to purchase separately is the PCA9685 servo driver board. All other components (servos, sensors, LEDs) are included with the Kickstarter kit or are standard Raspberry Pi accessories.

Main Controller

Raspberry Pi 4

  • 2GB+ RAM recommended
  • MicroSD card (16GB+)
  • USB-C power supply (5V 3A)
  • USB webcam (for pin detection)
  • HDMI display (optional, for kiosk mode)

PCA9685 PWM Board

16-channel, 12-bit PWM driver via I2C for reliable servo control

7 Servos

Deck raise, slide, scissors, sweep arms, ball return

Stepper Motor

Turret control with Hall effect sensor for homing

USB Webcam

For camera-based pin detection

Sensors

IR (pins), dual ball sensors (speed calc), Hall effect (home)

WS2812B LEDs

106 addressable RGB LEDs (4 strips) for lane & deck lighting

Servo Channel Mapping

ChannelServoFunction
0SlideDeck forward/back movement
3ScissorsPin grab/release mechanism
5Ball ReturnBall return door
9Left RaiseDeck height (left side)
11Right RaiseDeck height (right side)
13Right SweepLane sweep arm (right)
15Left SweepLane sweep arm (left)
02

Wiring Diagrams

03

Software Setup

Download Autobowl

Get the latest Autobowl software for your Raspberry Pi from our download page. Pre-built binaries are available for easy installation.

Go to Downloads
04

Configuration

Servo Calibration

Access the debug page at http://<raspberry-pi-ip>:8080/debug to:

  • Adjust servo positions with sliders (0-180°)
  • Test stepper motor movement
  • Monitor sensor values in real-time
  • Trigger LED animations (Strike, Comet, etc.)

Web Interface URLs

/Main scoreboard display
/new-gameStart a new game
/playersPlayer management
/debugHardware diagnostics

LED Animation Modes

offAll LEDs off
idleSolid white
strikeRed wipe → Flash → White
comet4-LED white comet
greenSolid green (fill ball)
05

Troubleshooting

PCA9685 Not Detected

  1. Check I2C is enabled via sudo raspi-config
  2. Scan I2C bus: i2cdetect -y 1
  3. Should show device at address 0x40
  4. Check SDA/SCL wiring (GPIO2/GPIO3)
  5. Verify VCC (3.3V) and GND connections

Servos Not Moving

  1. Verify PCA9685 is detected via I2C
  2. Check external 5V power supply to V+ on PCA9685
  3. Ensure common ground between Pi, PCA9685, and power supply
  4. Test with debug page slider at /debug
  5. Check logs for "PCA9685 initialized" message

WS2812 LEDs Not Working

  1. Must run with sudo for DMA access
  2. Check data pin connection (GPIO14, Pin 8)
  3. Verify 5V power supply capacity (10A+ for 106 LEDs)
  4. Check logs for "WS2812 initialized" message

Sensors Not Detecting

  1. Check 3.3V power to sensor
  2. Verify GND connection
  3. Use debug page to view raw sensor values
  4. Sensors use internal pull-ups (active LOW)
  5. Test sensor output with multimeter

INA226 Not Detected

  1. Scan I2C: i2cdetect -y 1 should show 0x40 (PCA9685) and 0x41 (INA226)
  2. Check A0 pin is connected to 3.3V (sets address to 0x41)
  3. Verify SDA/SCL wiring (shared with PCA9685)
  4. Check 3.3V and GND connections
  5. If power readings seem wrong, verify shunt is 0.002Ω (R002 marking)

False Blockade Triggers

  1. The 200ms grace period should prevent startup triggers
  2. Check if motor startup spike exceeds the grace period
  3. Verify conveyor motor is not overloaded or stalled
  4. Check power readings on debug page Conveyor Power panel
  5. Logs show power readings: Power monitor reading