FlexSEA Wiki


User Tools

Site Tools


Testing with Real Hardware: Important Safety Warnings

FlexSEA is designed for wearable robotics. While some of the initial development and testing can be done only with USB power, at some point you will connect a power supply or a battery and one or more motors to the circuit. Before doing so, please read this section carefully. Ignoring this advice could result in broken electronics, robots, computers, or in physical injury.


Note: to simplify the text we will use +VB to refer to batteries as well as power supplies.

USB can be used to stream data, and to power the logic portion of the circuits. If you aren't using +VB you may connect the circuit directly to your computer. Always keep in mind that this is experimental hardware and that it is often used without a protective casing; using a USB hub is a cheap insurance policy. A powered hub with a power switch is recommended. It will protect your computer, and it will supply enough current to power all the microcontrollers.

Things start to be dangerous when you decide to connect +VB. What happens if your power ground connection opens (accidental disconnect, safety protection of your power supply, blown fuse, etc.)? It is likely that the only current path available is via USB. It is not designed to support the tens of amps that can be seen when using a motor, and it is likely to be damaged. Using a powered hub adds extra protection, but the degree of protection depends on the specific part number. To be safer, always use an isolated USB adapter (ex.: SMAKN USB Isolator USB Digital Isolator Isolation USB to USB Industrial Isolator)

TL;DR Always use an isolated hub, or a hub and an isolator.

Workaround? If your circuit support Bluetooth use it to stream instead of USB. Using Bluetooth

Programmers and debuggers

Same issue as above, and same recommandation. Isolating your hub is the easiest way to prevent issues when you have a USB connection to the GUI and a programmer connected.

Power supplies

Doing your initial motor tests with a power supply instead of a battery is generally safer, as you can more easily program current limits. Our favorite power supply for benchtop, low-power development is the BK 9110 100W 60V/5A power supply.

We use it as-is, directly connected to our Actuator package, for very simple tests: testing sensors, finding poles, making a motor spin in open loop, etc. Many switch-mode power supplies, such as the 9110, have two issues with motor applications. First, the peak currents required for agressive controllers (ex.: position controller with step input) will trip the current limit. The power supply will reduce its voltage to limit the current. Second, they are not designed to handle regenerative currents. The voltage might spike, tripping the over voltage protection.

A power supply that goes in a temporary protection mode can lead to instability and unexpected behaviors, as the control loops try to compensate for the lower bus voltage.

The simplest workaround is to add a capacitor bank right next to your circuit. We have a few banks built with high-quality, low-ESR electrolytic capacitors connected in parallel. Anything above a few thousand µF will do.

During development, always monitor +VB and Battery current in the GUI. Your bus voltage cannot be allowed to swing by more than a few volts.

Once you are ready to test more dynamic applications, put your small power supply aside and switch to a beefier unit, or to batteries.


Batteries are extremely dangerous! The fact that Youtube has 304,000 results for “battery explosion” and 3,630,000 for “battery fire” should make this point clear. This section will cover what's specific to FlexSEA, not general battery safety.

Never let your circuit drain a battery below its minimum discharge level. Use a battery with a protection module, and/or make sure to use a Battery Board or a board that has a Regulate with the right minimum voltage programmed. Low Voltage Protection

Program the lowest I²t value that will let you run your experiment. I²t current limit: Programmable Fuse

dev.txt · Last modified: 2018/03/16 16:37 by jfduval