Skip to content
A control system framework for personal fabrication.
Branch: master
Clone or download
Pull request Compare This branch is 17 commits ahead, 3 commits behind imoyer:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
notes.txt changing the name to pygestalt so that the easy install works ok on m… May 14, 2015


Python library for controling Gestalt Nodes with 086-005 firmware. A control system framework for personal fabrication.


Pygestalt is a Python library with examples that enables the use of high-level language (Python) to control low-level things. So far G-code was used to describe what a CNC machine should do, which motor to spin, set the target temperature of an extruder etc. Pygestalt enables you to create your own language for the machine you are building.


First make sure that your Gestalt Node is there with the 086-005 firmware installed.

Second make sure that you have Python installed. You can check that by opening Terminal and using the following command.

python --version

It should output a line similar to the one below.

Python 2.7.12

If that is not the case, consult the Python Beginners Guide or ask your favorite search engine!

Third make sure that you have the Python package manager or pip installed. Follow the pip installation guide or, again, ask your favorite search engine.

Fourth install Python serial library or pyserial. Open Terminal and use the command below.

pip install pyserial

Fifth (finally )download pygestalt. To do that open Terminal, navigate to your secret machine project directory and use the following command (oh yes, you should have Git). You can also click on the green button above and download a .zip archive.

git clone

Then you have to change directory to pygestalt by using the cd command.

cd pygestalt

Make sure that you are there by using the pwd (Print Working Directory) command. It should output a path with /pygestalt at the end.

Sixth install pygestalt. Run the following command to do that.

sudo python install

You can check if it is there with pip.

pip show pyserial

It should print some basic information about the pyserial library and its authors.

Seventh try it out! The best way is to pick the examples/machines/htmaa example, modify the and run it. Below is the line you should edit, look for the follwing part.

portName = '/dev/ttyUSB0'

Use ls /dev/cu* (on a Mac OS system) to find out your serial port. It should look similar to the one below.


Replace /dev/ttyUSB0 with the one you got, save and run the program.


It will ask you to identify the X axis by pressing a button on the Gestalt Node board. If your motor is connected, it should move there and back.

Congratulations if you managed to get it working. For any comments feel free to add an issue or you see things missing, submit a pull request. Many people will be and remain thankful.


You can’t perform that action at this time.