BMI220 firmware support #166

Open
opened 2026-04-05 17:52:03 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @barryblueice on 11/1/2024

I bought some cheap BMI270 for personal built SlimeVR Case by myself from a seller from Chinese AliExpress Market, the seller claim that these sensors are BMI270:

e270dce8cdefd160e8726771a7a291f0

But when I solder the sensor on, the SlimeVR tracker detect the sensor reg is 0x26 (BMI270 is 0x24):

image

After searching from google, I found a similar post on the bosch forum: BMI270 CHIP ID reported as 0x26 instead of 0x24, someone found that 0x26 is actually BMI220:

image

So I decided to try to adapt the BMI220 for the tracker. Unfortunately, I can't find any information about the source code about the BMI220. But I found the firmware successfully finally from coreboot/chrome-ec, than I try to modified the relatived source code which based on BMI270, now it can work.

VID20241101230625

However, there may still be bugs, so use them with caution.

The usage should be the same as BMI270/BMI160.

Attention
According from my friends, There is no difference between the BMI270 and BMI220 from the appearance and the sensors marking, and the sensor type can only be determined from the reg code after the sensor is soldered on the PCB.

*Originally created by @barryblueice on 11/1/2024* I bought some cheap BMI270 for personal built SlimeVR Case by myself from a seller from Chinese AliExpress Market, the seller claim that these sensors are BMI270: ![e270dce8cdefd160e8726771a7a291f0](https://github.com/user-attachments/assets/f960d9b3-9306-4b2a-b8fb-68c33b1626d6) But when I solder the sensor on, the SlimeVR tracker detect the sensor reg is 0x26 (BMI270 is 0x24): ![image](https://github.com/user-attachments/assets/fa0ad602-74f0-4672-b47d-13e798181654) After searching from google, I found a similar post on the bosch forum: [BMI270 CHIP ID reported as 0x26 instead of 0x24](https://community.bosch-sensortec.com/mems-sensors-forum-jrmujtaw/post/bmi270-chip-id-reported-as-0x26-instead-of-0x24-Puuxy63iBXZNZEl), someone found that 0x26 is actually BMI220: ![image](https://github.com/user-attachments/assets/d3f683c3-c84d-44d6-be90-dde1787041d7) So I decided to try to adapt the BMI220 for the tracker. Unfortunately, I can't find any information about the source code about the BMI220. But I found the firmware successfully finally from [coreboot/chrome-ec](https://github.com/coreboot/chrome-ec/blob/main/third_party/bmi220/accelgyro_bmi220_config_tbin.h), than I try to modified the relatived source code which based on BMI270, now it can work. ![VID20241101230625](https://github.com/user-attachments/assets/16510f4a-99cc-43b0-93b7-23e7f6b28336) **However, there may still be bugs, so use them with caution.** The usage should be the same as BMI270/BMI160. > Attention > According from my friends, There is no difference between the BMI270 and BMI220 from the appearance and the sensors marking, and the sensor type can only be determined from the reg code after the sensor is soldered on the PCB.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/SlimeVR-Tracker-ESP#166