How to get started with a set of MyoMuscles, Ganglia and Flexray2USBAdapter.

Cabling and Power


Check if:

  • all motor cables are plugged in correctly. There are 2 ribbon cables (grey and rainbow coloured) that connect each motor with its motor driver board
  • all sensor displacement cables are plugged in correctly
  • all motor driver boards are connected to power with common ground and power is turned off
  • all motor driver boards are connected to their respective ganglion (via SPI)
  • all joint sensors are connected to ganglia
  • all ganglia are connected to power with common ground and power is turned off
  • all ganglia are connected to the flexray bus
  • all power supplies are set to output at the very most 24V (for basic testing the 13 muscle MyoArm will run off a single 3A power supply)
  • the Flexray2USB adapter is connected to power with common ground and power is turned off
  • the Flexray2USB adapter is connected to the flexray bus
  • turn the power on and check if
    • all driver boards are lighting/flashing green
    • the joint has a blinking light whose frequency changes with the joint’s angular displacement
  • the software starts

Software Installation

To get started we recommend installing both the myo_blink and ros_control_boilerplate fork examples on top of the required flexrayusbinterface.

These examples require ROS kinetic to be installed on Ubuntu 16.04.

Allow your user to access the serial device

By default Ubuntu does not let you access your serial adapters. To change that we will add your user to the group ‘dialout’. Execute the following in a terminal:

sudo usermod -a -G dialout $(whoami)

This only needs to be done once.

Create a new workspace

Create a new folder that will contain your ROS / catkin workspace and all code.

source /opt/ros/kinetic/setup.bash
mkdir -p ~/MyoArm_ws/src && cd MyoArm_ws/src && catkin_init_workspace
cd ..

Now add the workspace to your ~/.bashrc so that it gets automatically sourced upon opening a shell:

echo 'source ~/MyoArm_ws/devel/setup.bash' >> ~/.bashrc

Install flexrayusbinterface

roscd && cd ../src
git clone -b develop
roscd flexrayusbinterface && ./


The ftd2xx driver does not get loaded automatically. In order to use it you need to either install our udev rules [1] (recommended):

roscd flexrayusbinterface && sudo ./

Or manually unload the standard drivers every time you re-plug the Flexray2USBInterface board:

sudo rmmod ftdi_sio
sudo rmmod usbserial

Install ros_control_boilerplate fork

roscd && cd ../src
git clone -b MyoArm


Also set the serial number in the corresponding yaml file as per Configure the myo_blink software example.. The yaml file is placed in

roscd ros_control_boilerplate/rrbot_control/config

Install all ROS dependencies

apt-get install -y ros-kinetic-rosparam-shortcuts ros-kinetic-ros-control ros-kinetic-ros-controllers ros-kinetic-control-msgs ros-kinetic-urdf ros-kinetic-control-toolbox ros-kinetic-robot-state-publisher libgflags-dev libncurses5-dev libncursesw5-dev wget vim

Build it

roscd && cd ..

ROS’ plentitute of terminals

For using ROS effectively, you will need a large number of terminals open at the same time. I recommend using the terminal app: terminator. Here you can split the screen into multiple terminals or add tabs. Once it is installed, see what a right-click allows you to do.

Install it using:

sudo apt-get install terminator -y