Two years passed. Again, writing this up with functioning software and a knowledge of how it works, this seems ridiculously long but in that time I learned to desolder SMD chips, got a bga 153 reader to dump EMMC chips, dug deep into some weird 3d printer mainboards and generally speaking had a blast.
But every once in a while, while booting up PinballFX I'd glance at the wire harness leads tucked away and think "I should do something there."
When I finally did, the first step was to check all my wiring and take fresh samples with both logic analyzers, on the theory that the salae logic clone and the actual one should either show me the same thing or show one of them was wrong.
They showed the same thing for both startup and "general use traces." Then I decided to see how the chip would behave in some odder situations. I disconnected the accelerometer.
Immediately the I2C garbage changed, and it changed in recognizable ways, throwing less traffic (1/4 the traffic).
And I began to wonder if perhaps I was looking at this all wrong and this was some kind of UART style data.
The logic analyzers quickly disabused me of that. The time periods between traffic weren't regular, the time period between pulses wasn't even consistent, and while I could get relatively close to predicting when a burst of data would come, this wasn't some baud rate I could read at.
The breakthrough came when I was zooming out and keying down to look at where the traffic sometimes switched to "general write" instead of "general read." I was talking to myself out loud and said "The number of resets isn't even consistent.
Sigh.
I turned off the protocol decoders and zoomed out, just looking at the wave forms.
There was data there, I'd just been too obsessed with the wiring to see it.


Yes, I'm aware the decoders are still present, I don't have the original screenshots anymore, these are from the traces. You can see that the clock line is clearly a clock signal, but what you can also see is that the data line is different (and you'll have to trust me it repeats), across the first of four bytes.
Which mean the SCL and SDA meant "Serial Clock" and "Serial Data" but not necessarily "I2C" traffic.
Jason Nelson
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.