To communicate with crow we’ll use
druid, a command-line tool that lets you send & receive text, as well as run & upload scripts.
First we’ll collect & install a few tools, starting with
Python which is the environment that runs
druid. Don’t worry, you don’t ever have to type any Python code into
druid requires Python 3.5+, but let’s get the most recent version (3.8 as of this writing, November 2019):
- macOS: download from the Python website
- Windows: search
Python 3.8in the Microsoft Store (it’s free)
- the Microsoft Store is the most straightforward way to install Python on Windows, but if you choose to install from the Python website directly then please follow these instructions
- Linux: in a terminal run
sudo apt-get install python3 python3-pipor equivalent
Now load up a terminal so we can check Python is installed and get the next pieces:
- macOS: Open
- Windows: Use
PowerShelland open by right-clicking and
Run as administrator
- Linux: Your choice!
gnome-terminalis likely your default
Check if Python is installed and working:
Which should print
Python 3.8 or something similar. If this doesn’t work for you, try removing the
3 and just run
No luck? Post to the lines thread & we’ll figure it out (and update this doc).
Now it’s time to install
In a terminal, execute:
pip3 install monome-druid
NB: If you see an error like “ERROR: Could not install packages due to an EnvironmentError…”, try running the command with
sudo to gain the required privileges:
# you'll be asked to enter your password after typing this: sudo pip3 install monome-druid
Now druid should be ready to use, you might need to close and reopen the terminal to get access to it.
To update when there’s a new release, use
pip3 install --upgrade monome-druid
NB: If you see an error like “The script druid is installed in ‘/Users/your/Library/Python/3.8/bin’ which is not on PATH…”, you can open up
~/.zshrc and add this line:
export PATH="$PATH:/$HOME/Library/Python/3.8/bin". Note macOS switched from bash to zsh with 10.15 (Catalina.) If you on on a previous version of macOS, you will probably have to add this line to your
In PowerShell, execute:
python -m pip install pyserial asyncio prompt_toolkit
python -m pip install --upgrade setuptools
python -m pip install monome-druid
To update when there’s a new release, use
python -m pip install --upgrade monome-druid
After the installation is complete, you may see a message like this one:
WARNING: The script druid.exe is installed in ‘C:\Users\USERNAME\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\Scripts’ which is not on PATH.
If you do, copy the entire path listed (the stuff between the
's), open your Start menu, search “path” and select “Edit the system environment variables”.
On the dialogue that appears, click the Environment Variables button. In the “User variables for USERNAME” dialogue box, select Path and click Edit. On the next dialogue, click the New button, and paste in the path you copied earlier.
Click OK until all the dialogue boxes are gone.
On Windows 7, druid may be unable to connect with crow. Try using Zadig (instructions here) to install the “USB Serial (CDC)” driver instead of the “WinUSB” driver.
Let’s load up
druid to test if everything works as expected. With crow connected to your device with USB and your modular case turned on, execute:
You should see druid open with the following message up top:
//// druid. q to quit. h for help <crow connected>
If you see
<crow disconnected> instead, make sure your modular case with crow is turned on, and the USB cable is connected.
druid responds with
can't open serial port you probably don’t have the required permissions to open the device.
can't open serial port you probably don’t have the required permissions to open the device. To remedy this add yourself to the correct group, which can be determined by running (on Linux):
ls -l /dev/ttyACM0 crw-rw---- 1 root dialout 166, 0 Oct 9 20:28 /dev/ttyACM0 # ^ the group
In this case the group is called
dialout but it’s sometimes also called
To add yourself to the
dialout group run
sudo gpasswd -a <your username> <the group name found above>
After this logout and login again or simply restart.