Author Topic: ErgoDox - Custom split ergo keyboard.  (Read 1249919 times)

0 Members and 2 Guests are viewing this topic.

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3000 on: Sun, 24 November 2013, 17:14:19 »
Guys, please, I want to cut Litster's acrylic case but I could not find the required thickness of each layer to make the order.

Deskthority wiki says
   "In litster's case design, the case is built from layers of acrylic (or aluminium) bolted together. The switch mounting plate layer is thicker than the usual 1.5 mm, making the switches friction-fit rather than snapped on ..."

By this picture it seems that the layers 2,3 and 4 are using the same thickness ...

Please?

Somewhere in this thread (page 8288), you should find the thickness of the layers:
top: 1/8"
middle 3 layers: 3/16"
bottom: 1/8"

In my case, I used 3 mm and 5 mm.
« Last Edit: Mon, 25 November 2013, 07:58:53 by plainbriny »

Offline kurplop

  • THE HERO WE DON'T DESERVE
  • Posts: 992
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3001 on: Sun, 24 November 2013, 19:11:28 »
The three inner layers are 3/16" and the outer layers are 1/8".

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3002 on: Mon, 25 November 2013, 06:45:39 »
I swear that I searched before asking - gee, there are too many pages in this topic.

I will use your setup plainbriny:
Layer 1 Top       - 3mm
Layer 2 Spacer  - 5mm
Layer 3 Plate     - 5mm
Layer 4 Spacer  - 5mm
Layer 5 Bottom  - 3mm

Thank you very much plainbriny and kurplop!
 :)
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline Zustiur

  • Posts: 235
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3003 on: Tue, 26 November 2013, 04:03:40 »
Wee, I just received my dox... now I just have to learn to solder. And have time ...

Offline thisMoment

  • Posts: 6
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3004 on: Tue, 26 November 2013, 18:11:06 »
Got my ErgoDox all put together! Seems like I am close to having it all working, but I am experiencing a strange problem.

The right hand side by itself seems to work fine, but as soon as the left hand side is plugged in, it starts inputting keystrokes. Normally, I would assume that just means I did some bad soldering somewhere (this is my first time soldering), but the keys it is inputting are all one row. If I open a text editor and plug in the left hand side, I get many repetitions of "arstd<Tab>" until I push down lots of keys and (I'm assuming) exceed the rollover limit. At this point, no keys will work until it is unplugged. I use Colemak, so this is more or less the home row.

This seems like it could be a coincidence, but I am more inclined to think it's not and that there is a reason why this row is behaving this way.

 When I look on the PCB, it appears that the keys are connected in columns so I was unable to just find a short somewhere that could affect an entire row.

Any help is appreciated.  :thumb:

Offline ic07

  • Posts: 190
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3005 on: Tue, 26 November 2013, 18:29:14 »
Have you checked the solder joints on the I/O Expander?  And on both of the TRRS connectors?

Offline thisMoment

  • Posts: 6
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3006 on: Tue, 26 November 2013, 20:11:56 »
Everything looks good as far as I can tell.

I added a little solder to the trrs and io expnander pins. Same results.

Edit: Got it! The tab key's cherry mx pin had a little solder flowing to a nearby contact. Strange that it would act the way it did but....
« Last Edit: Tue, 26 November 2013, 20:26:14 by thisMoment »

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3007 on: Thu, 28 November 2013, 21:30:45 »
Been working on the RGB backlight edition, figured I'd give an update.

I've fixed a couple of bugs and moved some things around to make life easier, worked on adjusting the Lister case (full and classic), looks like the only thing that needs to be done is to drill/cut one 5mm hole in the upper spacer for the left hand case.

I've got all the parts in house except the prototype PCB which should arrive from OSHPark in the next few days.

Here are some renderings I did for fun after changing the Lister case:

46189-0
46191-1
« Last Edit: Thu, 28 November 2013, 22:25:40 by jalli »
Antonia

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3008 on: Thu, 28 November 2013, 22:44:09 »
Been working on the RGB backlight edition, figured I'd give an update.

So the backlight will give every key the same color? We may change the colors of the two halves independently, but can not change the backlight of individual keys?

In your PCB, I see LED connection pads for every key switch. Does this mean that we can add LEDs (single color) for every key, and modify the firmware so that one may control the backlight of each and every key? For example, light up a LED when a key is pressed?

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3009 on: Fri, 29 November 2013, 07:24:47 »
  • Correct, you can set the color and intensity for each half independently, all keys show the same color and same intensity per key.
  • Second, you could add individual LEDs but it's not trivial, I want to just quickly review why I chose to use a single LED per half and fibers rather than individual LEDs

Single and dual color LEDs come in 2 pin through hole mount packages, typically 3,5,10mm width, for a Cherry switch you really want the 3mm without a collar. In the case of dual color LEDs you have to switch the anode and the cathode to switch colors (so you still need to wires to controller).

RGB LEDs always have at least 4 pins, this poses a problem since the Cherry switch only has mounting holes for 2 pins, it might be possible to hack this using a custom top since the bottom actually has 4 holes in it. The second problem is that nobody makes RGB LED's in 3mm packages, the smallest I have seen is 5mm.

Let's say we found an RGB LED and found a way to mount it in a Cherry switch, we now have to worry about power, a single USB connection can supply 500mA @ 5v, some of this is taken by the teensy and the IO expander. Since you have 80 LEDs to deal with you would need to find 5mA LEDs, assuming you would be using resistors to limit the current, note that this is 5mA per color and assumes that you would only ever power one color of the LED at a time. For a full low loss controller circuit without resistors you would be talking about a lot of money and chips.

Now to control these, simplest would be a single jumper per color per switch (120 jumpers per half), not very practical thought. Probably would want some sort of microcontroller or IO expander that would allow dimming/mixing of colors, but you would need something with at least 120 PWM capable pins.

Then we need to worry about wiring, assuming ground is available at the switch we still need to route 120 wires per half back to the controller and add 120 resistors to the PCB.



Having mentioned all of that you can still add the diodes, I use the standard mounting holes to route the optical fibers so you could put a standard diode in there but it would not be connected to anything.

Been working on the RGB backlight edition, figured I'd give an update.

So the backlight will give every key the same color? We may change the colors of the two halves independently, but can not change the backlight of individual keys?

In your PCB, I see LED connection pads for every key switch. Does this mean that we can add LEDs (single color) for every key, and modify the firmware so that one may control the backlight of each and every key? For example, light up a LED when a key is pressed?
Antonia

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3010 on: Fri, 29 November 2013, 08:05:36 »
  • Correct, you can set the color and intensity for each half independently, all keys show the same color and same intensity per key.
  • Second, you could add individual LEDs but it's not trivial, I want to just quickly review why I chose to use a single LED per half and fibers rather than individual LEDs

Now I got it, thank you for sharing your ideas and look forward to your awesome work!

Offline yaniv

  • Posts: 2
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3011 on: Sat, 30 November 2013, 07:56:33 »
Can I use a Cherry MX "wire bridge" model on  the ergodox PCB? From the PCB layout, I can see that a "wire bridge" switch will shortcut the on board diode, but I can't understand the purpose of this and the implications. Can someone be kind to explain this?

Thanks,
Yaniv

Offline Findecanor

  • Posts: 5036
  • Location: Koriko
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3012 on: Sat, 30 November 2013, 11:42:37 »
Can I use a Cherry MX "wire bridge" model on  the ergodox PCB? From the PCB layout, I can see that a "wire bridge" switch will shortcut the on board diode, but I can't understand the purpose of this and the implications. Can someone be kind to explain this?
Hello. Welcome to the board!

Short story: If you bypass the diode with a jumper wire then you will get extra unwanted "phantom" key presses ("ghost keys") on certain key combinations with three keys or more.

Long story: The key switches are organised (logically) in a matrix with each key switch in a junction, connecting a row and a column together when the key is pressed. The microcontroller puts current on each row in turn and senses the columns for key presses on that row. If one key on that row is pressed and another key on the same column as that key is pressed, then current would flow backwards to the second key's row - which wasn't intended. There is therefore also a diode at each switch, stopping current from flowing backwards.
Cheap keyboards don't have diodes - instead they have sparser matrices, and the microcontroller detects in software when there is even a slight possibility of a ghost key - and blocks further key presses from being registered. Therefore, cheap keyboards don't support certain key combinations of three keys - they are said to have only "2-key rollover".

The reason for those pads/holes in the PCB is for using diodes inside the Cherry MX switches. Cherry sells switches with diodes in them to manufacturers, and many older keyboards use them. Most newer keyboards with Cherry MX switches have diodes outside the switch.
The ErgoDox is designed so that you can build it with or without a switch mounting plate. Without a plate, using a diode or jumper wire inside the switch will increase its stability. With a plate, the wire/diode is not necessary.
« Last Edit: Sat, 30 November 2013, 13:01:49 by Findecanor »

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3013 on: Sat, 30 November 2013, 16:48:12 »
Got my ErgoDox all put together! Seems like I am close to having it all working, but I am experiencing a strange problem.

The right hand side by itself seems to work fine, but as soon as the left hand side is plugged in, it starts inputting keystrokes. Normally, I would assume that just means I did some bad soldering somewhere (this is my first time soldering), but the keys it is inputting are all one row. If I open a text editor and plug in the left hand side, I get many repetitions of "arstd<Tab>" until I push down lots of keys and (I'm assuming) exceed the rollover limit. At this point, no keys will work until it is unplugged. I use Colemak, so this is more or less the home row.

This seems like it could be a coincidence, but I am more inclined to think it's not and that there is a reason why this row is behaving this way.

 When I look on the PCB, it appears that the keys are connected in columns so I was unable to just find a short somewhere that could affect an entire row.

Any help is appreciated.  :thumb:

I got exactly the same issue today. After I de-soldered  my wrongly placed I/O expander IC and put in a new one, the left hand side of my ErgoDox finally come back alive.  However it exhibit the same symptoms described above: the left home row just send scancodes repetitively.

After several hours of testing, I finally found the culprit: while de-soldering the IC, I put too much flux, and the hot air gun turned these flux into conductive material, creating shorts on the PCB. With these flux removed, my ErgoDox is functioning normally now.  ;D

Offline yaniv

  • Posts: 2
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3014 on: Sat, 30 November 2013, 22:02:38 »
Hi Findecanor,

Thank you for taking the time to answer my question. I do understand that using a 4 point solder will provide a better mechanical bond for each key when not using a plate (this is my case).

The Cherry MX key I have available in the local market are the one with the "wire bridge" (Model J) or the "inside diode" (model D) - see the part number section in the Cherry MX specification. I am not sure which one are they - I have to buy one and measure it to see if it is and internal diode or wire bridge.

For Cherry MX part number and model see http://www.cherrycorp.com/english/switches/key/mx.htm


Confirming with you my understanding:
If it is a diode - it means that I don't have to solder an external diode, right ?
If it is a wire bridge - I can not use it because it will short the external diode and cancel it - I will have ghosting. right?

Thank you,
Yaniv
Can I use a Cherry MX "wire bridge" model on  the ergodox PCB? From the PCB layout, I can see that a "wire bridge" switch will shortcut the on board diode, but I can't understand the purpose of this and the implications. Can someone be kind to explain this?
Hello. Welcome to the board!

Short story: If you bypass the diode with a jumper wire then you will get extra unwanted "phantom" key presses ("ghost keys") on certain key combinations with three keys or more.

Long story: The key switches are organised (logically) in a matrix with each key switch in a junction, connecting a row and a column together when the key is pressed. The microcontroller puts current on each row in turn and senses the columns for key presses on that row. If one key on that row is pressed and another key on the same column as that key is pressed, then current would flow backwards to the second key's row - which wasn't intended. There is therefore also a diode at each switch, stopping current from flowing backwards.
Cheap keyboards don't have diodes - instead they have sparser matrices, and the microcontroller detects in software when there is even a slight possibility of a ghost key - and blocks further key presses from being registered. Therefore, cheap keyboards don't support certain key combinations of three keys - they are said to have only "2-key rollover".

The reason for those pads/holes in the PCB is for using diodes inside the Cherry MX switches. Cherry sells switches with diodes in them to manufacturers, and many older keyboards use them. Most newer keyboards with Cherry MX switches have diodes outside the switch.
The ErgoDox is designed so that you can build it with or without a switch mounting plate. Without a plate, using a diode or jumper wire inside the switch will increase its stability. With a plate, the wire/diode is not necessary.

Offline Glod

  • * Elevated Elder
  • Posts: 1998
  • Location: Virginia, USA
  • Also Known As Ergonomech
    • YouTube Channel
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3015 on: Sat, 30 November 2013, 23:26:35 »
if you use inside diodes you still have to open up each switch to make sure the diodes are in the correct direction and pull them out and flip them if they arent, they are different direction for the left and right hand

Offline sordna

  • Posts: 2248
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3016 on: Sun, 01 December 2013, 02:31:09 »
if you use inside diodes you still have to open up each switch to make sure the diodes are in the correct direction and pull them out and flip them if they arent, they are different direction for the left and right hand

I used switches with integrated diodes and didn't have to do that. If you compile the firmware yourself, you can select your own diode direction for the left and right half of the keyboard independently, by commenting / uncommenting a couple lines in one of the files.
Kinesis Contoured Advantage & Advantage2 LF with Cherry MX Red switches / Extra keys mod / O-ring dampening mod / Dvorak layout. ErgoDox with buzzer and LED mod.
Also: Kinesis Advantage Classic, Kinesis Advantage2, Data911 TG3, Fingerworks Touchstream LP, IBM SSK (Buckling spring), Goldtouch GTU-0077 keyboard

Offline Findecanor

  • Posts: 5036
  • Location: Koriko
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3017 on: Sun, 01 December 2013, 14:38:38 »
If it is a diode - it means that I don't have to solder an external diode, right ?
Right ... if you are going for the standard layout. If you want 1×1-sized keys instead of 1×2-sized keys for the thumb keys, then you would have to place the diodes for those keys outside.

If it is a wire bridge - I can not use it because it will short the external diode and cancel it - I will have ghosting. right?
You could open each switch and remove the wires. Tedious work, though.

Offline Glod

  • * Elevated Elder
  • Posts: 1998
  • Location: Virginia, USA
  • Also Known As Ergonomech
    • YouTube Channel
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3018 on: Sun, 01 December 2013, 14:51:44 »
if you use inside diodes you still have to open up each switch to make sure the diodes are in the correct direction and pull them out and flip them if they arent, they are different direction for the left and right hand

I used switches with integrated diodes and didn't have to do that. If you compile the firmware yourself, you can select your own diode direction for the left and right half of the keyboard independently, by commenting / uncommenting a couple lines in one of the files.

changing it in the firmware? well played sir.

Offline daerid

  • Posts: 4276
  • Location: Denver, CO
    • Rossipedia
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3019 on: Thu, 05 December 2013, 11:06:52 »
In case anybody was wondering (like I was) which rounded cap nuts to buy for your ErgoDox, I can answer that for you:

http://www.amazon.com/gp/product/B009J2WE90/

Picked up a pack of these (25ct) for $4.50 USD, they fit perfectly. Gonna pick up another pack soon to have enough for my full hand and 2nd classic (from last round). w00t


Offline BliTzKiN

  • Posts: 142
  • Location: Singapore
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3020 on: Thu, 05 December 2013, 20:19:27 »
Help! I just finished building my Ergodox and it worked fine on my computer, but after removing the cables and plugging them back in later on, my computer showed a message that said the USB device was not recognized. I tried connecting the USB straight into the Teensy and that worked fine, so I assumed it was a bad connection with the mini USB ports, I resoldered that and it worked fine again. But when I removed the cables and reconnected them, the same problem occurred saying that the USB device was not recognized, once again I tried connecting to the Teensy and it worked.

Does the problem lie with the mini USB connectors? I used a new USB cable when I resoldered it the first time so I doubt there is a problem with that. I checked my solder joints and they look fine to me, does anyone know where the problem may be coming from? Do I need to be downloading a firmware or something? Cause all I did was download the hex file from massdrop's configuration.

Thanks for reading :D

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3021 on: Thu, 05 December 2013, 23:08:23 »
Sound like an issue with the connector.
I got the same problem in my first attempt to build the connector
46971-0
46973-1
46975-2
This connector turned out to be faulty, and the teensy loader can not detect the presence of the Teensy board.
Direct connection to teensy is working. Thus I have to use another USB connector.

Maybe you can post some pics of the connector?
Also, a multimeter is really helpful in finding shorts.

Help! I just finished building my Ergodox and it worked fine on my computer, but after removing the cables and plugging them back in later on, my computer showed a message that said the USB device was not recognized. I tried connecting the USB straight into the Teensy and that worked fine, so I assumed it was a bad connection with the mini USB ports, I resoldered that and it worked fine again. But when I removed the cables and reconnected them, the same problem occurred saying that the USB device was not recognized, once again I tried connecting to the Teensy and it worked.

Does the problem lie with the mini USB connectors? I used a new USB cable when I resoldered it the first time so I doubt there is a problem with that. I checked my solder joints and they look fine to me, does anyone know where the problem may be coming from? Do I need to be downloading a firmware or something? Cause all I did was download the hex file from massdrop's configuration.

Thanks for reading :D

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3022 on: Fri, 06 December 2013, 23:42:26 »
Got my first set of custom ErgoDOX RGB Backlit PCBs, as can be expected there were a couple of bugs/issues.

I'll try to list them here in hope it might help others ordering prototype PCBs.

  • Kicad created two separate drill files, one for the NPTH holes and another for the functional (through hole mount, etc), unfortunately OSHPark only processed one by default, NPTH drill file was not processed so all my mechanical holes are missing, I'll just manually drill them for the prototypes but this would have been a disaster for any volume production.
    Luckily for future OSHPark runs I can merge the two Excellon drill files using GerbV (import each file and then export merge them to a new file).
  • My second issue which I already mentioned is that some of my ground pads were not connected to the ground plane, this is due to re-importing from the schematics and redrawing the filled areas, unfortunately this can clear connection settings from existing modules.
  • The third issue that I also mentioned before is that the USB connector uses plated slots, this unfortunately is not supported by OSHPark, they replaced it with a small throughhole, it could probably have been
    replaced by a larger through hole enabling the whole connector to fit but alas.
  • One of the optional switch positions in the outermost column was still wrong.

I'm sure I'll discover more issues as I start soldering and testing but at least the boards are good enough to do the testing.

47088-0

And here is a link to an updated OSHPark project with the issues fixed, I still don't recommend anyone order this thing until it's tested and verified.
http://oshpark.com/shared_projects/xx7D5F59
Antonia

Offline Talfrey

  • Posts: 28
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3023 on: Sat, 07 December 2013, 07:05:23 »
Looking forward to seeing the end result!

Please, post pictures of the process too!  ;D

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3024 on: Sun, 08 December 2013, 08:46:38 »
Got a whole bunch of work done yesterday, thought I would post some pictures.

I used my toaster oven as an SMD reflow oven, solder paste on the SMD stuff and then baked until crispy.

I'm not particularly proud of the work but I spent an hour probing with my multimeter and it looks like it all worked out, good solder mask and fresh gold plated pads saved the day.

The SMD work was easier than I thought but by no means trivial, I think if this would become a kit it would need to include stencils to apply the paste in correct amounts.

Now for the I2C, software and testing!
« Last Edit: Sun, 08 December 2013, 16:50:37 by jalli »
Antonia

Offline OldDataHands

  • Posts: 280
  • Location: Michigan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3025 on: Sun, 08 December 2013, 15:02:38 »
Can't wait to hear whether or not those interesting parts with SMD pads on the bottom
soldered up OK with this method.  I've been chicken to use the bottom-pad parts without
stencils...

Offline yakitysax

  • Posts: 51
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3026 on: Mon, 09 December 2013, 00:36:52 »
Got my first set of custom ErgoDOX RGB Backlit PCBs, as can be expected there were a couple of bugs/issues.

I'll try to list them here in hope it might help others ordering prototype PCBs.

  • Kicad created two separate drill files, one for the NPTH holes and another for the functional (through hole mount, etc), unfortunately OSHPark only processed one by default, NPTH drill file was not processed so all my mechanical holes are missing, I'll just manually drill them for the prototypes but this would have been a disaster for any volume production.
    Luckily for future OSHPark runs I can merge the two Excellon drill files using GerbV (import each file and then export merge them to a new file).
  • My second issue which I already mentioned is that some of my ground pads were not connected to the ground plane, this is due to re-importing from the schematics and redrawing the filled areas, unfortunately this can clear connection settings from existing modules.
  • The third issue that I also mentioned before is that the USB connector uses plated slots, this unfortunately is not supported by OSHPark, they replaced it with a small throughhole, it could probably have been
    replaced by a larger through hole enabling the whole connector to fit but alas.
  • One of the optional switch positions in the outermost column was still wrong.

I'm sure I'll discover more issues as I start soldering and testing but at least the boards are good enough to do the testing.

(Attachment Link)

And here is a link to an updated OSHPark project with the issues fixed, I still don't recommend anyone order this thing until it's tested and verified.
http://oshpark.com/shared_projects/xx7D5F59
That purple PCB is hot, especially if I make a Ghost in the Shell inspired themed Ergodox that uses dark purple, light purple, and dark grey colors.

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3027 on: Mon, 09 December 2013, 06:23:29 »
Got my first set of custom ErgoDOX RGB Backlit PCBs, as can be expected there were a couple of bugs/issues.

I'll try to list them here in hope it might help others ordering prototype PCBs.

  • Kicad created two separate drill files, one for the NPTH holes and another for the functional (through hole mount, etc), unfortunately OSHPark only processed one by default, NPTH drill file was not processed so all my mechanical holes are missing, I'll just manually drill them for the prototypes but this would have been a disaster for any volume production.
    Luckily for future OSHPark runs I can merge the two Excellon drill files using GerbV (import each file and then export merge them to a new file).
  • My second issue which I already mentioned is that some of my ground pads were not connected to the ground plane, this is due to re-importing from the schematics and redrawing the filled areas, unfortunately this can clear connection settings from existing modules.
  • The third issue that I also mentioned before is that the USB connector uses plated slots, this unfortunately is not supported by OSHPark, they replaced it with a small throughhole, it could probably have been
    replaced by a larger through hole enabling the whole connector to fit but alas.
  • One of the optional switch positions in the outermost column was still wrong.

I'm sure I'll discover more issues as I start soldering and testing but at least the boards are good enough to do the testing.

(Attachment Link)

And here is a link to an updated OSHPark project with the issues fixed, I still don't recommend anyone order this thing until it's tested and verified.
http://oshpark.com/shared_projects/xx7D5F59
That purple PCB is hot, especially if I make a Ghost in the Shell inspired themed Ergodox that uses dark purple, light purple, and dark grey colors.

I'm not much of an artist, an engineer perhaps but the only times I make something pretty is when I design something functional that then happens to be pretty due to it's functional qualities.

Why don't you design a Ghost in the Shell theme? Kicad has a bitmap to component converter,  you should be able to design an awesome silkscreen with some care and thought.
Antonia

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3028 on: Tue, 10 December 2013, 19:57:56 »
Another update.

  • Looks like the soldering all worked out, I have power to the driver and the LEDs light up.
  • I2C is being a real pane in the ass, I seem to be able to talk to everything and anything except the darned LED controller, which I'm able to talk to but every time I fetch a register from it it just returns FF regardless of which register I'm reading, that's quite strange.
  • Looks like the LRTB C9TP light pipe might not be up for the task, it appears to let more light through the top than it directs to the fibers

If anyone can suggest a handy 90° light pipe or if there are any I2C superstars out there I'd appreciate comments/suggestions.
Antonia

Offline fisofo

  • Posts: 65
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3029 on: Wed, 11 December 2013, 08:41:12 »
Looking for some advice here: I've had my ErgoDox since August and have loved it, and recently got the aluminum top layer for it for the looks; well, this past week I came to my desk and got a static shock when I touched the keyboard and it stopped being recognized by windows.

I disconnected and reconnected it and it was fine, but now I am finding that every computer I connect to I get the dreaded "USB Device Unrecognized" and device manager says "Windows has stopped this device because it has reported problems. (Code 43)". What's weird is that if I connect through a USB hub, it works fine, but not directly to a machine. Additionally, the teensy loader will not recognize it over direct USB either, but only through a hub.

I've tried:
  • multiple other USB ports
  • a bunch of different USB cables
  • another TRRS cable
  • re-flashing the firmware
  • the steps on this page: http://www.pjrc.com/teensy/troubleshoot.html
  • removing USB devices from devmgr and re-adding
  • probably a few things I'm forgetting...

It seems like there really is a problem with USB on the teensy; any thoughts on how I can diagnose and fix it? Or other things to try? For now I can at least use it with a hub.

Offline OldDataHands

  • Posts: 280
  • Location: Michigan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3030 on: Wed, 11 December 2013, 09:06:02 »
You likely delivered a crippling static blow to the teensy.

time to cough up $20 and replace it.

Offline OldDataHands

  • Posts: 280
  • Location: Michigan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3031 on: Wed, 11 December 2013, 12:04:04 »
  • I2C is being a real pane in the ass, I seem to be able to talk to everything and anything except the darned LED controller, which I'm able to talk to but every time I fetch a register from it it just returns FF regardless of which register I'm reading, that's quite strange.
Are you able to control the thing?
0xFF sounds like it isn't trying to respond.

Are you sure that the address bits are set correctly? I've seen some datasheets give the address already <<1, while others do not.

Are you sending a start, addr+R sequence?

Have you set the device's read pointer to the correct address before issuing the start, addr+R command?

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3032 on: Wed, 11 December 2013, 12:18:53 »
I'ts strange, I was using the Wire library with Sketch to prototype and I think it might be a bug in the library, I'm rewriting from scratch in C with better debug capabilities to show actual signals as they are put on the wire.

I've read the datasheet 10 times and I'm pretty sure I understand it and unless the chip is malfunctioning (which I doubt since it drives the LEDs fine) all the evidence is pointing to the library.

I was able to find the chip on the bus and it ACKed correctly, I also put a second I2C device on the same physical bus and was able to communicate with it without any issues.

I was also able to send it a read request (write the register and then read) with the register and from what I could see it responded correctly except all the data was just FF.

I'm able to control the LED's with PWM signals but without the I2C I can't control the brightness, current, or detect errors.

I'll post again once I have a C implementation with more debugging info.

  • I2C is being a real pane in the ass, I seem to be able to talk to everything and anything except the darned LED controller, which I'm able to talk to but every time I fetch a register from it it just returns FF regardless of which register I'm reading, that's quite strange.
Are you able to control the thing?
0xFF sounds like it isn't trying to respond.

Are you sure that the address bits are set correctly? I've seen some datasheets give the address already <<1, while others do not.

Are you sending a start, addr+R sequence?

Have you set the device's read pointer to the correct address before issuing the start, addr+R command?
Antonia

Offline fisofo

  • Posts: 65
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3033 on: Wed, 11 December 2013, 18:15:53 »
You likely delivered a crippling static blow to the teensy.

time to cough up $20 and replace it.

Yeah, I suppose you are right, just strange it works fine through a USB hub. I went and ordered a new one... I'm just not looking forward to the desoldering; I've got solder wick and it never works like I want it to. Maybe I'll try a pump this time.

Offline OldDataHands

  • Posts: 280
  • Location: Michigan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3034 on: Wed, 11 December 2013, 22:47:00 »
might be best to clip each pin to cut the old one out... maybe cut and remove one pin at a time... I've never tried the serious solder removal guns like the hakko 808... not sure if they are up to the task on their own...

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3035 on: Fri, 13 December 2013, 02:14:14 »
I’m putting together an Ergodox, and would like to put the LEDs somewhere visible [e.g. up at the top] instead of buried inside a solid black keycap.

One option is supposed to be swapping the positions of the LEDs and the resistors, but I can’t find any pictures/descriptions online of exactly how that is done. Where exactly should I be putting the resistors? The holes for the LED leads are very close together, so I guess I have to attach at least one end of the resistor by bending its lead back to fit, or perhaps via a tiny bit of patch cable?

Does anyone have other advice about this?

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3036 on: Fri, 13 December 2013, 03:07:51 »
The position of the resistors does not really matter as long as they form a part of the circuit with the LEDs.

Assuming you are using the Lister case your biggest problem is going to be locating the LEDs within the acrylic plate, you basically would have to drill/route holes/tracks into the center plate to make room for the LEDs.

If you are willing to do this, I would suggest the easiest MOD would be to replace the LED resitors with the LEDs and vice versa.

Antonia

Offline jacobolus

  • Posts: 3661
  • Location: San Francisco, CA
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3037 on: Fri, 13 December 2013, 03:47:24 »
Oh, nevermind. I see, one of the in-switch LED holes just connects to ground. Okay, got it. Thanks!

I think I'm going to hook it up without using the LED circuits at all, for the moment, and then play around with a separate teensy & some LEDs on a breadboard until I figure out what I want to do.

In theory, I should be able to hook up a multicolored RGB LED as part of those 3 circuits and mod the keyboard firmware to set it to arbitrary colors, right? That sounds more fun than just 3 separate LEDs. :-)

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3038 on: Fri, 13 December 2013, 08:44:23 »
Yup, that sounds like fun!

Oh, nevermind. I see, one of the in-switch LED holes just connects to ground. Okay, got it. Thanks!

I think I'm going to hook it up without using the LED circuits at all, for the moment, and then play around with a separate teensy & some LEDs on a breadboard until I figure out what I want to do.

In theory, I should be able to hook up a multicolored RGB LED as part of those 3 circuits and mod the keyboard firmware to set it to arbitrary colors, right? That sounds more fun than just 3 separate LEDs. :-)
Antonia

Offline Pacifist

  • Report me *again* if there are gifs in my sig
  • * Elevated Elder
  • Posts: 3599
  • Location: Cali
  • on hiatus
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3039 on: Fri, 13 December 2013, 18:30:41 »
Sorry for noob question but are the switches PCB or plate mounted?

Offline balanar

  • Posts: 404
  • Location: Portland
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3040 on: Fri, 13 December 2013, 18:46:14 »
The switches are PCB mounted on mine and several others that I've seen. I don't know if a plate mounted version exists or if there are plans for it though. Someone more knowledgeable should answer that.

Offline Pacifist

  • Report me *again* if there are gifs in my sig
  • * Elevated Elder
  • Posts: 3599
  • Location: Cali
  • on hiatus
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3041 on: Fri, 13 December 2013, 18:51:26 »
The switches are PCB mounted on mine and several others that I've seen. I don't know if a plate mounted version exists or if there are plans for it though. Someone more knowledgeable should answer that.

Thanks for the help. I'm thinking of making a dirt cheap ergodox case out of legos lying around and not missing out on a plate makes the incentive higher

Offline balanar

  • Posts: 404
  • Location: Portland
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3042 on: Fri, 13 December 2013, 19:04:22 »
The switches are PCB mounted on mine and several others that I've seen. I don't know if a plate mounted version exists or if there are plans for it though. Someone more knowledgeable should answer that.

Thanks for the help. I'm thinking of making a dirt cheap ergodox case out of legos lying around and not missing out on a plate makes the incentive higher


That would be something to see! There's a thread with Lego Poker cases people made around here somewhere you can look at for inspiration. Can't seem to find it.

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3043 on: Sat, 14 December 2013, 06:09:58 »
In theory, I should be able to hook up a multicolored RGB LED as part of those 3 circuits and mod the keyboard firmware to set it to arbitrary colors, right? That sounds more fun than just 3 separate LEDs. :-)

This idea is cool!  :thumb:
I just order a few RGB LEDs, will test and see how it worked

Offline yicaoyimu

  • Posts: 1133
  • Location: San Jose, CA
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3044 on: Sat, 14 December 2013, 13:22:50 »
Sorry for noob question but are the switches PCB or plate mounted?

As far as what I can tell from pics on massdrop, Ergodox PCBs have holes for legs of PCB mounted switches so both type of switches should work fine.
KMAC2 - Matrix Lab 8XV2.0 - TGR Jane v2 CE - KBD8X MKII - Meridian - Matrix Lab Noah - Fallacy x2 - MGA Standard - Geon Frog mini - Amano - Ciel60 - Prime_Elise - Matrix Lab 6XV3.0 aka Corsa

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3045 on: Sat, 14 December 2013, 22:16:26 »
Got to spend a couple of hours debugging tonight, turns out it was a bug in the I2C/TWI library when dealing with I2C Repeated Starts!

Thanks to Scott (OldDataHands) for giving a hand, it was his source code that lead me to the issue.

Now for the fun part, I'll rig something up tomorrow, I'll try for a video demo of the whole thing if time permits.


I'ts strange, I was using the Wire library with Sketch to prototype and I think it might be a bug in the library, I'm rewriting from scratch in C with better debug capabilities to show actual signals as they are put on the wire.

I've read the datasheet 10 times and I'm pretty sure I understand it and unless the chip is malfunctioning (which I doubt since it drives the LEDs fine) all the evidence is pointing to the library.

I was able to find the chip on the bus and it ACKed correctly, I also put a second I2C device on the same physical bus and was able to communicate with it without any issues.

I was also able to send it a read request (write the register and then read) with the register and from what I could see it responded correctly except all the data was just FF.

I'm able to control the LED's with PWM signals but without the I2C I can't control the brightness, current, or detect errors.

I'll post again once I have a C implementation with more debugging info.

  • I2C is being a real pane in the ass, I seem to be able to talk to everything and anything except the darned LED controller, which I'm able to talk to but every time I fetch a register from it it just returns FF regardless of which register I'm reading, that's quite strange.
Are you able to control the thing?
0xFF sounds like it isn't trying to respond.

Are you sure that the address bits are set correctly? I've seen some datasheets give the address already <<1, while others do not.

Are you sending a start, addr+R sequence?

Have you set the device's read pointer to the correct address before issuing the start, addr+R command?
Antonia

Offline Pacifist

  • Report me *again* if there are gifs in my sig
  • * Elevated Elder
  • Posts: 3599
  • Location: Cali
  • on hiatus
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3046 on: Sat, 14 December 2013, 22:39:52 »
The switches are PCB mounted on mine and several others that I've seen. I don't know if a plate mounted version exists or if there are plans for it though. Someone more knowledgeable should answer that.

Thanks for the help. I'm thinking of making a dirt cheap ergodox case out of legos lying around and not missing out on a plate makes the incentive higher


That would be something to see! There's a thread with Lego Poker cases people made around here somewhere you can look at for inspiration. Can't seem to find it.

I know where it is and that provided some inspiration.

Only trouble is for the thumb cluster, its irregular shape is foreign to 90 degree legos

Offline Air tree

  • Better late than never ^-^
  • * Destiny Supporter
  • Posts: 2206
  • Location: Satellite Beach, FL
  • Formerly not demik
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3047 on: Sun, 15 December 2013, 08:23:31 »
I was asleep on the last quick drop. I guess i will have to wait another 1-2 months for another drop.





More suffering on this laptop scissor switch keyboard
« Last Edit: Sun, 15 December 2013, 08:26:04 by Air tree »

Offline jalli

  • Posts: 101
  • Location: Toronto, Canada
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3048 on: Mon, 16 December 2013, 09:29:46 »
Progress report on the back-light work.
  • I'm successfully reading and writing to the LM3549 LED Driver via I2C, currently working on building out a library to make all the functions easily available.
  • For some reason the green diode won't light up, everything measures fine, voltages are good, no shorts, it does require higher voltages than the others to drive it, I'll figure it out later.
  • I'm dealing with some resonance issues with the inductor, there is an annoying hum at some intensities when it's powering LEDs.
  • The through holes for the fibers are a bit to tight, I'll change them to allow more clearance.
  • I've also been thinking about the effectiveness issues with the light pipe, I'm wondering if I can turn it into an inside out mirror by "silvering" it like a mirror, hence any light that would otherwise escape should be reflected until cough by the light pipe/fibers.
  • I think the design could also use some mechanical holes to hold down the fibers
Antonia

Offline Pacifist

  • Report me *again* if there are gifs in my sig
  • * Elevated Elder
  • Posts: 3599
  • Location: Cali
  • on hiatus
Re: ErgoDox - Custom split ergo keyboard.
« Reply #3049 on: Mon, 16 December 2013, 15:18:15 »
I was asleep on the last quick drop. I guess i will have to wait another 1-2 months for another drop.
Show Image





More suffering on this laptop scissor switch keyboard
Show Image


quick drop?