Easily Build This IMU Array Sandbox

These days we’re used to our devices containing an inertial measurement unit (IMU) that lets it know its position relative to the Earth. They’re mechanical devices at heart, and so they’re not infallible, with a few well-known failure modes — but we can try and help it. One way that’s getting some attention is to put many MEMS IMUs on a single PCB, connect it to an FPGA, then process their data all together to make for a more sensitive IMU or filter out drift. Want to join in? Here’s an open source implementation from [will127534].

With 32 individual ICM-42688-P SPI-connected IMUs and the beloved ICE40 chip at the center of the board, this PCB is a powerful platform to help you jump onto the new direction of the IMU research world. There’s example Verilog code that tests the board’s workings, and you can pair it with a Pi Pico running MicroPython to test out its raw capabilities. After that, the stage is yours.

The board is cheap to order online, easy to assemble yourself if you must, or have JLCPCB assemble it — just solder some capacitors on the backside afterwards. There’s a breakout, but it’s mostly for tests. This board is very much designed to be a module in a bigger system, [will] mentions that he’s building a geophone. Clever array-based hacks are en vogue, it would feel – here’s a LED array from [mitxela] that uses LEDs as sensors.

28 thoughts on “Easily Build This IMU Array Sandbox

    1. accuracy is shooting ten times at a bullseye and getting close to the center, regardless of spread

      precision is shooting ten times at a bullseye and getting a tight spread, regardless of distance to the center

    2. IMU arrays increase in precision by a factor of the square root of the total sensors. When used for navigation, an IMU array will reduce drift over time compared to a single sensor.

  1. Just a note: “Cheap” is a relative thing. The 32 Sensors go for about 2$ each oh JLC, the FPGA for 7ish. AFAIK if you let JLC assemble, the minimum order amount is 3 (5 PCBs, 3 assembled). The BOM is about 200$ just for parts. The PCB is 6-layers with 2mm drill and quoted to me for 37$. Shipping is 20$, I also have to pay ~20% import tax. So all together I’d estimate 300-400$ for 3 assembled boards. Probably still cheap for what it is, but not “I’ll just order one and see if it’s useful to me”-cheap.

  2. The inspirations comes from Sony’s crazy 16x IMU array board for SPRESENSE, which is so powerfull that is it export controlled.

    I find it hard to believe that just putting an FPGA and a bunch of IMUs on a board is enough to make it export controlled. I’m curious what the thought process could be behind something like this. Perhaps that it could serve as an “off the shelf” component in a missile or similar weapon? I doubt the IMUs would meet the “military spec”?

    1. I don’t know if it applies here. But a good IMU can be used as a relative positioning system. So yes the potential use in rockets may be the reason for the export control.

      You know GPS and similar can be jammed or even sent false signals. So a rocket that relies on GPS alone might be a bad idea. But I kinda doubt that these IMUs give reliable results with the amount of vibrations happening in a rocket… But who knows.

      I also couldn’t find a source for that “export controlled” claim…

      1. I also couldn’t find a source for that “export controlled” claim…

        Search for EAR category 7 navigation and avionics and in that document search for “Inertial Measurement Units”

        I suspect that this is the one that applies “All types of gyros, usable in rockets,
        missiles, or unmanned aerial vehicles capable of achieving a “range” equal to or greater than 300 km, with a rated “drift rate” ‘stability’ of less than 0.5 degrees (1 sigma or rms) per hour in a 1 g environment. ”

        The Sony SPRESENSE linked to at the bottom of the github readme says “The multi-IMU board is a 6-axis IMU board equipped with a 3-axis accelerometer and a 3-axis gyroscope. It synthesizes 16 consumer MEMS IMUs in real time and achieves bias stability of 0.39 deg/h or less, which is comparable to FOG (industrial fiber optic gyroscope)”

        So since it could be used in a UAV with a range greater than 300 km it would be an export control device.

        A TDK “icm-42688-p” 6 axis IMU designed for head mounted displays and robotics so it is probably at the limit of 0.5 degrees/hour on the nose by design, so 32 of them combined would be an export controlled item.

    2. I once placed a mixed order at Mouser, and a month and a half later I was wondering why my stuff had not arrived yet. My mind is fuzzy enough to even start doubting whether I placed the order in the first place. After digging into it, I found a mail that they required me to promise that I am not a terrorist, because they do not want to ship beaglebones to terrorists. I canceled the order and bought my beaglebones somewhere local.

      1. I order my parts from “component sourcing companies”. You upload the BoM or whatever components you want, they order everything from digikey/LCSC/mouser to their office, and then reship the parts to your doorstep, for a small fee.

        It adds a few days and some insignificant amount of money to the equation but you don’t have to deal with customs employees who don’t know their own laws and websites who believe LEDs are weapons of mass destruction.

        I have been burned one too many times, and now I refuse to directly buy from digikey/mouser. Its just easier, I let the “pros” deal with the red tape.

      2. Because you couldn’t, in good conscience, promise you’re not a terrorist?

        I get that it’s an inconvenience, but Mouser probably is forced to do this bullshit by some US government agency.

        1. Interesting concept, promising that you’re not a terrorist… how can that go wrong.

          I can see the article in the news already. A big boom-bada-boom happened somewhere, they figured out what was in the device that caused it, then they found out some “critical part” inside of it was sold by Mouser, then they contacted mouser and somehow they figured out what part was sold tthe person who put it into the boom-bada-boom device and then the official press release reaction of Mouser would be: “terrorists, oh… but… but… they promised they weren’t”.

          1. I remember having ordered a dell laptop like 20+ years ago and I had to fill a form saying that this won’t be used in weapons of mass destruction and similar during the ordering process…

          2. A few decades ago, I heard a law enforcement officer on a radio news show in Southern drawl, describing what lead them to the arrest of a terrorist.
            It went something like this…
            “In his house we found wires, electronic parts, and books about electric circuits”
            I’m sure no one reading this blog fits that description.

        2. Better to avoid useless promises, because you don’t know how they will it repurpose.
          Or it might end in wrong hands when you sell it on ebay or local market. Who nows?
          Like there was some lawsuits around used ford truck when its appeared in Syria.

  3. If this can be so useful, are there chips that already contain an array?
    You’d think it could be pretty easy, in theory, just cut the wafer into larger chips and change the packaging.

      1. Possible for sure. The law of large numbers, 1/sqrt(n) reduction in standard deviation, does require that the measurement error is uncorrelated across the devices.

        If they all have high observations and low observations at the same time, it doesn’t average out the noise. It’s only when one is sometimes high when the other is low that the averaging helps.

        But my guess about why we don’t see them on one chip is that we’re looking in the wrong price range. :)

    1. It’s pretty typical that MEMS IMU devices are actually already assemblies of multiple dies inside. The MEMS structures and the CMOS logic often are done separately and bonded after the fact. Also gyro and accelerometer MEMS devices don’t usually attempt to build one device flat and two standing on edge on a single die. They make three flat ones and then arrange the dies appropriately inside the package for more isotropic performance.

  4. I wonder how this would compare to RTK GPS for accurate positioning of a rover? RTK GPS is pretty pricey, I’ve bought 2 uBlox RTK modules for a lawn mower rover project, they work, but need clear weather for best results. I dont really need a GPS fix, instead a starting point and known position ( X/Y/Z ) from the starting point will do the same.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.