ultimatehackingkeyboard / uhk60v1-electronics Goto Github PK
View Code? Open in Web Editor NEWThe schematic and PCBs of the UHK 60 v1
License: GNU General Public License v3.0
The schematic and PCBs of the UHK 60 v1
License: GNU General Public License v3.0
Thoughts on adding the official open source logo to the silkscreen of pcb?
I'm trying to use the travis diff script and it's throwing error:
root@12ba8a8b9dbe:/kicad# ./generate-png-diff.sh
Copying 187bd8e:drone-kicad-sample.kicad_pcb to ./plot/187bd8e/
Kicad files saved to: './plot/current' and './plot/187bd8e'
Converting ./plot/current/drone-kicad-sample.kicad_pcb to .pdf: Files will be saved to /tmp/pdf
Traceback (most recent call last):
File "/tmp/plot_board.py", line 172, in
popt.SetColor(YELLOW)
NameError: name 'YELLOW' is not defined
Converting ./plot/187bd8e/drone-kicad-sample.kicad_pcb to .pdf's Files will be saved to /tmp/pdf
Traceback (most recent call last):
File "/tmp/plot_board.py", line 172, in
popt.SetColor(YELLOW)
NameError: name 'YELLOW' is not defined
Currently, the wiring of the bridge cable is backwards, so we should reverse the wiring of either the left or right 4P4C connector.
Replace 6P4C connectors with 4P4C. Make sure that the chosen connector and the wall of the case leaves enough space for the clip so that it can be pressed. Also, 4P4C probably almost always uses reverse wiring!
Creating custom bridge cables is a possibility, and it's easy to overlook the wiring resulting in reverse-wired bridge cables that can damage the electronics. In order to avoid possible damages, we'll implement reverse voltage protection using the following schematic:
The above circuit should be added right between FB1 and C6 according to the following schematic:
Allow modders to use cherry mx switches with LEDs
Optional features
Related #13
I know you are really busy, so I'll try and be as self sufficient as possible.
I'm updating the readme with instructions so others can easily contribute. There are 3 libraries required
I've figured out how to install opendous and the uhk libs, but even after a couple hours of searching, I can't find the 'special' library
Do you know where that library is located? Once I find it I'll document it so others can find it.
Currently, there is only one via per pad on the female connector board. We should use more, especially for VCC and GND.
Redesign the pads of the vertical PCB to not interfere with the keycap stabilizer. Mechanical solder pads should only be added at the edges and the middle pads should be reduced
Look into the possibility of using a USB type C connector
Where can I find the files, for example in stl format, of the case for this keyboard?
There is a list of remaining todos
https://github.com/UltimateHackingKeyboard/electronics/blob/master/TODO
Thoughts on opening a github issue for each?
I'm willing to do the tedious work of migrating the todo's to issues if you want to go down that route.
Would it be possible to the V2 versions of the schematics?
In the PCB production version the USB signals are of very low quality. That probably explains some of the USB issues I have seen over the last months using my two UHKs.
In this capture, a reference signal (orange) is compared to the UHKs signal (yellow). An impedance mismatch is obvious. The signal corresponds to a UHK keyboard with stock USB cable connected to a USB port with an immediate transceiver. When connecting other devices to this setup, the signal looks almost like the reference.
I have a few suggestions for the next PCB revision (if there will be one, which I really hope):
I know that these recommendations are coming very late and that you very likely already know about these issues and have thought about how to fix those, if ever. But I was missing any reference on the USB issues I have seen and thought that there should be at least a ticket on this.
Just for completeness, here are a few things I have seen over the last month:
Reduce resistor values on the TX and RX lines of the board-to-board connectors because they didn't work on the 5.1 generation prototypes
Add fixating pins to the Cherry MX module so that PCB mounted switches can be used, too
There are two libraries that already have this
https://github.com/geekhack-org/kicad-library
https://github.com/c0z3n/cherrymx-eagle
The latter would need to be converted to kicad. (done)
Hopefully, #32 will resolve the EMC issues, and we'll pass the next EMC test with flying colors, but we can't be sure. At this point, we want to put the UHK to market as soon as possible, so as a safety measure, we will design 4 layer versions of the left and right PCBs. On the upcoming EMC test, we'll give a whirl to both versions and pick the 4 layer version if necessary.
After finalizing the left and right boards, the left-main
directory should be copied as left-main-4-layers
and right-main
as right-main-4-layers
, then the 4 layer versions should be redesigned accordingly. The middle layers should exclusively contain GND and VCC.
6 pin TVS arrays (SC-74, SOT-223-6, 6-TSSOP) are much more prevalent than 5 pin TVS arrays (SC-74A, SOT-223-5), and they're backwards compatible with 5 pin footprints, so this will enable us to choose a wider variety of parts.
We'll be using the MKL03Z32VFK4 MCU instead of the current MKL03Z8VFK4. It's the exact same MCU in every respect but it has 32K flash instead of 8K. A new schematic part should be cloned from the old MCU accordingly, so its name would reflect the name of the new MCU. The new schematic part will have to be added to the ugl-kicad-lib repo.
When a new merge request is made. Use travis-ci to generate gerbers/pdf/png files and then use linux compare
to generate a visual diff.
http://www.evilmadscientist.com/2011/improving-open-source-hardware-visual-diffs/
You can assign this to me as I'm currently working on it.
Look into the possiblity of using larger pitch components so that we could could make our manufacturing tolerances less strict resulting in lower prices and increased yield
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.