Author Topic: Infinity Ergodox modifications/improvements to the PCB  (Read 714 times)

0 Members and 1 Guest are viewing this topic.

Offline ballanux

  • Thread Starter
  • Posts: 4
Infinity Ergodox modifications/improvements to the PCB
« on: Sun, 11 June 2017, 08:13:16 »
I have been working on a Infinity Ergodox modification (hoping to be an improvement). I posted about this on the subreddit but I thought this forum would be better suited to keep track of the progress of the project.

First of all I want to make clear that I don't own an Ergodox so I don't have first hand knowledge of it. I know is a bit silly trying to improve something without even looking at the original first. But money and/or delivery time seems to be a problem with these keyboards :S

My main reason to modify the Ergodox is to improve its electrical design so is more robust to ESD/EMI but I also wanted to know which other aspects could be improved.

Up until now I had the following suggestions:
* Move the location of the LCD so is more visible. Done
* Move the location of the USB ports so are facing the other side of the keyboard. Done
* Allow the outer row to be either 1.5U or 1U. To be done, shouldn't be a problem
* Allow for PCB mounted stabilizers. Not possible without big changes, it interferes with the microcontroller location
* Make both ports USB type C. It probably could be done... but seems complex to do it correctly. If they are the same, the user should be able to plug the cable to the computer or to the other keyboard in any port
* Add Bluetooth connection. In progress, I already selected a Bluetooth 4.2 module and I'm working on the battery circuit
* OLED screen. For now I have kept the original LCD, but maybe a monochrome OLED would improve the visibility of the screen. The 128x64 OLED screens have a similar size to the original and double the vertical resolution.




(don't look too close to the routing, it is still not done. I also have to add the battery charger and switching regulator part)


I have some questions about the project. First of all, about the "legal" part. This is based on the ergodox design from Input Club. I will make the design available to everyone once its finished and tested, I will also include a marking saying this is a derivative project of theirs, but I suppose this shouldn't be any longer called Erdogox, correct? I mean, is a big enough modification and I suppose the either good or bad reputation (or non-existent) this could achieve should not impact the original design. I suppose I should come up with a new name for it :)

I also have some functional questions/thoughts, mainly regarding the Bluetooth operation. My intention is that each half of the keyboard can function either independently from each other or in conjunction. Also the keyboard should be able to operate only from USB if someone decides to not place/use the Bluetooth and battery part of it.

In theory only one side of the keyboard needs to have Bluetooth/battery and the other part could be attache by USB, but I suppose is better to have that circuit in both sides. And the user can decide how to use it.

I would start using the keyboard by USB and implement the Bluetooth part when I have time, or leave it to anyone willing to do the work.

Another feature that occurred to me is to include a thumbstick. I have seen the Synless keyboard which is similar to what I had in mind, but I would like to use the bigger ALPS thumbstick (the one that PS3 uses). I think this would be helpful for people which works on 3D design, and could act as a 3D mouse... of course it would not the same as a SpaceMouse so maybe this wouldn't be so great. I'm not sure on how ergonomic/useful this would be...



I would appreciate any comments / ideas / critics you can think of :)

Offline Findecanor

  • Posts: 3415
  • Location: Stockholm, Sweden
Re: Infinity Ergodox modifications/improvements to the PCB
« Reply #1 on: Sun, 11 June 2017, 14:48:56 »
* I find the USB Type C to the host to be unnecessary. The USB HID protocol would use only four wires anyway and a USB Type C cable is a quite thick cable.
That is, unless you also put a USB hub on the keyboard or something similar that would take advantage of the extra capacity.
Some people have used USB Type C only to gain a reversible connector - but that is unnecessary now that reversible USB Micro B plugs exist.

* I don't think placing the connectors and screen on the inside is a good idea. That would make it difficult to place the keyboards close together. People who put them closer often angle them more which would move the connectors even closer.

* I would like that the new ErgoDox should try to regain some things that the Infinity ErgoDox did not carry over from the original PCB layout.
 - 1u keys at outer columns (already mentioned).
 - PCB-mounted stabilisers (already mentioned)
 - 11 keys in place of 12u keys in thumb clusters. (more like Maltron than Kinesis ...)
 - Compatibility with existing ErgoDox cases (possibly)

There are several cases out there that are compatible with the original ErgoDox but not the Infinity.
The Infinity ErgoDox has (to my knowledge) always been sold with a case, however, where as the original is available in kit form. Cases for the original ErgoDox exist in wood, PVC, metal and acrylic, with or without a a plate.
However, there is one way in which not having any border above the numeric row would be a win: you would be able to get negative tilt without lifting the keyboard as high.

Suggestions for further improvements:

Break-away thumb section:
The ErgoDox has been criticised a lot for the thumb keys being too far away for many people. This has resulted in many builders modding their keyboards in various ways, and I think is also the reason for the ErgoDox-like clone Diverge 3. (Which BTW also has bigger offsets between columns, which could also be argued to be more ergonomic.)
The Kinesis and Maltron work better because their thumb sections are not in the same plane as the finger keys.

One mod I have seen broke away the thumb section and reconnected it with wires. My suggestion to you is that you redesign the thumb-section so that it can be easily broken away from the rest of the PCB and reconnected with a standard ribbon cable. That would make it easier to perform this mod.
That could also permit replacement PCBs for the thumb section, with for instance a thumbstick that would be easily accessible.

Do note that there exist several footprints for thumbsticks of that size. There are also smaller types of thumbsticks available but not all of them are known to be very durable.

BTW. Another type of input device I have thought of would be a roller in front of the keys, similar to a Rollermouse but fixed horizontally. However, I have not found that as a discrete component: I think they are custom-made for the keyboards that have them.

Indicator LEDs facing inwards
The original ErgoDox has three LEDs for layers/Scroll Lock/Num Lock/Caps Lock on the keys in the innermost column, but they are facing outwards in the original design and only the LEDs on the right side work. Your backlit keys have them facing outwards, which is good.
The ErgoDox clone ErgoDone did it even better: It has separate LEDs facing inwards.
Those LEDs would therefore not be part of the backlighting.

11 and 12 inner column
As an alternative to the two 1.5u keys used for the inner columns, allow a 11 and a 12 key. Those would be easier to source.
« Last Edit: Sun, 11 June 2017, 14:52:14 by Findecanor »
"It is no measure of health to be well adjusted to a profoundly sick society."
Daily driver: Phantom (Lubed Cherry MX Clear, Lasered Cherry PBT keycaps with Row A. Plastic "Frankencase". Custom firmware, Swedish layout)

Offline ballanux

  • Thread Starter
  • Posts: 4
Re: Infinity Ergodox modifications/improvements to the PCB
« Reply #2 on: Sun, 11 June 2017, 16:47:36 »
* I find the USB Type C to the host to be unnecessary. The USB HID protocol would use only four wires anyway and a USB Type C cable is a quite thick cable.
That is, unless you also put a USB hub on the keyboard or something similar that would take advantage of the extra capacity.
Some people have used USB Type C only to gain a reversible connector - but that is unnecessary now that reversible USB Micro B plugs exist.

Thanks a lot for the recommendations,

I will answer all of them but is getting late here and I just wanted to answer about the type C connector. This is actually used for communication with the second half of the keyboard. It uses the super speed lanes by connecting a serial communication to the second keyboard. I'm not sure how standard this is as the Infinity is using a twisted pair for a communication that is not differential, just a regular UART. I have changed a bit the connections so both TX1+ and TX1- carry the TX signal to the second half and RX1+ and RX1- carry the RX signal which I think is a little better. This is only used when you connect the slave keyboard to the master, but any of the two halves can be connected to the computer, so both have to have that capability. The old model used a jack connector instead of USB, I suppose that could also be an option, but USB cables are always easier to source.

I have also changed the actual connector model, is still a type C but is friendlier to be manufacturer with low cost PCB manufacturers that only do 0.2mm spacing.

Having a USB hub and connecting the second half through it would be another elegant solution, but both parts of the keyboard communicate between them and only one of the to the computer, so changing that would mean losing some functionality. But I would have to look at the firmware to know more about this.

About the change in the LCD/connectors, they increase the width of the keyboard about 1cm which I don't think is excessive. The cable to the computer could be a 90 one, so the only one that could interfere a little is the type A connector, but I'm hoping it's not a problem... I will make a model with both sides and have then tented to see how the final assembly would look like.


« Last Edit: Sun, 11 June 2017, 16:54:59 by ballanux »

Offline vvp

  • Posts: 649
Re: Infinity Ergodox modifications/improvements to the PCB
« Reply #3 on: Sun, 11 June 2017, 17:58:30 »
About the change in the LCD/connectors, they increase the width of the keyboard about 1cm which I don't think is excessive.
It probably will not be a big deal for many but I would mind the the added connectors on the in the middle. I do not tent a lot but I have both halves quite near together and significantly rotated around z-axe (left side clockwise, right side counter-clockwise). The stuff in the middle would increase the distance between halves.

Either make it possible to separate thumb clusters, or put them nearer to the keywell. You can put them nearer by about 1/2 U if you use only 1U inner column keys and "squash" them up ... as I did it on my Ergodox-derived prototype. The other option is just to completely redo thumb cluster shape. There is a whole thread about other options for thumb cluster.

And get rid of the 1.5 U keys in the outer pinkie columns. They are harder to source and there is no good reason for 1.5U keys so near to the home location.

Offline ballanux

  • Thread Starter
  • Posts: 4
Re: Infinity Ergodox modifications/improvements to the PCB
« Reply #4 on: Mon, 12 June 2017, 15:32:44 »
It probably will not be a big deal for many but I would mind the the added connectors on the in the middle. I do not tent a lot but I have both halves quite near together and significantly rotated around z-axe (left side clockwise, right side counter-clockwise). The stuff in the middle would increase the distance between halves.

After trying some paper mock-ups of the keyboard dimensions I think you are right about the location of the cables, I would probably rotate the halves in the same way you are describing... but doesn't the original design also have this problem, with the cables sticking near the inner top corners? maybe not so much but depends on how much you rotate the halves...

Anyway, I'm still waiting to receive my keycaps and switches, I will 3D print a couple of prototypes and test what I like... but I think I will change very little if anything from the original key locations.

I already have the left PCB routed and with the protections I would like it to have. For the additional features (bluetooth and battery) I will probably design as a add-on PCB under the keyboard, on the space leaved when is tented, instead of extending the keyboard dimensions... but anyway, it will depend on how I feel about it when I have the prototypes done.

Offline ballanux

  • Thread Starter
  • Posts: 4
Re: Infinity Ergodox modifications/improvements to the PCB
« Reply #5 on: Wed, 19 July 2017, 14:12:55 »
I have some progress to share :)
First of all, I'm typing this from my new DIY Ergodox :D

Working on the design I found several things that I wanted to change and it was going to be too risky to implement them before trying them on an actual prototype so, for now, I have built a 3D printed, hand wired, Ergodox.

I only have had the prototype working for a couple of days so I'm still figuring things out, but I managed to compile and test the firmware (I'm using QMK). For the controller I'm using a Teensy 3.2 until I have my own PCB manufactured, this way is much easier to debug and make changes.

My first change to the original design has been to put an OLED screen instead of the LCD. It's the typical cheap screen with the SSD1306 controller and 128x64 resolution, but I think it looks really nice.

Next changes I want to try is RGB backlighting and a Bluetooth module, but that will take some time.


I only had one screen, I'm waiting to receive more


Too much kapton tape, I know!