The DHL guy dropped off a new batch of PCBs here today, so I promptly set about building a new HBG3-Relay from a couple of them, just to test that the batch is all good and functional.
Everything worked, and I plugged in my favourite red Nunchuck for the final test.. not detected. Huh? Tried the blue Nunchuck instead, no problem all good. HUH? Back to the red one, no worky.
Very tempting to just leave it at that.. after all, the blue one works!
But.. no, not good enough. So I removed the Nunchuck connector and all of the solder around it, and installed another new Nunchuck socket in its place. All good now, both the red and blue Nunchucks work fine.
Are you puzzled yet? I was.. briefly.
My theory is that perhaps a bit of stray solder contacted one of the two middle pins of the connector, shorting it to one of the large nearby ground pads. One of those two pins is an I2C address select pin, not normally used. But if shorted to GND, the Nunchuck is supposed to respond to a different I2C address than the default address. This is how a Nintendo game box can have two Nunchucks without any extra internal wiring or GPIOs required.
Along with this, I suspect the blue Nunchuck I have simply ignores the address pin, but the red one actually respects it and changed I2C address because of that.
What I ought to do now, is deliberately short the address pin on an HBG3 and verify that the red and blue Nunchucks behave as theorized above. And perhaps have the HBG3 firmware try both addresses for fun!
EDIT: Nope. So much for that theory.
Tried tying the address select pin both high and then low (via a 220-ohm resistor), and neither caused the red Nunchuck any issue. So.. still a bit of a mystery as to what the original problem was.
Edited by mlord, 17 June 2024 - 07:54 PM.