Enhanced Tail Project – Update January 2022

Bleddyn, Luci, and Hebi-chan

Hello everyone! We’re here representing one of the newest endeavors from the Freedom of Form Foundation, the Tail Project. Our focus for this project is to improve upon the prosthetic tails currently on the market by allowing greater control to users. While there are a few offerings on the market, we feel that there is a current gap in authentic maneuverability and hope to build the foundations to a future of fully realistic tail prosthetics.

Over the past few months we have laid a lot of the groundwork down for our future progress, researching different approaches we might use and narrowing them down to the most promising ones. The approach for this initial outing is electromyography (or EMG) readings that our tail apparatus will use to interpret muscle contractions into real movements. This approach will allow us to hopefully make an affordable, non-invasive next generation prosthetic tail.

Recently, we have sent equipment out to our engineers and they have been getting used to the devices, making sure they were working properly and developing the set up for our ongoing research. While it is still early in our project’s lifespan, we have been able to take some preliminary muscle readings with our set up from arm muscle contractions and hope to start on more relevant data collection within the coming weeks and months.

The rest of this update will focus on sharing our initial validation steps, methodology and device set up and was written by our engineering team.


Device assembly

The device we are using to take measurements of the muscle activity is made up of two major components:

  1. An Espressif Systems ESP32 microcontroller development board (model number ESP32-DevKitM-1): Used for onboard data processing and transmission via Bluetooth/Wi-Fi with extra I/O pins for expansion with further capabilities.
  2. An Advancer Technologies MyoWare muscle sensing board (model number AT-04-001): For picking up and amplifying signals of muscle activity.

For our MyoWare set up, we are using an add-on board that allows us to connect an electrode cable to the device for ease of use and better electrode positioning on the body. The add-on board was attached to the main MyoWare board using headers which were soldered on to the specified connection points between the main and add-on board.

Then, wires were soldered to the cable add-on board to connect them to a breadboard in which the ESP32 microcontroller board was inserted into. The benefit of using a breadboard is the ability to rewire the circuit to use different pins and add extra functionality through including new components.The wires that connect the ESP32 to the MyoWare provide power and data lines between the two components. The wiring setup we are currently using is as follows:

MyoWare ESP32
Positive (+) ———— 3.3 Volts (3.3)
Negative (-) ———— Ground (GND)
Signal (SIG) ———— Pin 39 (39)
Ground (GND) ———— Ground (GND)
Raw Signal (RAW) ———— Pin 37 (37)


Finally, this assembly was placed into a modified plastic shell to protect the components from unwanted movement and damage. To begin using the device, you must provide power to it through a USB cable. The way we are choosing to do this is through a USB battery bank in order to have complete isolation from AC wall current, and eliminate as much electrical noise from the circuit as possible.

The kit we used additionally came with a shield pin that was redundant in our build and was therefore left unconnected.

Figure 1

Example setup of the MyoWare device as tested on someone's arm.

Example setup of the MyoWare device as tested on someone’s arm.

Using the device

For our initial verification tests of the device, we aimed to pick up a signal from one of our biceps muscles. To do this one of our Engineers, Bleddyn wrote software for the device using the Arduino IDE (Integrated Development Environment) and programming language. This code allows us to read both the raw and enveloped signals coming from the device, over both a serial bluetooth connection and a USB serial connection. The envelope measurement is a rectified (converted to absolute value) and integrated (smoothed) version of the raw measurement. This is done by first reading the analog input voltage on both of the pins connected to the raw data and envelope data coming from the MyoWare, and then writing these values to serial, along with a timestamp for logging purposes. This code was then uploaded to the ESP32 using ESP32-Arduino libraries.

Usage of the device involves the placement of three electrode pads onto the body. Then, the ends of the electrode cable are attached to each electrode. The cable is color coded to signify the purpose of each electrode. The electrodes should be placed as follows: One electrode on the middle of the muscle, connected to the red wire of the cable, one electrode at the end of the muscle, connected to the blue wire of the cable, and a third electrode to be used as a reference point for the signals, connected to the black wire of the cable. For best connection, the pads must be placed on skin that is clean and free of hair.

Note that on the MyoWare board, there is a potentiometer used to adjust the sensitivity of the device. This was not altered or adjusted. After the electrodes were placed, we powered the device via the aforementioned battery pack, and connected a phone to the device using Bluetooth. This allowed us to use a serial data logging app to record and timestamp the data, and export it to a text document. Then, Bleddyn was able to run the text document through a script which converted the raw values into a readable graph.

Results and Discussion

We recorded one flex–relax cycle of Luci’s biceps muscle using the MyoWare device. Corresponding to the beginning of the flex motion, the envelope reading increased above 500 units and returned to zero after the muscle was relaxed (Fig. 2a). The raw signal, from which the envelope was derived, shows an increase in amplitude from 20 units up to 100 units while the muscle was contracted (relative to a baseline near 1740 units; Fig. 2b).

Figure 2

Myoelectric signal readings.

The aliasing visible in the raw signal indicates that our sample rate was too low to capture the high-frequency behaviour of this signal. The aliasing also appears to be inconsistent, perhaps due to an unpredictable latency of the wireless data stream. We suspect this issue could be resolved by either recording the data to a peripheral storage device (e.g., SD card) or directly to the computer via USB.

This experiment demonstrates the ability of the MyoWare device and ESP32 microcontroller to record the flexing behaviour of a large muscle. Future work will investigate the effects of electrical grounding and electrode contact on the levels of noise and reproducibility of the recorded signal. With improvements in sensitivity and reliability, we will target muscles in the lower back for their potential to enable biomimetic control of a prosthetic tail.

Figure 3

Artist’s concept of a motorized prosthetic tail with myoelectric contacts, enabling the tail to respond to muscle activation in the user. By Dragonfeathers!

Artist’s concept of a motorized prosthetic tail with myoelectric contacts, enabling the tail to respond to muscle activation in the user. By Dragonfeathers!


Bleddyn led selection of equipment, device programming, and data visualization. Luci assisted with equipment selection, collected the data, and tested the equipment under different conditions. Hebi-chan coordinated schedules, team communication, and project administration. Syralth and Zennith advised on study design. All team members contributed to the drafting of this update. This work was made possible by the generous support of our donors via Patreon.