it's alive and talking to me!
as usual, the SPI peripheral implementation in it is kinda finicky, and it actually doesn't work with the default #GlasgowInterfaceExplorer SPI controller (because it's not fully compliant with SPI, oops)
i'll fix the SPI controller in a bit
this thing doesn't seem to have a magnetometer or a barometer, it's just an accelerometer and a gyroscope. not even very good ones, they're probably on par with what your cellphone has, if not worse
i think some enterprising company (possibly Shenznen Firepower Control Co. Ltd. based on @poppyhaze's research) has realized they can make a lot of money selling ADIS16488-style devices that only barely work at a half of their sticker price from AD
oh... it has a GD32F103 inside. there are even, conveniently, pads with SWD routed to them
firmware dumping time? firmware dumping time.
it looks like sometimes it works and sometimes it doesn't
very bold of a vendor to call it a "good device" when in fact it seems to be bad
did someone build the firmware with -funroll-loops or what
this is a part the code that copies static mutable data into RAM from Flash. it goes on for kilobytes
OH I GOT IT
i finally tracked down the source of this device, and also the gyroscope vendor
the WM_KT-EX9-10_2.12_GD103.bin in the firmware name most likely refers to the gyro:
https://en.ktjmyq.com/html/2024/MEMS_0526/141.html
i'm wrong. the KT-EX9-1 device has a public datasheet and some key values don't match
this could be a custom one-off or something?
@whitequark no, my mistake, apparently it was the CKS clone STM32F103 that fixed ST’s silicon errata.
And yes, CKS added their own bugs: https://nvd.nist.gov/vuln/detail/CVE-2020-13464
@alina the device on the image is a PCB i extracted from an inertial measurement unit from a loitering munition
you know that "the missile knows where it is because it knows where it isn't" meme? well, this PCB is _how_ the missile knows where it isn't
on the right i have a debugger connected to it, so that i can dump and analyze the firmware within and learn what makes it tick
@f4grx it's still functioning, I have a script that makes it run
I could measure it properly, Allan deviation and the like, but purely from mouthfeel they don't feel like they're all that better. I don't have a good intuition though and I think numbers are the real way to tell
if you want me to collect some data and know to analyze it I can easily do that
@whitequark no, it's quite complex and painful to characterize, there's a lot of noise measurements to be made, but these are statistical and I am unable to wrap my head around an actual meaning. it's just frustrating.
All I know is that when you use a gyro for dead reckoning, you integrate the rate over time twice and if the measurement has any bias, the integrated result will drift quadratically. Moreover, this "zero rate bias" varies with temperature and also if you look at the box sideways.
@f4grx so, adis16488 is supposed to have an integrator for the angle
this box does not. it just reads as zeroes
i wonder if this means that it's not very good
@f4grx that is my conclusion as well
i have the gd103 firmware. i can share it but it's horrifying spaghetti
@whitequark startpage gave this with the 1001-011 search request https://geo-matching.com/products/high-performance-tactical-grade-mems-gyroscope
(I considered the second line a date code and the third line a lot code)
@f4grx huh, what was the query?
also, wtf is that website? ubo lite doesn't let me follow any links that lead to "syndicatedsearch.goog"
@whitequark Now I get more good looking stuff, I swear I did not get that before.
@whitequark avictech new ref https://avictech.en.made-in-china.com/product/sAJUXYnyglhq/China-Inertial-Navigation-System-High-Performance-North-Seeking-Mems-Gyroscope-MGZ330HC-A1.html
Is this a classic package for gyros or the same product renamed?