Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split Communication Issues #22

Open
m-reiner opened this issue May 17, 2023 · 4 comments
Open

Split Communication Issues #22

m-reiner opened this issue May 17, 2023 · 4 comments

Comments

@m-reiner
Copy link

m-reiner commented May 17, 2023

I've been struggling for around a week trying to get either serial or i2c working between the halves.

To try and get i2c working, I've added through hole resisters to the left side using the holes above and below the SMD pads for R1 and R2, and jumpers between the P1/2 holes and the bottom through holes for R1/2 on the right half. I tried adding #define USE_I2C in both the v4 config.h as well as my keymap's config.h, but I could never get it to work.

I gave up on i2c and tried to at least get serial working by bridging the W1 pad on both sides' PCBs and then adding #define USE_SERIAL in both the v4 config.h as well as my keymap's config.h, but I could never get it to work.

I've built 4x PCBs, swapped out microcontrollers, verified continuity between the TRRS jacks with a multimeter, and tried a different TRRS cable (both cables worked fine with my dactyl manuform). No matter what I tried, I can't seem to get it to work.

The only thing that kind of worked was setting #define EE_HANDS and flashing each half as specifically the right or left side. If I then hook USB cables from each side's microcontroller to my computer (without a TRRS cable, of course), it kinda works though it's super laggy.

I tried not to bother you, but I've been stuck for around a week at this point and I REALLY like the V4's design. Anything you can suggest to help me get this working, preferably using i2c, would be sincerely appreciated.

@kenzya
Copy link

kenzya commented Aug 7, 2023

I built an avalanche v4 today and I have this exact issue. i2c or serial aren't working. I tried using the .hex files provided by beekeeb here: https://docs.beekeeb.com/build-guide/avalanche-v4.2-photo-build-log and have the exact same issue. Hooking each half up individually, key presses and screen work no problem. I also hooked both halves up each with a usb-c at the same time, both screens powered on, and then I pulled the usb-c from the right side, and the screen stayed on so it must be getting power from the TRRS connector. But just plugging in the left side, no key presses work on the right side and the screen won't power on.

I've soldered on the resistors to the left half, bridged the two points on the right half, set use_i2c in the config, compiled and flashed to both halves. 2nd half doesn't work. I removed the resistors, unbridged the two pads, bridged w1 on both halves, set use_serial in the config, compiled and flashed to both halves. 2nd half doesn't work.

Edit: Added the following to the config.h to fix
#define SPLIT_USB_DETECT
#define SPLIT_USB_TIMEOUT 2500

@vlkv
Copy link
Owner

vlkv commented Aug 7, 2023

Hello,
I would love to help, but I am using Chocofly keyboard for more than a year and forget most of the details about how to get up and running the Avalanche with i2c/serial. The only info resourse is https://github.com/vlkv/avalanche/blob/master/build_instructions.md#choose-serial-or-i2c (and it worked as I remember) and our community chat: https://t.me/avalanche_kb
The best advice here is to ask help from some people in that community chat. There are a lot of people who will gladly help you.

Thanks.

@misel228
Copy link

Hello,

I'm late to the party but I faced similar problem. No matter what I tried, I couldn't get I2C communication working.

But then I came across this post on Reddit

There, compfixer87 posted that he got it working by shorting P1 and P2 on the primary half. The image in the build instructions (https://github.com/vlkv/avalanche/raw/master/images/communication_wiring.jpg) mentions the secondary half but that seems to be wrong.

This helped me getting it running with I2C and I hope it can help you or others, too.

@m-reiner
Copy link
Author

Thanks so much for sharing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants