Today I printed out and glued together the first iteration of the ping-pong ball hopper that takes up most of the space of the robot.

The assembled hopper
Full of ping-pong balls, I can get 12-14 in without packing them manually. That seems like enough for now, but a larger hopper would be good.

The hopper loaded with ping-pong balls
Mounted on the robot. You can see the completed camera mount and Raspberry Pi mounted on the side in the foreground:

The ping-pong ball hopper mounted on the robot
