Author Topic: Extended Ergodox firmware using I/O expander  (Read 3201 times)

0 Members and 1 Guest are viewing this topic.

Offline TheloniousDrunk

  • Thread Starter
  • Posts: 51
Extended Ergodox firmware using I/O expander
« on: Sun, 06 March 2022, 15:07:54 »
At the tail end of a much procrastinated build for my brother. Essentially took an Ergodox and added a function row at the top. How do I build a custom QMK file for this considering the layout isn't one that can be found on qmk.config.fm? Never gone this custom before so this is new territory (I've make my own layout and flashed the config before, but that was when the base keyboard was an option to select from on qmk.config.fm, which now is not the case)

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Extended Ergodox firmware using I/O expander
« Reply #1 on: Tue, 08 March 2022, 12:03:06 »
At the tail end of a much procrastinated build for my brother. Essentially took an Ergodox and added a function row at the top. How do I build a custom QMK file for this considering the layout isn't one that can be found on qmk.config.fm? Never gone this custom before so this is new territory (I've make my own layout and flashed the config before, but that was when the base keyboard was an option to select from on qmk.config.fm, which now is not the case)
Are you using two pro micros or an IO expander in one half?
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline TheloniousDrunk

  • Thread Starter
  • Posts: 51
Re: Extended Ergodox firmware using I/O expander
« Reply #2 on: Tue, 08 March 2022, 22:11:53 »
At the tail end of a much procrastinated build for my brother. Essentially took an Ergodox and added a function row at the top. How do I build a custom QMK file for this considering the layout isn't one that can be found on qmk.config.fm? Never gone this custom before so this is new territory (I've make my own layout and flashed the config before, but that was when the base keyboard was an option to select from on qmk.config.fm, which now is not the case)
Are you using two pro micros or an IO expander in one half?

Teensy on right half and IO expander on left

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Extended Ergodox firmware using I/O expander
« Reply #3 on: Sat, 19 March 2022, 05:37:49 »
I've split this from the Simple Questions thread because it's not simple enough for me to answer.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline TheloniousDrunk

  • Thread Starter
  • Posts: 51
Re: Extended Ergodox firmware using I/O expander
« Reply #4 on: Wed, 23 March 2022, 11:53:38 »
Right on, thank you.

I have the keymaps from KLE saved as separate layouts (left half as one, right half as the other). It seems like now I need to go to kbfirmware.com, load in each of the individual layouts, and set the wiring and pins according to my schematics. Is that the right approach? Then that gets me the hex file that I can edit and flash?

Offline TheloniousDrunk

  • Thread Starter
  • Posts: 51
Re: Extended Ergodox firmware using I/O expander
« Reply #5 on: Tue, 29 March 2022, 17:35:29 »
I'm going to proceed to use KLE file and the keyboard firmware builder to edit the wiring and the pins according to the schematics. It seems that there's something that I should watch out for pertaining to the MCP on the left-hand keyboard?

Currently the left and right half are in 2 separate KLE layouts, but if that's not the right way to do it I will definitely need to combine them into one.

Offline TheloniousDrunk

  • Thread Starter
  • Posts: 51
Re: Extended Ergodox firmware using I/O expander
« Reply #6 on: Wed, 04 May 2022, 14:46:23 »
Okay so far what I can tell is that I need to modify the ergodox_ez.h file from the qmk repos. I'm adding a new layout with #define LAYOUT_ergodox_fn. It seems like the matrix positions are transposed from the actual layout values above them, so I'm operating on that one.

Since I'm adding a row I'll have to add something to the I2C aliases and register addresses at the top to reference which pin on the MCP and the teensy have the new row mapped to them.

Other than that I should be able to just define my kemap and flash, correct? Is there anything I'm missing about the process?

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Extended Ergodox firmware using I/O expander
« Reply #7 on: Thu, 05 May 2022, 09:37:02 »
You're not missing anything, if you work out how to do it on the MCP side please post how :)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod