 Hi, I'm N.P.I. Okay, I'm N.P.I. brought to you by Digikey and Adafrit this week, it is B.O.S.H. I saw this on their social media and I thought this was kind of funny. Censored text. Like a B.O.S.H. Like a B.O.S.H. And this week, Lady Aida, what is the N.P.I. New product introduction. Okay. Well, this week is actually sent in by a lovely viewer, they wanted me to highlight this. I was like, that is pretty cool. I somehow missed this new censor from B.O.S.H. It's the BMI-323, it is a fairly low cost, it's an affordable but high quality 6DOF, sometimes called 6DOF, a degree of freedom sensor. It's got accelerometer, gyroscope, temperature sensor. All in one little package, easy to pick in place. Some things that want to highlight, you know, we'll chat about how to use it, but it's two 16-bit digital resolution sensors, that's actually quite unusual, usually you get only maybe 10 or 12-bit resolution, 16 bits quite nice. The zero offset and is only for the gyro, the gyro is kind of where you want to look at the specs to make sure they're good because that's going to affect your fusion more than the accelerometer, accelerometers are fairly good these days. The gyro has, you know, plus or minus one degree of, sorry, plus or minus one degree per second drift your offset, which is pretty good, you know, you can get better, but you're going to have to pay a lot more. Whereas this sensor is only a couple of bucks, it's very good for the price. A lot of other details, you know, the accelerometer is pretty standard, goes plus minus 248G, 24816G, and the gyroscope goes plus minus 125 up to 2,000 degree per second. There's also an onboard digital temperature sensor, which you can use as part of your like temperature compensation management, sometimes sensors do drift with temperature, but it's also just, you know, they toss another sensor on there, you know, it's basically an all-in-one little ready-to-go fusion chip. More technical specs, like, you know, like I think we mentioned, the gyro is pretty good, and this also has the noise, which is seven microseconds per root hertz. Sorry, can you scroll zoom a little bit? Yes, I can't see technically. Thank you. It's, yes, it's seven milliseconds per square root hertz, noise density for the gyro, which is pretty good. And a nice, a nice range of bandwidths for the output data, where it's up to six kilohertz. So good if you want to do fusion, you'll want to get a nice quick data. And there's in-built-in filters that can do some basic low-pass and high-pass filtering, if necessary. Other things I thought were really neat about this sensor, it has the standard I squared C, but also SPI, and I3C support, which we've covered on earlier INNPIs, we talked about I3C and how it's different than I2C. And I looked, the interrupts do, you can have the interrupts, there's an external pin interrupts to digital IOs, or if you're using I3C, you can have it since with, you know, in-band interrupt support, so you only need two pins if you're using I3C. The Bosch IMUs that we really like, you know, one of our favorites is the B&O055, we've used it for so long, it's the same company, Bosch SensorTech that manufactures it. This is a sensor that has accelerometer, gyro, and magnetometer all together, so it's got nine degrees of freedom, but you're going to pay for it. You see, the pricing is much more expensive instead of like, you know, two bucks or so, it's, you know, seven to 15, depending on how much you're purchasing. Inside is also a SAMD21, which is pre-programmed with fusion algorithm, and then you talk to that SAMD21, you don't program that chip, you talk to it over I2C, and that's great if you want to just get started very quickly, but again, you're going to have to pay the extra price for that fusion chip. Whereas, you know, if you do want fusion data, which most people do, you want to get, like, Euler angle, so you know in X, Y, and Z space, you know, either Euler or Quaternion location, and that lets you know, like, it's easier way for you to determine gestures and determine which way it's pointing, what motions are doing, if you're going to feed this into AI gesture recognition systems, you know, oftentimes you're going to feed it Euler angles. To do this, you'll have to do your own fusion, so you'll probably want to also pick up a magnetometer. I looked in the BNM150, look at that, 40,000 stocks. This is a beautiful thing, by the way. That was like, I knew it was so tough to cover stuff because it was in stock, but if you want a magnetometer, this is a good one. Also, I2C, capable low cost, you can see it's like about a dollar or so, very tiny, and it gives you X, Y, and Z. It's pretty common that you have one chip for accelerometer and gyro, and then another for magnetometer, one because the magnetometer often has to be placed away from other chips, and so, you know, and also, like, the process by making magnetometers a little bit different. So it's not too unusual for, like, the magnetometer to sort of sit on the corner of the PCB, and the accelerometer and gyro to sit in the center, or maybe near a weighted thing, so it doesn't have as much vibration, because the magnetometer doesn't, vibration doesn't affect it, but a speaker or, like, big chunks of metal and a lot of current flow can. So some of the things you have to think about if you're laying out a circuit board with these two chips, but combine them together and you get nine degrees of freedom, and then you can run the BSX sensor fusion software that Bosch provides, which is really nice. There are some free libraries, even Inafruit, we have a couple free examples, PJRC also published some sensor fusion software using free algorithms, but if you are using Bosch sensors, you might as well use their sensor fusion software, because, again, it's free, it's published. You will need to have nine doff, though, to get full orientation in 3D space. You know, I downloaded it, you have to approve a license, the license basically says you can only use it with Bosch things, that's very normal, and you can see the output you get is either Quaternion, X, Y, Z, W, or other angles, Heading, Pitch, Roll, and Yaw. So, you know, that's usually good for pretty much everything, only downside is you're going to have to make sure that your chip is one of the ones that's supported with the library, because the library has pre-conviled binary blobs. Again, Bosch sort of does this in general, there's a couple companies where they'll provide a library and sort of to make sure that you really, you know, only use their stuff with their stuff, they don't publish the code itself, they give you a binary blob. And in this case, it's only, it seemed to be only available for the ARM Cortex chipset, so you see the M0, M0 plus M1, M3, M4, M4 with FPU and M7. 80-ish percent of people are going to be using Cortex chips. If you're using something like Tensilica, they have for other libraries, not this one released, you know, Tensilica, which is ESP32 or maybe WISC5, email Bosch, you know, they'll probably compile it for you and send it along or add it to the bundle. Just FYI on that though, because I don't want people to get stuck, not realizing it, that they do have code for the chip, but the Fusion code is pre-compiled. The chip itself is a, you know, QFN-ish package, or whatever it's DFN, whatever it's called. It has a few, you know, yes, there's this Fusion thing that you can do, but there's a couple filters and behavior things that it can do on the inside, like it can do some detection of behaviors, step detection, it can do a single double and triple tap, not too uncommon, the accelerometer, orientation, hysteresis for motion. There's a big FIFO, which is quite nice data synchronization, which means that if you do want to do just recognition or pump this into a Fusion system, because you can't really drop any data, you'll want to have all the data in the FIFO, and then you can read it all at once and pump it bit by bit into your Fusion software, you're not constantly, you know, you don't have to maintain the Fusion software constantly, you can do it every 2k worth of a FIFO data. So, you know, depending if you're doing, you know, one kilohertz, that means only maybe half a second or a quarter second, you have to read all the data and read all at once, which isn't, you know, too bad, but take advantage of that. And then there is a full data sheet with, you know, absolutely everything that you need to read every register, set every filter. However, if you just want to, like, get right in there and have this work with your microcontroller or microcomputer, there's a published C API, this doesn't have any binary blobs, so you can port it to whatever platform you like. Inside the examples folder is a common dot C and common dot H, and that's where you would put in your SPI or I2C or I3C and delay. Those are kind of like the read, the write, and then delay functions for whatever protocol you're using. You implement that and the rest of it comes out, you can then grab the accelerometer and gyroscope data, feed it into your own sensor Fusion, or just use it as is, if you can just use the raw data. Available and did-a-key. And stop. Available and did-a-key. So much. Available and did-a-key. Ten thousand pieces. Yeah. In the chat folks are like, we need another song about the chip surplus. I know, I know. We've got too many chips, but good for us because it means that you can actually design stuff and know that you'll be able to get the component by the time you're ready for production. So a great, you know, basic two, three dollar, six-duff IMU, very competitive with the current market. Good performance, good specs, I like that 16-bit and good software support as well. Okay. That is this week's on MPI.