the compact rehamovepro system , depicted in fig.1 , addresses the need to alter the predefined waveform beyond amplitude , pulse width and frequency .
electrode arrays are directly supported through a demultiplexer extension , and semg can be recorded from the stimulation electrodes even during active stimulation .
the stimulation module is controlled by mcu1 , an arm cortex m4 microcontroller ( stm32f407 ; stmicroelectronics ) .
the task of mcu1 is to generate and monitor the stimulation waveform , as well as to control the emg protection and the demultiplexer .
the second microcontroller , mcu2 ( stm32f407 ; stmicroelectronics ) , is responsible for less safety - critical tasks , like receiving data from the emg front - end , communication with external devices , and the implementation of the software abstraction layers .
this separation ensures a reliable and safe pulse generation , regardless of any additional task that might be executed in parallel .
the device is battery - powered and can be operated at least 6h with a constant 50hz single - channel stimulation with 300s pulse width , 20ma stimulation current and 150v supply voltage of the current controller .
a secure memory ( sd ) card is available for advanced fes applications which require data logs to be stored .
the rehamovepro is capable to connect to bluetooth 2.1 devices and can receive sensor data or control commands from these devices .
the optional science adapter , depicted in fig . 1 , makes various digital input and output signals , like spi , uart and gpios , available through the i / o connector and provides the power supply for a demultiplexer . among the digital output signals
is the low active mute signal , which can be used to synchronize other devices with the electrical stimulation .
the usb connection as well as the i / o connection of the science adapter is galvanically isolated to prevent ground loops and to ensure patient safety .
the device features three abstraction layers : low - level , mid - level and high - level .
the low - level layer allows explicit manipulation of every aspect of the stimulation waveform and the stimulation timing but demands higher performance from the communication link and from the pc / tablet computer running the control program .
each stimulation pulse must be initiated by the control program , which enables individual , non - periodic stimulation patterns .
the mid - level layer implements a minimalistic command set with only the most common stimulation parameters .
the corresponding stimulation commands are generated directly by the mcu1 with the requested stimulation frequency .
the fact that the timing - sensitive generation of stimulation commands is done by the mcu1 reduces the performance requirements of the control program and the communication link .
the high - level layer is less precisely defined , since it is very application - specific .
common to all high - level applications is the fact that the fes control program runs on mcu2 , which facilitates mobile standalone fes applications .
for the low - level layer , a connection via usb is necessary to guaranty the desired performance , whereas for the mid - level and the high - level layer bluetooth wireless connections are feasible without loss of performance .
an important feature of the introduced stimulation system is the extensive level of control over the waveform used for electrical stimulation .
the desired waveform can be described by up to 16 characteristic points , which are connected by piecewise constant interpolation .
future development will also allow other interpolation forms besides the currently used piecewise constant interpolation . in fig .
any number of waveforms can be created this way , as exemplarily shown in fig .
the duration tdi of each point can be chosen in 1s steps between 10s and 4095s .
the current ii has a resolution of 0.5ma and is limited to 150ma at the highest .
however , the maximum current also depends on the resistance of the skin - electrode interface and the selected maximum supply voltage of the current control , which can be chosen from 30v to 150v in 30v steps .
having a current resolution of 0.5ma allows a more precise functional control and facilitates control strategies where a continuous control signal like the charge q = td  i is assumed .
the stimulation frequency is limited by the internal data processing duration and the duration of the stimulation pulse .
using four channels , the maximum stimulation frequency is as high as ~190hz , due to the single current source .
surface electromyography ( semg ) measurements are supported by two of the four stimulation channels through a protected 24bit emg front - end ( ads1294 , texas instruments ) , which supports sampling frequencies of 1khz , 2khz or 4khz .
the remaining voltage transients from the stimulation pulse can be removed with a non - causal high - pass filter .
the protection circuit can also be used to reduce the remaining voltage by shorting the pathways coming from the two electrodes , just after the stimulation pulse has finished . the start time and the duration of these shorting s
the voluntary part of the emg signal can be extracted from the filtered emg signal and used afterwards to trigger the electrical stimulation or even to control the stimulation intensity .
if the virtual emg electrodes within the electrode array differ from the last virtual stimulation electrode , an empty stimulation pulse command can be used to set the correct demultiplexer configuration .
all necessary support systems , like the power supply or the control system , are integrated into the stimulator .
the maximum stimulation frequency for the single channel stimulation with the 300s biphasic waveform over an electrode array is as high as 500hz , because of the additional set - up time of the demultiplexer .
however , the currently available demultiplexer supports electrode arrays with up to 61 elements . from these elements ,
48 are active elements , 2 are counter elements and 11 can be active or counter elements . because of the modular design , project - specific demultiplexer extensions with different element combinations can be developed with little effort .
the low - level and mid - level abstraction layers are directly supported by a dynamic or static linked c library , available for windows , linux ( 64bit and arm ) and os x. this library simplifies the integration into custom applications or environments like matlab / simulink , scilab / xcos , labview or in python .
such an integration is already available for simulink with support for the low - level layer as well as for the mid - level layer .
the compact rehamovepro system , depicted in fig.1 , addresses the need to alter the predefined waveform beyond amplitude , pulse width and frequency .
electrode arrays are directly supported through a demultiplexer extension , and semg can be recorded from the stimulation electrodes even during active stimulation .
the stimulation module is controlled by mcu1 , an arm cortex m4 microcontroller ( stm32f407 ; stmicroelectronics ) .
the task of mcu1 is to generate and monitor the stimulation waveform , as well as to control the emg protection and the demultiplexer .
the second microcontroller , mcu2 ( stm32f407 ; stmicroelectronics ) , is responsible for less safety - critical tasks , like receiving data from the emg front - end , communication with external devices , and the implementation of the software abstraction layers .
this separation ensures a reliable and safe pulse generation , regardless of any additional task that might be executed in parallel .
the device is battery - powered and can be operated at least 6h with a constant 50hz single - channel stimulation with 300s pulse width , 20ma stimulation current and 150v supply voltage of the current controller .
a secure memory ( sd ) card is available for advanced fes applications which require data logs to be stored .
the rehamovepro is capable to connect to bluetooth 2.1 devices and can receive sensor data or control commands from these devices .
the optional science adapter , depicted in fig . 1 , makes various digital input and output signals , like spi , uart and gpios , available through the i / o connector and provides the power supply for a demultiplexer . among the digital output signals
is the low active mute signal , which can be used to synchronize other devices with the electrical stimulation .
the usb connection as well as the i / o connection of the science adapter is galvanically isolated to prevent ground loops and to ensure patient safety .
the device features three abstraction layers : low - level , mid - level and high - level .
the low - level layer allows explicit manipulation of every aspect of the stimulation waveform and the stimulation timing but demands higher performance from the communication link and from the pc / tablet computer running the control program .
each stimulation pulse must be initiated by the control program , which enables individual , non - periodic stimulation patterns .
the mid - level layer implements a minimalistic command set with only the most common stimulation parameters .
the corresponding stimulation commands are generated directly by the mcu1 with the requested stimulation frequency .
the fact that the timing - sensitive generation of stimulation commands is done by the mcu1 reduces the performance requirements of the control program and the communication link .
the high - level layer is less precisely defined , since it is very application - specific .
common to all high - level applications is the fact that the fes control program runs on mcu2 , which facilitates mobile standalone fes applications .
for the low - level layer , a connection via usb is necessary to guaranty the desired performance , whereas for the mid - level and the high - level layer bluetooth wireless connections are feasible without loss of performance .
an important feature of the introduced stimulation system is the extensive level of control over the waveform used for electrical stimulation .
the desired waveform can be described by up to 16 characteristic points , which are connected by piecewise constant interpolation .
future development will also allow other interpolation forms besides the currently used piecewise constant interpolation . in fig .
any number of waveforms can be created this way , as exemplarily shown in fig .
the duration tdi of each point can be chosen in 1s steps between 10s and 4095s .
the current ii has a resolution of 0.5ma and is limited to 150ma at the highest .
however , the maximum current also depends on the resistance of the skin - electrode interface and the selected maximum supply voltage of the current control , which can be chosen from 30v to 150v in 30v steps .
having a current resolution of 0.5ma allows a more precise functional control and facilitates control strategies where a continuous control signal like the charge q = td  i is assumed .
the stimulation frequency is limited by the internal data processing duration and the duration of the stimulation pulse . for single channel stimulation with the 300s biphasic waveform depicted in fig .
using four channels , the maximum stimulation frequency is as high as ~190hz , due to the single current source .
surface electromyography ( semg ) measurements are supported by two of the four stimulation channels through a protected 24bit emg front - end ( ads1294 , texas instruments ) , which supports sampling frequencies of 1khz , 2khz or 4khz .
the remaining voltage transients from the stimulation pulse can be removed with a non - causal high - pass filter .
the protection circuit can also be used to reduce the remaining voltage by shorting the pathways coming from the two electrodes , just after the stimulation pulse has finished . the start time and the duration of these shorting s
the voluntary part of the emg signal can be extracted from the filtered emg signal and used afterwards to trigger the electrical stimulation or even to control the stimulation intensity .
if the virtual emg electrodes within the electrode array differ from the last virtual stimulation electrode , an empty stimulation pulse command can be used to set the correct demultiplexer configuration .
all necessary support systems , like the power supply or the control system , are integrated into the stimulator .
the maximum stimulation frequency for the single channel stimulation with the 300s biphasic waveform over an electrode array is as high as 500hz , because of the additional set - up time of the demultiplexer .
however , the currently available demultiplexer supports electrode arrays with up to 61 elements . from these elements ,
48 are active elements , 2 are counter elements and 11 can be active or counter elements . because of the modular design , project - specific demultiplexer extensions with different element combinations can be developed with little effort .
the low - level and mid - level abstraction layers are directly supported by a dynamic or static linked c library , available for windows , linux ( 64bit and arm ) and os x. this library simplifies the integration into custom applications or environments like matlab / simulink , scilab / xcos , labview or in python .
such an integration is already available for simulink with support for the low - level layer as well as for the mid - level layer .
during clinical evaluation of new fes applications or for mobile applications , an extensive set - up with a pc - based control system is not suitable and the wiring may even influence the results , especially for mobile fes applications .
if the fes control system is implemented on the stimulation device , this interference is eliminated .
the overall set - up resembles the established rehabilitation tools , which may help to overcome reservations from clinicians or patients towards the new therapy .
the rehamovepro device supports the implementation of such fes applications within the high - level abstraction layer .
the autonomous feedback - controlled drop foot stimulator , which has been developed during the aperostim project , is an example for such a high - level application .
drop foot is a common condition in stroke survivors , where the individual is not able to sufficiently lift the foot during walking .
4 , consists of a rehamovepro device , a wireless inertial sensor ( imu ) placed on the foot and a tablet computer with a graphical user interface for remote control of the device and for optional parameter adjustments .
the entire fes control system is implemented on the microcontroller mcu2 , which makes the application independent from any timing requirements imposed by the stimulation pulse generation , which is implemented on mcu1 .
the rehamovepro connects via bluetooth with the foot / shoe - mounted inertial sensor and receives 3d accelerometer and gyroscope readings with an update rate of 100hz .
the inertial data is used for two purposes : to calculate the gait phase in real - time and to determine the foot orientation angles.the gait phase is used to trigger the functional stimulation at the toe - off gait event , to ensure sufficient foot to ground clearance . during the subsequent step , stimulation intensity trajectories , depicted in fig . 5 a ) bottom ,
are applied to two stimulation channels , which influence the pitch and roll motion of the foot ( corresponding to dorsiflexion and eversion , depicted in fig .
the optimization is based on the comparison of the measured foot motion and a desired reference motion , which is automatically adjusted to the individual gait of the patient .
the reference trajectories , as well as a number of stimulation parameters , can be altered via the graphical user interface of the corresponding tablet computer application .
the measured foot angles and the resulting stimulation intensities can be viewed in real - time on the tablet computer , which allows an objective assessment by the clinician .
the foot angles as well as the stimulation trajectories are also saved to a memory card on the rehamovepro for post - processing and analysis by the clinician .
the algorithms were initially developed in c on a regular pc and then transferred to the rehamovepro .
this approach allows convenient development and testing with environments like simulink or xcos . except for the ilc update algorithm
, none of the algorithms were optimized for the use on a microcontroller , since the microcontroller features a floating point unit and about 512 kb of ram .
the mcu2 program consists of the two main parts : a ) imu data acquisition and processing and b ) stimulation application .
part a ) is executed every 10ms and includes the reception of imu data , as well as the calculation of the current gait phase and the current foot angles , which takes about 4ms in total .
part b ) is executed every 20ms and includes the calculation of the pulse widths and currents of the next stimulation intensities q1i and q2i and sending the resulting low - level commands to mcu1 , which takes less than 1ms in total .
the ilc - based optimization of the stimulation parameters , which is performed after each stride of the paretic foot , takes longer than the 5ms that are available after completion of the previous calculations .
therefore , the ilc update function was split into five parts , which fit into the available time slot of subsequent processing intervals .
the available memory was more than sufficient , despite the wasteful usage of debug signals .
the moderate mcu workload and the available memory indicate that larger ilc - based fes application are feasible , for example simultaneous feedback - control of the foot motion and the knee motion by additional stimulation of the hamstrings or quadriceps muscles .
5 shows the foot angles i and i for step i together with the corresponding , optimized stimulation trajectories ufro , i and ulat , i from a trial with a chronic drop foot patient . in conclusion , we presented the stimulation system rehamovepro , which supports user - defined stimulation waveforms , surface emg recordings and electrode arrays for both stimulation and semg recordings . the rechargeable , mobile device
can be used for advanced , independent fes applications , which may include external wireless sensors , sophisticated data processing , complex control algorithms and wireless connections to display or control devices . we demonstrated this with a successful implementation of a rehamovepro high - level application : a feedback - controlled drop foot neuroprosthesis .
future work will include additional interpolation options and a universal demultiplexer extension with support for two semg channels .
further research will also focus on adapting the m - wave - based fes control strategy presented in klauer et al . towards a high - level application that simplifies the dynamics of electrical stimulation of muscle .
 functional electrical stimulation is a commonly used method in clinical rehabilitation and research to trigger useful muscle contractions by electrical stimuli . in this work 
 , we present a stimulation system for transcutaneous electrical stimulation that gives extensive control over the stimulation waveform and the stimulation timing . 
 the system supports electrode arrays , which have been suggested to achieve better selectivity and to simplify electrode placement . 
 electromyography ( emg ) measurements are obtained from the active stimulation electrodes ( between the stimulation pulses ) or from separate surface emg electrodes . 
 the modular design enables the implementation of sophisticated stimulation control systems including external triggers or wireless sensors . 
 this is demonstrated by the standalone implementation of a feedback - controlled drop foot neuroprosthesis , which uses a wireless inertial sensor for realtime gait phase detection and foot orientation measurement . 
The RehaMovePro Device
Overview
Device
Adjustable Stimulation Waveform
EMG Measurement
Electrode Array Support
Software Interface
Autonomous Feedback-Controlled Drop Foot Stimulator