I made a few experiments with two original and two 3rd party nunchucks. I had no problem with the 3rd party nunchucks in principle. The software module works with both. But the cheaper ones will die earlier. They do not have the same hardware protection as the original ones.
For instance when I put the connector in the wrong direction one clone was immediately dead. The original nunchuck pulls the voltage down, probably with a diode.
Maybe this is the reason for the negative reviews of the cheaper nunchucks?
Another point: Some older Arduino libraries use "encrypted" communication which is not supported by the cheap nunchucks. You can recognize this by the initialization sequence 0x40 0x00. The unencrypted communication starts with 0xF0 0x55.
There is a little bug in the current espruino module. The second last sensor value will be returned by read() not the last one. That's why the first read always gives wrong data.
The range of values from the joystick and the neutral point differ strongly between several nunchucks. I added a few calibration methods (zero, maxX, maxY) for normalization and the results look good.
After documenting I will make a pull request within the next few days to fix the two points.
But I have questions too:
What is the correct English name? Nunchuck or Nunchuk
The javascript file is wii_nunchuck.js. The documentation lies in Wii.md. Could I rename this file to wii_nunchuck.md?
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I made a few experiments with two original and two 3rd party nunchucks. I had no problem with the 3rd party nunchucks in principle. The software module works with both. But the cheaper ones will die earlier. They do not have the same hardware protection as the original ones.
For instance when I put the connector in the wrong direction one clone was immediately dead. The original nunchuck pulls the voltage down, probably with a diode.
Maybe this is the reason for the negative reviews of the cheaper nunchucks?
Another point: Some older Arduino libraries use "encrypted" communication which is not supported by the cheap nunchucks. You can recognize this by the initialization sequence 0x40 0x00. The unencrypted communication starts with 0xF0 0x55.
After documenting I will make a pull request within the next few days to fix the two points.
But I have questions too: