RevoPI (WA to control the turntable AND Revoscan simultaneously)


While I’m slowly building my own OpenScanTable, I have made my own poor-man version, which I named ‘RevoPI’. So far I can only guarantee that it works with Windows, no idea about MacOS.

As the name suggests, it is based on a Raspberry Pi. Best approach is to use a Zero, because it can get power from on the first microUSB port, and use the OTG connection of the second microUSB. For other models, you will need a special hub as you must use the only available microUSB/USBc port for everything.

-It connects to the turntable via Bluetooth
-It connects to the laptop as an OTG keyboard. There are several tutorials in internet, but the one that worked better for me was Key Mime Pi: Turn Your Raspberry Pi into a Remote Keyboard ·

The approach I followed was to rely solely on CLI scripts. The script (written in Python) reads a text file (given as argument) which contains all the commands you want to execute:

Each line corresponds to a ‘Round’. Each round have the following parameters:

    • Tilt to a desired angle
    • Angle of each rotation step
    • Number of rotation steps
    • Delay between rotation steps
    • Delay between each operation in the round (except rotation)
    • Rotation speed
    • Rotation reset. What to do once all rotations have finished. You can reset to angle 0, to the angle at the beginning of the round or just do nothing.
    • Tilt reset. To return the tilt angle to the origin (or not)
    • Scanning mode. To act assuming that revoscan is configured in continuous mode (by default it assumes it is sigle shot mode)

RevoPI will send a ‘space’ stroke in the middle of a rotation step, or one at the beginning and one at the end if working in continous mode. Of course, Revoscan must be running, with a scan connected, and you need to put the focus on revoscan after launching the script on the RaspPI terminal.

In the example, there are four rounds:

  1. Tilt angle of -10, 5 steps of 5 degrees each. Rotation speed of 36 sec/round, delays of 2 secs. When finished, go back to the initial angle.
  2. Tilt angle of 0, again 5 steps of 5 degrees each, this time the delay is increased to 5 (to allow me more time to change the scanning mode in Revoscan… :wink:). When finished, again go back to the initial angle.
  3. TIlt angle of 0, this time just one step of 25 degrees, scanning in continuous mode. Leave the angle as it is at the end.
  4. Tilt angle of -10, 2 steps of 3 degrees each, scanning speed reduced to 60sec/turn. Reset tilt/rotation at the end

In the following video, you can see the how RevoPI interpreted those instructions:

Next steps will be to polish the python script and upload it in Github.

Many thanks to Michael Lynch (the creator of the OTG solution) and @SphaeroX , because he was the inspiration for my idea.




Great stuff here Roberto ! Thanks for sharing !


i hope we will get this control ability in the revocontrolapp soon otherwise i need a PI now :smiley: thanks for sharing and all the input


If you use this Android App you can set any control , it is so far maxed out for all functions the dual axis offers.

now i gonna need an android phone too haha but i need one anyways to connect my gps to ntrip so i might have to now

1 Like

I just got new A droid for the new Revo Scan as well 24GB RAM 12+12

Works great.

interesting idea! It could also be work with and WebApp for Mobile Phones, than u dont need and extra Hardware!