Replies: 1 comment 3 replies
-
The WHO_AM_I code means that the chip is actually an MMA8452Q, rather than MMA8451Q. They're closely related chips, and I've already been in touch with another person who tested one out and found that it worked correctly with the existing code, so hopefully it'll continue working for you, too. I've already updated my working version of the firmware to accept the 0x2A code and recognize the MMA8452Q specifically, so the error message should go away for you at the next release. In the meantime, it's harmless, and you can ignore it as long as the rest of it keeps working. Note that the MMA8452Q is not quite as good a chip as the -1Q - it has slightly lower bit resolution (12 bits for -2Q vs 14 bits for the -1Q), so it can't resolve as fine gradations of nudge force as the -1Q. I suspect its noise level near rest might a little higher too, since most of the other chips with similar bit resolution are also a little noisier, but that's just speculation. It seems like the manufacturers are all prioritizing ultra-low power consumption over all else these days, at the expense of reading quality, so there's nothing on the market right now with the high resolution and low noise of the -1Q. These devices are marketed primarily for embedding in phones and similar devices, so they don't have to be very good - phone operating systems mostly only care about which direction the device is tilted, and beyond that don't need very detailed acceleration readings. Virtual pinball, on the other hand, benefits quite a lot from fine-grained readings so that it can distinguish between subtly different nudge forces. If you care about the better resolution, you might want to grab one of the Adafruit MMA8451Q boards while they're still available, since those are the real thing, and they'll only be available as long as Adafruit's inventory lasts, since the chip is no longer in production. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
2025/09/10 17:10:08 Error: MMA8451Q: WHO_AM_I (reg 0x0F)=0x2A (invalid; expected 0x1A)
Beta Was this translation helpful? Give feedback.
All reactions