Skip to content
Jack in TN edited this page Sep 28, 2017 · 23 revisions

MaslowCNC Wiki: Electronics | Firmware | Mechanics | Software | Community Garden

How to run Ground Control on a Raspberry Pi

These instructions were written using a Raspberry Pi 3, but the instructions should be similar for other operating systems.

Step 1: Download KivyPie

Download the latest KivyPie image from http://kivypie.mitako.eu/kivy-download.html

Step 2: Burn KivyPie to an SD Card

Burn the KivyPie to an SD card. There are many guides about how to do this on the internet, the official one is here.

Step 3: Login

Boot the Raspberry Pi and log in using the default user name and password: Login: sysop Password: posys

Note both the login and password are lower-case

Step 4: Connect to the internet

Connect your Pi to the internet by plugging in an Ethernet port or by following these instructions to connect to wifi from the command line.

If you have an issue, try a hint from the KivyFAQ (also see Section 7 below), and to set the SSID and password,

sudo pipaos-setwifi SSID PASSWORD then reboot.

Step 3: Install Kivy

As of this writing the current version of KivyPi does not actually come with Kivy installed for python 2 which seems like an oversight. Install Kivy with the commands:

sudo apt-get update

sudo apt-get install python2-kivypie

sudo ln -sf /usr/bin/python2 /usr/bin/kivy

Step 3a: Configure Kivy (correct double inputs)

To remedy double-typing of characters and double-clicking of buttons when using a USB HID input device (keyboard/mouse) edit the Kivy ini file with the following command:

sudo nano ~/.kivy/config.ini

Which will open the ini file in a text editor. Comment the line that reads

%(name)s=probesysfs,provider=hidinput

so it will now read

#%(name)s=probesysfs,provider=hidinput

Save the file by pressing Ctrl+x then y then press enter.

Repeat the process for root.

sudo nano /root/.kivy/config.ini

Step 4: Install PySerial

Install PySerial with the command sudo apt-get install python-serial

Step 5: Download Ground Control

Download Ground Control with the command git clone https://www.github.com/MaslowCNC/GroundControl.git

Step 5a: Configure Kivy theme to correct mouse click position

Backup the existing theme file with the command

sudo mv /usr/local/lib/python2.7/dist-packages/kivy/data/images/defaulttheme-0.png /usr/local/lib/python2.7/dist-packages/kivy/data/images/defaulttheme-0.old.png

Copy one of two theme files from Ground Control.

For the Maslow Theme, use the command

sudo cp ~/GroundControl/Images/MaslowTheme.png /usr/local/lib/python2.7/dist-packages/kivy/data/images/defaulttheme-0.png

For the standard Kivy Theme (with a replacement cursor), use the command

sudo cp ~/GroundControl/Images/ArrowTheme.png /usr/local/lib/python2.7/dist-packages/kivy/data/images/defaulttheme-0.png

Step 6: Launch Ground Control

Launch Ground Control with the command cd /home/sysop/GroundControl/ and sudo python main.py

NOTE: To not run with sudo, try adding the user to the dialout and input groups

$ sudo usermod -a -G input,dialout myuser

where myuser is the userID you use to run GroundControl. myuser would be sysop if running as user sysop.

Step 7: More

See the KivyPie FAQ for more information about how to do things like make Ground Control launch on startup turning your Raspberry Pi into a touch screen controller, or how to VNC into your Raspberry Pi.

One option to run GroundControl can be to define a small script in our home directory, (for example: gc)

gc - GroundControl Startup script
>cd /home/sysop/GroundControl
>python main.py
>cd

If you want it to run with sudo, use 'sudo python main.py' instead of the above 'python main.py'

To update GroundControl to the latest version, you can use a similar script, gc-update which contains

gc-update - GroundControl Update script
>rm -rf GroundControl.old
>mv GroundControl GroundControl.old
>git clone https://www.github.com/MaslowCNC/GroundControl.git

For example, to get a new updated GroundControl, from the home directory of sysop issue: >$ sh gc-update

The directory GroundControl.old is there for a temporary safeguard. If it fails, delete the partially installed Ground Control and put the old one back into place.

>rm -rf GroundControl
>mv GroundControl.old GroundControl

To start GroundControl using the gc script, from the sysop home directory command line, issue:

>$ sh gc

Clone this wiki locally