PianoHAT playing only half of the notes

Hi everybody!

I have a problem with my pianoHat. The notes C, C#, D, D#, E, F, F# and G doesn’t work. Leds are working when I press any key, and the rest of the notes and buttons works as expected. The problem seem to be with the mentioned ones, which are the ones controlled by the Cap1188 in address 0x28 (in the pianohat library it is called _piano_ctog).

Further testing, the problem seems related to the alert pin (bmc4) not working properly. Is it possible that the board is damaged? Is there any other solution that I can try to fix this or should I just get another board?
I tried the following:

  • wiring bcm4 (of the piano hat) to bcm27 in the rpi (alert pin for the chip on 0x2b, which works) and modifying library’s code to listen for alerts on that pin. Still doesn’t work.
  • I faked an alert signal on bcm4 by connecting and disconnecting it to 3.3V. After doing that, I get a log with the keys pressed. So again this seems to confirm that the board’s chip doesn’t sends the proper alert signal.

Any help will be appreciated. Thanks!

More details on that:

  • Both chips are detected by my raspberry pi. If I run sudo i2cdetect -y 1 I get the proper response with devices on 0x28 and 0x2b.
  • I tried with two different rpi3 boards to check if there was any problem with the soldering of the headers (although they came soldered). I also tried with the phat stack in different positions, with different ribbon cables (both for the pianohat and to connect the rpi). Also I tried to connect it with jumper cables. In none of the cases it worked, so a soldering problem seems unlikely.
  • 1-wire is disabled. Moreover, as I explained above, I tried using another pin in the rpi for the alerts and still doesn’t work. It seems that the problem is on the bcm4 of the board.

I had a similar problem in the few years ago.

1-Wire should be enabled.

Have you looked on Github to compare old and updated code? That was what I did.

Hope that help.