Wondering which motion sensor is right for you? Take a look here.
This is the BMX-055 9-axis motion sensor plus the MS5637 pressure/temperature sensor mini add-on shield for Teensy 3.1. The BMX-055 has 12-bit resolution for the accelerometer, 16-bit resolution for the gyroscope, and a rather unusual magnetometer in a small 3 mm x 4.5 mm package. Coupled with the similarly small (3 mm x 3 mm) Measurement Specialties MS5637 24-bit pressure sensor/altimeter, and open-source Madgwick and Mahony sensor fusion filtering, this motion sensor solution offers 10 degrees of freedom, absolute orientation with quaternion, rotation matrix, and pitch/roll/yaw output. I have created a mini pc board as an add-on to the Teensy 3.1 microcontroller, whose powerful Cortex M4 processor running at 24/48/96 MHz can easily deliver 9 DoF sensor fusion filter update rates above 1000 Hz. The Mini board can be soldered to pins 8 - 17 and utilizes power and ground at the end of the Teensy 3.1. The BMX-055 has two interrupts per sensor for a total of six. With 3V3 and GND plus SDA/SCL, 10 of the twelve pins at the end of the Teensy 3.1 are signalized leaving no room for the SPI ports.
The board is hardwired for I2C and there are 4K7 pullups on the board. Even though the BMX055 can use SPI communication, I purposely chose to hardwire the BMX-055 for I2C and chose an I2C-only pressure sensor because I wanted to break out all six of the interrupts on the limited number of pins available on this mini board. With fewer interrupts, say, one per sensor, the BMX-055 mini add-on could be redesigned to use SPI, but another pressure sensor would be required. With fast I2C (400 kHz), the sensor fusion filter rates are well above 1 KHz; this is plenty fast for all but the most demanding motion sensing and control applications.
There aren't that many integrated 9-axis motion sensor solutions and I wanted to be able to use and make available all of them. The MPU9250 and LSM9DS0 are perhaps better known, but this BMX-055 contains all Bosch technology rather than the mashup (Invensense MPU6500 + Asahi Kasei AK8963A) for the MPU9250. Other than the LSM9DSX and MPU9150, which is the predecessor of the MPU9250, there just aren't any other integrated 9-axis motion sensors around. For a general discussion and detailed comparison of motion sensor technologies, see here.
Also, Bosch has taken a different approach for the magnetometer. Rather than reading out magnetic field directly, the BMX-055 magnetometer data registers return 13-bit x and y and 15-bit z MEMS sensing data which must be combined with a 14-bit Hall resistance reading to obtain 16-bit temperature-compensated x, y, and z magnetic field data via software. This is very different from the approaches Invensense (MPU9250) and ST Microelectronics (LSM9DS0) take but promises to produce significantly more accurate magnetic field values.
I created the mini add-on board so those like myself interested in various motion sensor technologies could have a ready platform for prototyping and testing. Together with the Cortex M4 ARM processor on the Teensy 3.1 and open-source Madgwick and Mahony 9-axis sensor fusion, the BMX-055 might just be the sensor solution right for your application.
I have written a well-commented sketch that runs on the Teensy 3.1 that parametrizes the registers, initializes the I2C communication, calibrates the gyro, accelerometer, and magnetometer, reads and scales accelerometer, gyro, and magnetic field data and performs 9-axis sensor fusion to get quaternions and yaw, pitch, and roll, etc. The sketch is a work in progress; I figured out how to convert the magnetometer sensing data into magnetic field, and the device is now happily outputting scaled accelerations, rotation rates and temperature-compensated magnetic fields as well as absolute pressure and temperature.
The BMX-055 has a lot of embedded functions which I intend to exercise in the sketch. There are multiple interrupts, as mentioned, and each one can be programmed to respond to a different set of circumstances from tap detection, free-fall detection, orientation detection, high and low rotation rate or acceleration thresholds, etc. In addition, the BMX-055 has a FIFO register for both the accelerometer and gyro data, allowing very efficient data sampling strategies to be employed. The BMX-055 has non-volatile memory accessible to the user so offset compensations can be stored and reused on subsequent power up without calibrating each time the device is turned on; it's like having an internal EEPROM. Bosch has packed a lot of functionality into the BMX-055 and I am working to make use of it. The sketch will expand as I make progress. In addition to the multi-functionality of the sensor ASIC, the sensor technology is unique making this sensor a nice complement to the other two 9-axis motion sensors currently available for testing and application development.
Order the BMX-055 mini pc board from OSH Park and build your own, or buy an assembled board from me and see for yourself how this unique 9-axis sensor solution works in your application!
|Shipping Rate||First item||Additional items|
United States Postal Service: Standard Ground Rate with tracking
United States Postal Service: Priority Mail with tracking
Priority mail for faster delivery only available withing the US.
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!
One-man maker shop with a focus on appallingly small, value-added products. Specialties include motion sensing and motion control applications.
If you don't see what you want, let me know what it is, I might be able to help!
See here for my story: https://www.maker.io/en/interviews/2016/interview-with-kris-winer---pesky-products