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 ProjectHardware 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
| Channel | Servo | Function |
|---|---|---|
| 0 | Slide | Deck forward/back movement |
| 3 | Scissors | Pin grab/release mechanism |
| 5 | Ball Return | Ball return door |
| 9 | Left Raise | Deck height (left side) |
| 11 | Right Raise | Deck height (right side) |
| 13 | Right Sweep | Lane sweep arm (right) |
| 15 | Left Sweep | Lane sweep arm (left) |
Wiring Diagrams
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 DownloadsConfiguration
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 diagnosticsLED Animation Modes
Troubleshooting
PCA9685 Not Detected
- Check I2C is enabled via
sudo raspi-config - Scan I2C bus:
i2cdetect -y 1 - Should show device at address
0x40 - Check SDA/SCL wiring (GPIO2/GPIO3)
- Verify VCC (3.3V) and GND connections
Servos Not Moving
- Verify PCA9685 is detected via I2C
- Check external 5V power supply to V+ on PCA9685
- Ensure common ground between Pi, PCA9685, and power supply
- Test with debug page slider at
/debug - Check logs for "PCA9685 initialized" message
WS2812 LEDs Not Working
- Must run with
sudofor DMA access - Check data pin connection (GPIO14, Pin 8)
- Verify 5V power supply capacity (10A+ for 106 LEDs)
- Check logs for "WS2812 initialized" message
Sensors Not Detecting
- Check 3.3V power to sensor
- Verify GND connection
- Use debug page to view raw sensor values
- Sensors use internal pull-ups (active LOW)
- Test sensor output with multimeter
INA226 Not Detected
- Scan I2C:
i2cdetect -y 1should show 0x40 (PCA9685) and 0x41 (INA226) - Check A0 pin is connected to 3.3V (sets address to 0x41)
- Verify SDA/SCL wiring (shared with PCA9685)
- Check 3.3V and GND connections
- If power readings seem wrong, verify shunt is 0.002Ω (R002 marking)
False Blockade Triggers
- The 200ms grace period should prevent startup triggers
- Check if motor startup spike exceeds the grace period
- Verify conveyor motor is not overloaded or stalled
- Check power readings on debug page Conveyor Power panel
- Logs show power readings:
Power monitor reading