A Microcontroller Controlling My Legs 1.5/2
Introduction We have already documented the development of a device for controlling the Tibialis Anterior leg muscles during movements such as running. The software for that device was developed in C++ for maximum performance and for portability to microcontrollers. The existing device was running on a 1GHz Raspberry Pi Zero. In the following we are…
A Microcontroller Controlling My Legs 1/2
The following is a short summary of my efforts related to using a microcontroller for controlling some of my leg muscles. Motivation I find the idea of compensating for physical inability by attaching computers to the human body quite fascinating. In this post we are continuing this journey by trying to activate the muscle activation…
Electrode Positioning
I have received a few questions regarding positioning of the electrodes for optimal effect. For starters, the leg has to be clean (no lotion and such) and preferably with no body hair where the electrodes are placed. By activating the tibialis anterior muscle, it is possible to feel where it ends. This is where the…
Wireless Device Programming
Running around with a game controller immediate delivers on an ultra nerdy/crazy scientist look. Also, the USB sockets tend to wear out, due to the movements associated with running. In order to deal for both issues, I acquired a compact wireless controller, which comes with a wrist strap. It seems to fit perfectly for use…
Considering Bluetooth LE
I was briefly investigating if we could replace a centalized computer and meters of electrode wire with a number of smaller computers connected via wireless communication. In a development phase, it would also be handy if we could collect the raw data from the Inertial Measurement Unit (IMU) and build movement model on a computer…
A Tiny Gyroscope
I managed to acquire 6 dimensional at 119 Hz using 1.5 ms of processor power per lookup. Assuming we stay at 119 Hz, this leaves 82% of processor time available for calculation. For each frame, we then have only 450.000 processor cycles to do everything. I am not sure this is doable at 119 Hz…
Investigating Micro Controllers
The curious programmer might have wondered why the program code is implemented in the C++ programming language. Some might argue that, for a Raspberry Pi project, Python would enable more people to cooperate. The reason for sticking to C++ (with a minimum set of library dependencies) is to enable a deployment option involving a micro…
A Small Wearable Raspberry Pi Zero
The Raspberry Pi Zero battery has finally arrived, and was easy to attach underneath the Zero. I ordered a UPS Lite v 1.0 for Raspberry Pi Zero from Amazon Germany. Including the cover, height is only 2.5 cm (+2 mm screw heads). The length is 7 cm, and the width is 4.4 cm (including the…
Soldering and Relay Alternatives
When performing experiments with hardware, it is sometimes difficult to avid soldering. That said, I ended up doing a little more soldering than planned (basically because I am not very good at it). I managed to fit Raspberry Pi Zero and Sense HAT (B) very tight together, and added in between a Pico HAT Hacker,…
Understanding Movements
TRANSLATION ACCURACY Translating a sequence of vectors from an accelerometer into movements is not a simple task, when it must be done accurately and with limited computational resources. Accuracy here also relates to how the underlying model reacts to previously unseen movements. Since this device is attached to a person in movement, it must perform…