Alan,
I've made progress on extending your scratch interface with the Rover 5. I managed to develop a scratchx plugin that has nice clean command blocks that wait for a response before moving onto the next instruction (i.e. getting rid of the clunky broadcasts that used to have).
You can see the plugin at http://scratchx.org/?url=http://bennalar.github.io/rover-ext/rover.js but it won't currently work unless you're running the https://github.com/bennalar/digimakers_scratch_workshop/blob/master/scripts/scratch_js.py python script in the background.
It works fine for the simulator but I had lots of issues with the bluetooth stack so I gave up on that approach. I recently noticed that you've built a python library, so I'm thinking of adapting that instead to work with the scratchx interface. This also means that I can make use of the pi_camera_bot webserver code too as a bonus.
I started porting your code from https://bitbucket.org/DawnRobotics/raspberry_pi_camera_bot/src/89323d4120ea95c897a98948c62305d2ca508096/?at=master but then spotted that you have two branches new-experimental-rover and experimental-rover. I'm going to have a go at using the new-experimental-rover code on my robot to see how that works.
Am I taking the right approach here? I really want to get this up and working before the new term starts. It seems to make sense to use the updated python library rather than the old workshop code.
Cheers,
Phil