Forum

Notifications
Clear all

How to use an IMU sensor in OpenExo

15 Posts
3 Users
0 Reactions
142 Views
0
Topic starter

We are now attempting to control the upper limb using an IMU instead of the FSR described in the paper, and I have a couple of questions.

  1. Do you have any prepared code or documentation for IMU-based upper-limb control? 

  2. We are using Adafruit’s BNO055. When we try to run the thighIMU within the system check code, the connection repeatedly fails. Do we need to adapt the code for this IMU, and if so, which sections should be changed?

Our serial monitor shows the following output when running thighIMU:

 
11:56:31.632 -> Failed Left Init
11:56:31.632 -> Got: 0
11:56:31.702 -> Got: 0
11:56:31.804 -> Got: 0

Topic Tags
10 Answers
0

Hello Jy,

We have not tried IMU control of the upper extremities before, only for the lower extremities. 

As far as your issues with connecting to your BNO055 IMU:

1) The ThIMU class is hard coded to an address of 0x01 for the left IMU and 0x02 for the right IMU. This information is found in I2CHandler.h in namespace i2c_cmd, namespace thight_imu. Check that your i2c address in the openexo code matches your BNO055 address (typically 0x29 according to the online BNO055 data sheets). 

2) The THIMU class reads from pins 18 and 19 on the teensy board, specifically pin 18 reads/writes the messages and pin 19 runs the clock. double check that the connection between these pins and the BNO055  are complete and secure. We recommend adding strain relief to prevent the connection from getting cut by moving the IMU. 

I hope these suggestions are helpful. Feel free to reach out if these do not help. 

We look forward to seeing your work!

Connor


0

@Jy, was Connor's response helpful? 


0

I'm also considering using IMU sensors to replace FSRs. My preliminary thoughts are:

  1. Replace the Nano 33 BLE on the AK Board 0.5.1 11 with a Nano 33 BLE Sense. I’ve heard this board has built-in IMU functionality—is this approach feasible?

  2. Where would be the most suitable placement for the IMUs on the left and right thighs? Should they be positioned midway between the hip and knee joints?

  3. Once IMU data is collected, how can it be utilized in the controller algorithm? I came across a Georgia Tech paper that processes IMU data using a CNN algorithm—"AI-driven universal lower-limb exoskeleton system for community ambulation." If we integrate this into OpenExo, how should it communicate with the AK Board 0.5.1 11? Would using the Bluetooth functionality of the Nano 33 BLE Sense be feasible, and could it impact the board's ability to handle other tasks simultaneously?

These are some rough and unorganized ideas. I welcome guidance and insights from the experts in the OpenExo forum on my thoughts and explorations.


0

Hello @KevinGuo

1. Replacing the Nano BLE with a Nano BLE Sense is perfectly fine. You should not need to make any changes for the basic functionality of the system when using a Sense. I will caution you that putting too much strain on the processing of the Nano on the PCB may affect communication with the GUI. 

2. If you are using angular motion data the anywhere between the hip and knees should be acceptable as long as the orientation is consistent. If you plan to collect linear motion then the location becomes important as well. I recommend mounting them to the upright or thigh cuff to ensure consistency. 

3. We do not currently have a controller available that utilizes IMU data for the hips. The Georgia Tech Paper you referenced is a great controller to imitate/use if you can get it to work with the openexo system! BLE communication is theoretically possible but would likely slow down the plotting and saving of data to the GUI. The other option is trying to add a raspberry pi to the physical device that can performed wired communication with the teensy to receive data and send prescribed torques. Sending and receiving data always risks slowing down the system but it is unlikely that an AI model could be fit on to the existing PCB so if you want to pursue their controller it is a necessary risk. I do not want this to be discouraging and hope you find that the trade offs are worth it.

I hope this answers you questions! If you have any more questions or need clarification we are always happy to help!

Connor


KevinGuo 26/09/2025 12:24 am

@connorg
The feedback you provided to me is excellent. I am working remotely with everyone from Hong Kong, and I hope that the OpenExo open-source community can rapidly iterate and develop more affordable and practical versions. Regarding the IMU controller we discussed, I plan to use Jetson Nano to process the IMU data and communicate the processed results with Teensy4.1 via USB-CDC. I would really appreciate hearing your valuable opinions.

BRs
Kevin Guo


connorg 02/10/2025 9:18 am

@KevinGuo

Apologies on the delayed response. The Jetson Nano seems more than capable for processing the imu data and USB-CDC communications are great for communicating from one teensy to one jetson nano, as long as all your imu's connect to one jetson nano and then the data is connected to the teensy this should be great for your purposes. In my experience your most limiting factor would be dependent on the imu's you chose as the noise will likely require a filter which will slow the response time of your imu data. You will likely need to be intentional about the design of the filter to keep noise and response time to a minimum.

As always please reach out with any more questions,
Connor


0

Hello,

My son has muscle weakness and I want build the hip exo

I'm interesting for using the IMU for the hip instead of the FSR (to have no wire on the foot). How did you use it?

Mathieu


0

Hello @mathieu

We are excited to hear about your interest in the OpenExo system. I would like to reiterate that the OpenExo is intended for research purposes and is not FDA-approved.

Our use of imu's has been focused on collecting angle data. Our purposes have not provided enough data to develop a full controller based only on the imu data. If you want to pursue using imu data to inform an existing controller I would recommend investigating how to detect heel strike using the imu data and using that with the FranksCollinsHip controller available.

We are currently developing a system to perform wireless communication to share the FSR data with the teensy. If your concern is just about the wires we hope that this would help address your concerns when it is finished. Does this sound like a solution that would work for you and your son? We would love hear your thoughts on this as we continue to develop more resources for the openexo skeleton community. 

We look forward to hearing about the work you do and any thoughts you share! Please reach out with any more questions,

Connor

 


KevinGuo 03/10/2025 12:42 am

@connorg
I bought three ABX00101 units and spent a whole day trying to communicate with a Teensy 4.1 using both I2C and SPI. Unfortunately, neither method could identify the correct register addresses, and the attempt ended in failure. I concluded that the reasons were likely: the ABX00101 is a new product released in 2025, it hasn't been adapted for Teensy 4.1 yet, and it doesn't use standard I2C or SPI protocols. Ultimately, I had no choice but to return them. Sharing this lesson learned to help others avoid the same pitfall. Today, I purchased two BNO085 units instead.


connorg 07/10/2025 9:46 am

@KevinGou

I am sorry to hear that. We know that I2C works from the openexo board so I agree that the issue must have been on the ABX00101 side. For the sake of others who might be trying similar communication/chips in the future were you using pull down resistors or otherwise have resistors on the communication line?


connorg 07/10/2025 9:46 am

@KevinGou I am sorry to hear that. We know that I2C works from the openexo board so I agree that the issue must have been on the ABX00101 side. For the sake of others who might be trying similar communication/chips in the future were you using pull down resistors or otherwise have resistors on the communication line?

please also see the following link to our build wiki for some more information on adding external communications with I2C: https://wiki.theopenexo.org/app/page/1IDIvK_TSzBucPz_MaAadYhhmePD3nf_bLp5UVSXbmy0?p=14AIGjap02Wv8jPJxyezvfYJYFVIJIoO1


0

Hello @Connor

Thanks for your message. I know that it's for research purposes and I can say I do research for my son because I don't find an exo for children and I'm in France so no FDA

Concerning you proposal to have wireless FSR, I think it's a good way to investigate. The limit of the wireless FSR is the weight and the energy consumption. 

To do walk gait measurement I already use a WIT BWT901CL directly attached on the footwear. There are 3 accelerometers inside that could be used to detect the heel strike and a bluetooth connection. 

An other question is how the hypershell exo work without any sensor on the foot ( https://eu.hypershell.tech/). My goal would be to have the same exo as the hypershell but for children.

Mathieu


0

Hello @Connor,

Thanks for your answer. I know that it's for research pruposes and I can say I do research to developp an exo for children because I don't fin exo for children. I'm in France so no FDA.

I'm interesting for the wireless FSR but the limit could be the weight and the energy consumption. Good to know that you work of this solution

I alreadu use a wit BWT901CL attached on the footwear for walk gait measurement. We could use the 3 accelerometers of this sensor to detect the heel strike and communicate with bluetooth.

Other question is how the hypershell exo work without FSR sensor ( https://eu.hypershell.tech/) My goal is to have the same exo as the hypershell but for children

Mathieu

 

 


0

Hello @Connor,

Thanks for your answer. I know that it's for research pruposes and I can say I do research to developp an exo for children because I don't fin exo for children. I'm in France so no FDA.

I'm interesting for the wireless FSR but the limit could be the weight and the energy consumption. Good to know that you work of this solution

I alreadu use a wit BWT901CL attached on the footwear for walk gait measurement. We could use the 3 accelerometers of this sensor to detect the heel strike and communicate with bluetooth.

Other question is how the hypershell exo work without FSR sensor ( https://eu.hypershell.tech/) My goal is to have the same exo as the hypershell but for children

Mathieu


0

Hello @Mathieu,

Thank you for your recommendations for the FSRs. We are glad that you are still excited about our system.

The hypershell is certainly an exciting piece of technology. From what I could gather it seems like they use multiple AI algorithms to controller their devices. We have avoided AI models on most of our controls for predictability, simplicity, and processing power. It would certainly be interesting to see what you can do with AI models on the openexo system. Please see my response to @KevinGou on 25/09/2025 about using an AI model from the Aaron Young group at Georgia Tech for some more input on using AI models with the openexo system.

Please continue to reach out with any more questions.


Your Answer

Author Name

Author Email

Your question *

Preview 0 Revisions Saved