We study a programmable robotic part feeder that relies on a sequence of three conveyor belts to singulate and re-circulate parts. In industrial practice, belt speeds are set in an ad-hoc fashion. Experience with real feeders reveals that throughput can suffer due to (1) starvation where no parts are visible to the camera and (2) saturation, where too many parts are visible, which prevents identifying part pose or grasping due to obstruction by nearby parts. This motivates our search for a systematic approach to setting belt speeds. Our goal is to optimize throughput, measured in terms of how many parts per second are delivered from the robotic feeder. We describe a planar model of the belts with a Poisson arrival process to stochastically model how belt speeds affect throughput. Initially, we study the finite case where N parts are placed into the feeder and re-circulated until they are all delivered by the robot. Our first insight is that the vision belt should be run at maximum achievable velocity. We run simulations to empirically determine optimal buffer belt velocity as a function of lot size. Finally, we develop a theoretical model for the case where N = infinity, which approximates common usage where the buffer is replenished before it becomes empty. From this model, we derive the optimal buffer belt velocity and show that it produces throughput five times greater than that achieved with ad-hoc settings.