The interactions that go through the Arduino impart an obvious delay but the Arduino is necessary given the limited capacity of the RPi GPIO bus. What I am doing, however, is offloading some of the above mentioned functions, though not all. I am also using the GPIO bus to light up a RGB LED to visually show some status indications as the Python script runs.
All this means a number of wires connected to the GPIO bus. Since it is critical that I be able easily remove the RPi from its resting place on the 'Bot to gain access to the Arduino and Explorer PCB I also needed some way to easily disconnect and then reconnect the GPIO bus.
First I ordered a GPIO cable. Since it only came with one connector I had to also order a 26 way IDC Ribbon Cable Connector that I attached to the end of the GPIO cable with the connector facing up.
Next, I ordered a Right Angled IDC PCB Box Header to which I am able to connect my leads on the 'Bot side. This connector allows me to easily mess with things during development and allows the RPi to be easily disconnected and reconnected as well.
I am not using power from the GPIO bus as everything is powered from the Explorer PCB. I am using one of the GPIO 5v power pins to feed voltage readings to the Arduino. The other 5v pin, and the 3.3v pin, are protected with a sawed off jumper connector to prevent any possible RPi frying short circuits.