Hi geekhackers,
long time reader, first time poster here ;-)
I would like to mod my Ergodox EZ with a haptic feedback motor¹. QMK supports this via the DRV2605 feedback driver IC via the I2C bus (
https://beta.docs.qmk.fm/using-qmk/hardware-features/feature_haptic_feedback). I know from this post on keeptalk (
https://www.keebtalk.com/t/did-anybody-try-to-mod-their-ergodox-ez-with-a-custom-led-array/2286) and the open source schematics of the Ergodox EZ on github (
https://github.com/zsa/docs/blob/master/Ergodox%20V5-L.pdf), that the J1 connector on the left hand half is connected to the teensy's I2C bus. As far as I know, this connector is used for the underglow feature of the EZ. Since mine does not have this features, there is no connector soldered to the PCB there. It's free real estate to tinker with!
Before working on my daily driver EZ, I tested my breakout board with the DRV2605 chip (
https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout) on a spare teensy with QMK. It worked just fine. I could use various vibration patterns triggered by all sorts of events (greeting on startup, keypress, macros, ....). Conclusion: The individual hard- and software components work.
Afterwards I soldered the breakout board to the J1 connector on the left hand side of my EZ and enabled the haptic feedback feature in my QMK firmware. Note that I soldered the GND and Vcc of the breakout board directly to the power lines on the TRRS connector. And to my supprise, the feedback works. Sometimes. It does not trigger reliably, i.e. when I press the feedback test button, it only works if the excentric mass of the motor is in a certain position.
This means to me that the communication between the DRV2605 and the EZ's teensy should work (at least to some extent) and that there is enough power supplied to the electronics. Does anyone have experience with using the I2C bus on the Ergodox EZ for some additional components? I would be thankful for any hint I could try to make it work reliably.
cheers!
Edit 1: Here is a picture of how it looks like internally:
¹ Why? I use the QMK leader key function a lot. Some macros I trigger don't have clearly visible effects on screen, so I would like to have feedback whether I triggered the leader key sequence or not. I know this could be done with the built-in LED array on the top, but I don't clearly see that all the time, due to tenting the right half outwards.