geekhack
geekhack Projects => Making Stuff Together! => Topic started by: Applet on Thu, 08 February 2018, 06:36:03
-
Hi,
I'm making a USB type-C controller with built in USB3 hub (5Gb/s) for the HHKB what is fully compatible with the current TMK/QMK-firmware and VIA-implementation. Project is still in development but current design is verified and working.
Some specs:
- 3 available USB3 ports, two external, one internal. Hub: TUSB8042
- ATMEGA32U4 for keyboard firmware (TMK/QMK)
- 900mA per port current limit on each downstream port using TPS2552D
- Will need modification of hhkb case because of the usb-c connector
Current status: Prototyping revision B3 with new component selection
Rev A: 5qt PCB's are currently being tested and used. Two HHKB JP, Three regular ANSI.
Rev B: Revision B3 is being tested. So far everything works well, but I've yet to test it with a proper high speed device on the USB-A ports.
Altium 3D view of latest revision:
[attach=1]
Project on Github: https://github.com/4pplet/SHKB
Designed in Altium 21
-
Sounds amazing! I would be interested in testing this out.
-
this is excellent! i would be quite interested in getting one of these for myself.
-
If this comes through, and works, I would buy a HHKB for this. This would make pretty much the perfect keyboard out of the HHKB, especially for those of us who like having quick USB 3.0 ports available, or use their keyboard with a laptop with limited Usb ports (2 for me).
I wish more build it yourself MX case/PCB designs were designed with extra ports, and based around USB-C; For my use case, at least, it increases the versatility of the board.
-
Necro-bumping. Finally got around to complete the design for a first prototype run. Got the cards, will start testing them in the coming weeks. We'll see how it turns out :D
-
Sounds very interesting!
growler
-
this is honestly so cool! would love an update :)
-
I actually soldered the prototypes this weekend, but I have yet to power them, since I don't have a current limited supply at home. Moving forward, but please have patience :D.
-
What's the USB A on the side for?
I like the project anyhow. USB C above everything :P
-
What's the USB A on the side for?
Well, the idea is just to have an extra, internal usb-port for a usb-drive, mouse dongle or such. The hub chip I'm using is a 4 port hub, and the atmega for the keybord controller uses one port, so we have 3 left. Might as well make hardware support for it, if not used, we can just skip mounting the components for the extra port.
-
What's the USB A on the side for?
Well, the idea is just to have an extra, internal usb-port for a usb-drive, mouse dongle or such. The hub chip I'm using is a 4 port hub, and the atmega for the keybord controller uses one port, so we have 3 left. Might as well make hardware support for it, if not used, we can just skip mounting the components for the extra port.
That would actually be pretty cool to have onboard storage in your keyboard.
-
What's the USB A on the side for?
Well, the idea is just to have an extra, internal usb-port for a usb-drive, mouse dongle or such. The hub chip I'm using is a 4 port hub, and the atmega for the keybord controller uses one port, so we have 3 left. Might as well make hardware support for it, if not used, we can just skip mounting the components for the extra port.
That would actually be pretty cool to have onboard storage in your keyboard.
I have been playing with the idea to try and fit a m.2 ssd in the case, since it's usb 3, you should get decent speeds ;D (not sure if there is enough space tho)
-
I actually soldered the prototypes this weekend, but I have yet to power them, since I don't have a current limited supply at home. Moving forward, but please have patience :D.
Very cool. Excited to hear more about this.
-
I've powered the boards now, so far all is good. I have usb 3 functionality and it shows up in the OS like it should, but only tested briefly. Next step is to program the onboard EEPROM that configures the hub, so I can get usb 2.0 functionality (swap the data-lines). Then we can test the hub properly, and program the atmega for the HHKB controller. I'll keep you updated. I'll hopefully have time to continue this weekend. :D
-
Indeed, pretty cool project :) I hope, there will be an option to buy that controller in future somehow ;)
-
Definitely interested in this! Any idea how difficult it would be to make this work for the JP variant? I know Hasu used a different controller for his version.
-
Definitely interested in this! Any idea how difficult it would be to make this work for the JP variant? I know Hasu used a different controller for his version.
If there is demand for it, I'll add a footprint for the JP connector, but I do not really see the appeal of using this with the JP since it has no hub. Do you just need the usb-c, and the internal port, or do you intend to modify the case for the external usb-ports?
-
I want the USB-C and all the USB ports. I have the proper housing for the ports from another HHKB.
-
I want the USB-C and all the USB ports. I have the proper housing for the ports from another HHKB.
I see, I'll definitely look into adding support for the JP then. :D
-
Would definitely be interested in this if you decide to GB eventually
-
This is awesome work! I've been using a HHKB Pro JP with TMK motherboard for years. If you make your board available with extra usb ports for JP I will definitely pick one up.
-
Quick update: I ran into some issues with my level converters for programming the EEPROM (could only find a non working one), I've ordered a new one and will continue when that arrives (and I get time). Thanks for patience and showing interest in the project ;D
-
i would really like to have a few of these.
-
I have not had time to work on the prototypes yet, but I have got the stuff for programming them. I have however added JP support to the design, and identified some tweaks in USB-port placement that will be revised to next revision. I'll keep you updated as the project moves along.
-
Woohoo!!! Great to hear, Applet. Thanks for the update.
-
Short update: I've made an EEPROM-flash that works as intended and is programmable using the flash-tool provided by TI (no external programmer needed). It switches USB2 dateline polarity and sets some configs for power limiters etc. Next step will be to verify that the current limiters works as intended. I will most likely do another limited prototype run to verify the changes I have made. Slowly moving forward ;D
-
I have tested the current limiters and as far as I can tell, they are correctly set in settings for hub in EEPROM and work as intended. I will look into making another prototype run and a small limited group buy after my summer vacation.
Cheers ;D
-
Let me know, I would like to buy one for my Pro 2 and JP. Happy to help beta test prototypes.
-
I have tested the current limiters and as far as I can tell, they are correctly set in settings for hub in EEPROM and work as intended. I will look into making another prototype run and a small limited group buy after my summer vacation.
Cheers ;D
That sounds cool, does this work with the Realforce RGB by any chance? I was in the process of procuring USB-C breakout boards to install them on my three keyboards.
-
Let me know, I would like to buy one for my Pro 2 and JP. Happy to help beta test prototypes.
Good to know, I'll let you know when we get there. Testing of prototypes will be needed. :thumb:
I have tested the current limiters and as far as I can tell, they are correctly set in settings for hub in EEPROM and work as intended. I will look into making another prototype run and a small limited group buy after my summer vacation.
Cheers ;D
That sounds cool, does this work with the Realforce RGB by any chance? I was in the process of procuring USB-C breakout boards to install them on my three keyboards.
No, this will not support the Realforce RGB, only HHKB.
-
Small update:
Preparing for the next prototype round (files done), I will make a small amount of cards to verify changes and function. Added HHKB JP-support (involved moving of current limiter and components), moved the USB-ports a bit for better fit, improved the USB-C footprint and removed some debug-stuff on the board. I missed ordering stencils last time, making sure to include it this time ;D
-
Small update:
Preparing for the next prototype round (files done), I will make a small amount of cards to verify changes and function. Added HHKB JP-support (involved moving of current limiter and components), moved the USB-ports a bit for better fit, improved the USB-C footprint and removed some debug-stuff on the board. I missed ordering stencils last time, making sure to include it this time ;D
Wow, really packing a punch in one PCB here.
Man, I wish there were a Bluetooth one for HHKB Pro 1.
-
If all goes well, I'm buying one fershure.
-
This is awesome applet, great work. Thanks for the updates. Stoked to see some prototypes!
-
Thanks for the encouraging words ;D I actually got the PCB's for the new prototypes yesterday. Only need to find some time to order some components and do some soldering :thumb:
-
Thanks for the encouraging words ;D I actually got the PCB's for the new prototypes yesterday. Only need to find some time to order some components and do some soldering :thumb:
:eek: can't wait :cool:
-
Quick update: Still not had time to populate a board for test, but hopefully soon. Boards look good. I updated main post a bit. Repo is added to main post if someone want to contribute, but please realize, this is still a untested design which probably still need some work before it's ready for everyone. Cheers ;D
-
Dude this is so awesome to hear! I'm very excited to see this thing come to reality.
-
This is so awesome! Next round you should show us steps of putting it all together
-
Short update: Life got in the way a bit, but this week and the next, I will be able to put the new prototypes together. :D
I have populated the QFN IC's using hot air reflow station, the rest I will do with the soldering iron. I'll keep you updated. Next step is to check my inventory of parts and order the ones I'm missing.
The top one is the only one I've cleaned up the solder on, so don't worry about it on the other 4, I'll clean them up
-
Short update: Life got in the way a bit, but this week and the next, I will be able to put the new prototypes together. :D
I have populated the QFN IC's using hot air reflow station, the rest I will do with the soldering iron. I'll keep you updated. Next step is to check my inventory of parts and order the ones I'm missing.
The top one is the only one I've cleaned up the solder on, so don't worry about it on the other 4, I'll clean them up
Wow. That looks incredible. Amazing work! It reminds me a little bit of YDKB's BLE HHKB replacement controller.
But I am a big fan of the USB hub on the inside. Great work!
-
Short update: Life got in the way a bit, but this week and the next, I will be able to put the new prototypes together. :D
I have populated the QFN IC's using hot air reflow station, the rest I will do with the soldering iron. I'll keep you updated. Next step is to check my inventory of parts and order the ones I'm missing.
The top one is the only one I've cleaned up the solder on, so don't worry about it on the other 4, I'll clean them up
Wow. That looks incredible. Amazing work! It reminds me a little bit of YDKB's BLE HHKB replacement controller.
But I am a big fan of the USB hub on the inside. Great work!
Thanks man, I appreciate it! :D
I have ordered the components I'm missing, should get them in the beginning of next week.
A little teaser of something that I will prototype when this is fully done (don't expect this soon):
-
Oh my, that's sweet
-
Look forward to these being available. The ingenuity of the folks on here never ceases to amaze me! 👍
-
Short update: Life got in the way a bit, but this week and the next, I will be able to put the new prototypes together. :D
I have populated the QFN IC's using hot air reflow station, the rest I will do with the soldering iron. I'll keep you updated. Next step is to check my inventory of parts and order the ones I'm missing.
The top one is the only one I've cleaned up the solder on, so don't worry about it on the other 4, I'll clean them up
Wow. That looks incredible. Amazing work! It reminds me a little bit of YDKB's BLE HHKB replacement controller.
But I am a big fan of the USB hub on the inside. Great work!
Thanks man, I appreciate it! :D
I have ordered the components I'm missing, should get them in the beginning of next week.
A little teaser of something that I will prototype when this is fully done (don't expect this soon):
You're wild. Holy **** dude.
I can't wait to see a Thunderbolt 3 HHKB controller… That'll be interesting.
Speaking of threes, I wonder where the HHKB refresh is. It was supposed to be happening this fall!
-
Talked to them at the NorCal Booth and all they would say was “expect an update early 2020”
-
Talked to them at the NorCal Booth and all they would say was “expect an update early 2020”
That's pretty soon
-
I finally got the remaining components I needed and put the boards together yesterday. 3 works perfectly, 2 I need to troubleshoot a bit (likely some issue with my soldering). Currently testing it out and using the controller in my daily driver at work. I'm driving my USB3 hub through the keyboard (keyboard connected to PC, Hub connected to HHKB), so far it works good and has 0 issues with my devices and 1440p screen. The USB-placement on USB-A ports is still not perfect, but works fine, I'll move them a bit them for next revision. A regular sized USB-drive seems to fit inside the case (tho my sandisk one does not fit, it's too long), so a regular dongle or such for mice etc should fit.
[attach=1]
[attach=2]
[attach=3]
Most likely, only the prototypes will be black, next revisions in green. Harder to troubleshoot black boards and 0402 and sot-3 is tiny enough without adding difficulties ;D
I can't wait to see a Thunderbolt 3 HHKB controller… That'll be interesting.
Yeah, thunderbolt would be cool ;D
-
Oh wow that's awesome!
-
Really happy to see this project coming along! I'd consider buying another HHKB Pro 2 for home use specifically if these controllers are made available for purchase at some point.
-
Looks great!
-
Hmmm storage built into a keyboard.. Pretty wild stuff. Definitely watching this one :cool:
-
Hello!!! Im so intrested in this my friend, thats a brilliant idea!!
Count me in for this!!
-
Just FYI noy you can get the USB-C riser board for the wireless YDKB controller https://github.com/joric/usb-c/wiki#ydkb
-
A small update:
There are 4 PCB's currently being tested. So far everything is working perfectly (one HHKB JP user). I have one additional unit that I'm holding for a friend that also will be put in rotation and used for testing. For transparency: I sold the prototypes to people who have shown interest in the project for 50 usd + shipping as a symbolical sum and to cover a little bit of the expenses (thanks for support :D ). I have no gauge yet what they would cost if we go to GB in the future.
I'm looking at replacing the USB-A connectors if I find a suitable alternative (SMD, USB-3 and readily available from a common supplier). The current one from wurth works good, but I find it a bit "flimsy" since the usb cable can be moved a bit side to side. Good but not perfect.
The current iteration of the PCB works as I have intended it to, I have tweaked the USB-A port placement a tiny bit in current files. The downside with the project is that components are pretty expensive and the design is a bit complex. It would be interesting to look into the possibilities of a cheaper version. Maybe with a cheaper controller with possibly built in USB-C mux (eying the Genesys Logic chips) and possibly switching to ganged power limiting (900mA in total, not per port) to reduce components and connectors from LCSC not wurth, but this would need prototyping, funds etc etc.
I will let the testers run the boards for a while to see if there is any issues that come up.
-
I can gladly be a tester of the new batch gladly mate!!!
Keep me in mind :)
Thats some amazing work though, totaly fresh and totaly worth to upgrade from a hasu to an SHKB !!
-
Please let me know if you have space to sell another prototype!
-
Hi,
I'm making a USB type-C controller with built in USB3 hub (5Gb/s) for the HHKB what is fully compatible with the TMK/QMK-firmware. Project is still in development.
Some specs:
- 3 available USB3 ports, two external, one internal. Hub: TUSB8042
- ATMEGA32U4 for keyboard firmware (TMK/QMK)
- 900mA per port current limit on each downstream port using TPS2552D
- Will need modification of hhkb case because of the usb-c connector
Current status: Prototyping round 2
5qt PCB's are currently being tested and used. Two HHKB JP, Three regular ANSI.
Teaser from Altium (next revision):
(Attachment Link)
Project on Github: https://github.com/4pplet/SHKB
Designed in Altium 17
I didn't know you had this designed. I opened the files here and it looks amazing!
I'm developing everything on KiCad and will open-source futurely. I think that I am using the same chips though, both TUSB8042 and the port monitors, so I think it shouldn't be much different!
-
Hi,
I'm making a USB type-C controller with built in USB3 hub (5Gb/s) for the HHKB what is fully compatible with the TMK/QMK-firmware. Project is still in development.
Some specs:
- 3 available USB3 ports, two external, one internal. Hub: TUSB8042
- ATMEGA32U4 for keyboard firmware (TMK/QMK)
- 900mA per port current limit on each downstream port using TPS2552D
- Will need modification of hhkb case because of the usb-c connector
Current status: Prototyping round 2
5qt PCB's are currently being tested and used. Two HHKB JP, Three regular ANSI.
Teaser from Altium (next revision):
(Attachment Link)
Project on Github: https://github.com/4pplet/SHKB
Designed in Altium 17
I didn't know you had this designed. I opened the files here and it looks amazing!
I'm developing everything on KiCad and will open-source futurely. I think that I am using the same chips though, both TUSB8042 and the port monitors, so I think it shouldn't be much different!
Cool! Let me know if you run into issues or have questions. You should be able to use my EEPROM config if you use the same polarity of the signals etc. You can program the EEPROM over USB when you get the config right, very convenient (but requires windows). The issue with this set up of chips etc is the price.
I highly recommend adding a USB C-mux also, it makes life a lot easier.
I've been looking at adding a nRF52 BLE-chip instead of the Atmega, but there is like I mentioned in the other thread still some issues, so I have that project on hold for now.
-
Is this project EOL? With Noxary's Evija second run hopefully landing soon, I'm guessing you would have enough potential customers for a proper run (plus normal HHKB owners of course).
-
Is this project EOL? With Noxary's Evija second run hopefully landing soon, I'm guessing you would have enough potential customers for a proper run (plus normal HHKB owners of course).
Thanks for showing interest in the project :D
Due to lack of time and focus elsewhere, I've not done any progress in this project for a while. Me and a few testers have been using the design since the first working prototypes and it works good (I use it in my daily driver HHKB). I don't have any plans currently of running a GB any time soon. I'd like to optimize the design for cost first, rather than running the current design, because it is quite pricey. I do have plans to optimize the design with different/cheaper components, but I can not say when.
This PCB will unfortunately most likely not fit the Evija without modification, due to the USB-C-port on this PCB. Check the first image in this post: https://geekhack.org/index.php?topic=93970.msg2837834#msg2837834
Some comments on other stuff previously mentioned as possible future development. While a M.2 SATA SSD would be fun to add, I've mostly discarded this idea since it would be more of a gimmick. I've been wanting to add BLE, but I'm waiting for software support (nRF52 and ZMK would be the preferred way) before pursuing that. The main thing in the future of this project is making it more cost efficient and easier to manufacture/produce.
-
This PCB will unfortunately most likely not fit the Evija without modification, due to the USB-C-port on this PCB. Check the first image in this post: https://geekhack.org/index.php?topic=93970.msg2837834#msg2837834
I believe Xondat actually modified the Evija to support USB-C controllers
-
I've had trouble getting the hub-IC's I want to evaluate, but I'll try and up the prio on this ^-^ .
-
Saw you made some updates to the github on this board. Love to see some progress being made on it. The empty holes on my hhkb where usb ports used to be make me sad.
-
Saw you made some updates to the github on this board. Love to see some progress being made on it. The empty holes on my hhkb where usb ports used to be make me sad.
Hey, first of all, sorry about this taking forever. ;D
I was aiming to do a low volume test run/mini GB later this year, but at the moment I'm even having trouble finding components to test new revisions due to the silicon shortage. I have been updating the PCB a bit for easier manufacturing through places like JLC/PCBWay and improve the component selections (adjusting both for price and other improvements like the flimsy USB-A connecors). I still need to verify the latest revision, but it should be pretty much done at this point (fingers crossed). I have everything ordered for the proto-run of the newest revision, I just need to find some time to get a few boards assembled. I'll update the thread with the results
Hopefully, the component/silicon situation will start getting better soon
-
This PCB will unfortunately most likely not fit the Evija without modification, due to the USB-C-port on this PCB. Check the first image in this post: https://geekhack.org/index.php?topic=93970.msg2837834#msg2837834
I believe Xondat actually modified the Evija to support USB-C controllers
Re: supporting USB-C controllers, he also messed up and sent the wrong file for CNC without the USB hub ports and left it that way, so it won't support this regardless of the main connector. There is talk of an R2 with the originally intended USB hub ports if anyone is really aching for this combo.
-
Hey @Applet check your DMs!
-
Re: supporting USB-C controllers, he also messed up and sent the wrong file for CNC without the USB hub ports and left it that way, so it won't support this regardless of the main connector. There is talk of an R2 with the originally intended USB hub ports if anyone is really aching for this combo.
I talked a bit with Xondat regarding using this in the Evija and the latest revision should fit in regards to the USB-C connector (it's one of the reasons I replaced it), but like you say, it does not make much sense now without the cutouts for the hub. :'(
Hey @Applet check your DMs!
:cool:
-
Short update:
I built the five protos I had ordered earlier this week. I had to reuse components from some old protos, since hubs, muxes, atmegas and one of the regulators is still OOS. So far, everything seems to be working good ;D
Unfortunately, I only had a thumbdrive at hand to test USB3, but at lest speed is > USB 2.0 on all boards. I'm test driving the latest revision in my HHKB I use daily at work. I'll update with some more pics and results when I've put it through its paces. I'll reach out to the people who have been supportive and vocal about getting/needing one of these next week, if testing is done and goes well. Thanks for having patience with this project.
Pic:
[attach=1]
-
Just stumbled across this thread while trying to find -any- in-stock remappable controller for my Pro 2... this is awesome! Very interested in buying if a GB happens - if it means waiting until the component shortage is over, so be it!
-
I would hope it doesn't end up being Thunderbolt. The only devices I have which support it are NUCs. It wouldn't work with any of my desktops or laptops. I can't think of a scenario where I would want a Thunderbolt hub in my keyboard even if I had all Intel gear.
-
A somewhat related update:
The USB 3.1 HUB is unfortunately still not really viable for production due to the silicon shortage. Because this project is so hard to produce currently, I decided to do a "Lite version" with just a USB 2.0 HUB that focus on cost and ease of production. I also opted to use a USB-Mini connector, so it'll be a proper drop in replacement controller for the Pro 2 with no need to modify the case.
SHKB Lite - Mini:
[attach=1]
This is the first prototype, I ran into one bug with the bus power indication, so I had to connect a resistor to 1.8V instead of GND. This has been updated in Revision A2 and the files is up on github in the SHKB repo.
I will try to make these available soon-ish on my https://4pplet.com/ page, but it's available on GitHub (https://github.com/4pplet/SHKB) for DIY. I'll do some long-term testing, but all seems good so far. Thanks for showing interest in the project. :D
-
First, amazing work on this project :thumb:!!!
I was going to take the DIY for the USB 3.1 Rev B via JLC. Unfortunately the ship shortage has driven up the price pretty high for some of the components. For the parts they have in stock the mark up on some of the board components is mind blowing due to the shortage. The TPD2EUSB30ADRTR alone are 35USD per item (bulk from Arrow is around 0.18 USD, which is still probably 3x what they used to be). The total cost for two of the Rev B USB 3.1 boards from JLC came out to ~1,200 USD :(.
Needless to say I must patiently wait until the supply chain catches back up if I want an assembled.
For the adventurous folks out there who have piles of old electronics boards laying around you might be able to harvest the components from some old boards and then surface mount them yourself. Unfortunately, I just packed up my electronics lab for a move so this will need to wait :(.