Mia a 122 soon to be opensource, if it works that is.
-
- Location: Melbourne
- DT Pro Member: -
This is Mia, a keyboard design of mine that I'm building a couple off and preparing package for open source.
Just wanted to see what people thought before I sent it off for fab? And if anyone had any good tips on how to package an open hardware design(as this will be my first open hardware project)?
My main goal is to have a portable RS232 terminal and password manager that will fit in 19" rack tray.
micro is pic32mx470, If your curious about the layout, I guess I am too and I have no idea if the ideas will play well to a general audience, but the general idea is that the top two rows will be for controlling the terminal and some of the ways the keyboard behaves. Putting the screen on gave me a bunch of empty space so I just put some extra switches there. I'm open to ideas.
Just wanted to see what people thought before I sent it off for fab? And if anyone had any good tips on how to package an open hardware design(as this will be my first open hardware project)?
My main goal is to have a portable RS232 terminal and password manager that will fit in 19" rack tray.
micro is pic32mx470, If your curious about the layout, I guess I am too and I have no idea if the ideas will play well to a general audience, but the general idea is that the top two rows will be for controlling the terminal and some of the ways the keyboard behaves. Putting the screen on gave me a bunch of empty space so I just put some extra switches there. I'm open to ideas.
Last edited by zool on 31 Mar 2018, 17:36, edited 2 times in total.
- scottc
- ☃
- Location: Remote locations in Europe
- Main keyboard: GH60-HASRO 62g Nixies, HHKB Pro1 HS, Novatouch
- Main mouse: Steelseries Rival 300
- Favorite switch: Nixdorf 'Soft Touch' MX Black
- DT Pro Member: -
Looks interesting, but the PCB art is not for me
I love when people design big keyboards with different unnecessary extra hardware to fill the gaps.

-
- Location: Melbourne
- DT Pro Member: -


My original idea had a pencil/trinket space, but I added the extra 10 keys to the top left of the pcb for "options", I don't know what those options would be. Macros I guess, I don't really have a lot of use for macros. Its hard enough to get caps for this kinda layout as it is without the top two rows, so blanking plates will definitely be a design option for the case.
- Myoth
- Location: Strasbourg
- Main keyboard: IDB60
- Main mouse: EC1-A
- Favorite switch: Cap BS
- DT Pro Member: -
It would be nice to add holes for switches where the screen is, for exemple, I could be more interested by a lot more keys than a screen...
by the way, your pcb doesn't support pcb-mounted switches ?
by the way, your pcb doesn't support pcb-mounted switches ?
-
- Location: Melbourne
- DT Pro Member: -
More switches? Here I was thinking 122 keys was already a lot.

But an extra header could be added for a key expansion. If I add some 0.1" pins you could saw the top two rows with the controller off and have a more std 1800 layout with separate controller, would bulk up the stack up a little, but might be ok.
I don't use pcb mount switches, a simple footprint swap you get you there though.
-
- Location: Melbourne
- DT Pro Member: -
There are a couple of usb hid password managers out there, but the selection of password is a bit clunky.
The password manager style is the modeled off the unix password manager.(https://www.passwordstore.org/) and Zamek (https://hackaday.io/project/3555-zamek- ... rd-manager) / The basic idea is that you store your passwords in the keyboard. They are all encrypted and need a master passphrase to decrypt.
The UI:
1. You press the password manager key
2. The keyboard no longer sends keystrokes to the Host or Terminal.
3. You type the title of the password in, (fuzzy search to help in speed of this).
4. You select the one you want.
5. Prompted for master pass phrase.
6. Password is decrypted
7. Password is put into "Password Key" buffer. (wiped after 30seconds or use which ever comes first).
8. Keyboard returns to previous mode, Term/Host.
9. Then when the Password Key is pressed it types your password for you.
Notes:
The host never sees you master pass phrases.
Works on systems/areas without network access.
Password does not get copied to host clipboard.
Adding New passwords is much the same.
I have a prototype of the system working on a rpi zero and a small pic32, and it would be nice to have a safe sync, but I have not got that far. It would be also nice to use a secure memory ic, but not a major concern atm.
-
- Location: Melbourne
- DT Pro Member: -
- scottc
- ☃
- Location: Remote locations in Europe
- Main keyboard: GH60-HASRO 62g Nixies, HHKB Pro1 HS, Novatouch
- Main mouse: Steelseries Rival 300
- Favorite switch: Nixdorf 'Soft Touch' MX Black
- DT Pro Member: -
I've recently been thinking about extra add-on hardware I could add to large keyboards like this and specifically thought of:
A rotary encoder, maybe to send vol/brightness up/down keypresses?
A joystick, maybe as a pointing device with extra mouse buttons?
They seem most appropriate on such a huge board.
A rotary encoder, maybe to send vol/brightness up/down keypresses?
A joystick, maybe as a pointing device with extra mouse buttons?
They seem most appropriate on such a huge board.
-
- Location: Melbourne
- DT Pro Member: -
-
- Location: Melbourne
- DT Pro Member: -
With the i2c bus header you could certainly do something. I came to the conclusion that using USB HID to control system volume is a bit coarse to warrant an encoder. I do enjoy a good encoder indent tho.scottc wrote: I've recently been thinking about extra add-on hardware I could add to large keyboards like this and specifically thought of:
A rotary encoder, maybe to send vol/brightness up/down keypresses?
A joystick, maybe as a pointing device with extra mouse buttons?
They seem most appropriate on such a huge board.

My current solution (not this design) is to have media volume keys for -/+5% volume and then with super + volume up/down for -/+1%, but that I pretty sure is OS dependent.
For this design the default keymap:, func + pageUp,pageDown or numpad+/- is media volume +/-.
-
- Location: Melbourne
- DT Pro Member: -
here is a rendering of a frame to give you an idea of the resolution:
- DiodeHead
- Location: Spain
- Favorite switch: Gateron white
- DT Pro Member: -
Extremely impressive, the password manager i find really interesting and i think is something i need to work on for myself, what i don't see very clear ( provably cos my ignorance ) is the conectors footprints and cutout, when you have a 3d render or the physical thing built i would love to see how the wires conect to the keyboard and what kind of connector are you using.
And the second thing is the batery, what is it for?? are you using a real time clock and if so what for?
thanks
And the second thing is the batery, what is it for?? are you using a real time clock and if so what for?
thanks

-
- Location: Melbourne
- DT Pro Member: -
thanks, It is very unclear as I'm still struggling with a decision to USB C or not to USB C, So for the sake of finding bad/good choices/idea I'm just running with with the keyboard layout and controller for the moment. Get the all the password and ui standing on it legs and work from there.
The other component to the design is an unfinished usb 3 hub and RS232 board. I got some of the parts and am designing one up, but there is no way I can get anyone to build that as a kit from src, the 0.4mm pitch qfn and 0402/0201 is just too fine for most DIYers.
So as a companion there will be some other usb micro/mini/C/B to the 4pin JST1.0 mm pitch connector, similar to the quickfire where I think they have a separate board for the usb connector. I always liked that design of the usb connection being secure by cable way under the board. and as long as the connection is short, the less than perfect 4pin JST cable should be ok, and you can pick up premade 1.0mm JST to JST cables from sparkfun. It is also why there is extra esd protection on the controllers usb line, a redriver might also be needed, but probably not.
Battery is for the RTC, I like clocks and normally put a footprint for a good txco/rtc on most of my designs needed or not. but also has some use for syncing, but it is optional build option, I have no real immediate use for it and at ~$4.00 it is pretty pricey component wise.
anyway here is the state of the hub.
The other component to the design is an unfinished usb 3 hub and RS232 board. I got some of the parts and am designing one up, but there is no way I can get anyone to build that as a kit from src, the 0.4mm pitch qfn and 0402/0201 is just too fine for most DIYers.
So as a companion there will be some other usb micro/mini/C/B to the 4pin JST1.0 mm pitch connector, similar to the quickfire where I think they have a separate board for the usb connector. I always liked that design of the usb connection being secure by cable way under the board. and as long as the connection is short, the less than perfect 4pin JST cable should be ok, and you can pick up premade 1.0mm JST to JST cables from sparkfun. It is also why there is extra esd protection on the controllers usb line, a redriver might also be needed, but probably not.
Battery is for the RTC, I like clocks and normally put a footprint for a good txco/rtc on most of my designs needed or not. but also has some use for syncing, but it is optional build option, I have no real immediate use for it and at ~$4.00 it is pretty pricey component wise.
anyway here is the state of the hub.
-
- Location: Beamspringville
- Main keyboard: 4704
- DT Pro Member: 0186
So I'm curious. What aspect of the design requires a .4 qfn and such small passives?zool wrote:there is no way I can get anyone to build that as a kit from src, the 0.4mm pitch qfn and 0402/0201 is just too fine for most DIYers.
I don't see anything in your design (yet) that's that high speed...
Incidentally, I love those displays and I use them a lot. If I can give you a supplier recommendation take a look at buy-display.com.
I've bought around 600 of them from this supplier for my various projects without a single failure.
Sent from my SM-N920V using Tapatalk
-
- Location: Beamspringville
- Main keyboard: 4704
- DT Pro Member: 0186
Nm, spotted it. It's the USB3 circuit.
My advice, unless you have a compelling reason to do USB3 I'd avoid it. It's tough to get that right without 4-6 layer boards from companies that do capacitance control and certification.
Also, if you do decide to do PnP, to get a reasonable yield from a third party they're going to insist on X-ray inspection which is $$$ in low quantities.
Sent from my SM-N920V using Tapatalk
My advice, unless you have a compelling reason to do USB3 I'd avoid it. It's tough to get that right without 4-6 layer boards from companies that do capacitance control and certification.
Also, if you do decide to do PnP, to get a reasonable yield from a third party they're going to insist on X-ray inspection which is $$$ in low quantities.
Sent from my SM-N920V using Tapatalk
-
- Location: Melbourne
- DT Pro Member: -
Not quite usb 3.1/2 speed. The usb C(especially) 3.X hub has so many subtleties, and tangential to the keyboard, it as you say is quite costly which is why I split it off for a future personal project, but leaving myself the option to slot it in to the case. It would be nice to have, but... to much for an open project, I suppose I could do a run but who would really want them? I only really mentioned it to explain the reason why the JST connectors and not a usb connector.
At the moment I happy with a simple single port usb connection modules, ie: just use which ever usb variant that you like and put it where ever you like etc. I know people have preferences for different conns and locations. I'm partial to C and B myself.
-
- Location: Melbourne
- DT Pro Member: -
I have a rough model that is constraining some dimensions and mounting points. Its a pretty blocky design atm. Typical three layer construction top, plate and angled base.
Material wise I'm just gonna machine it out of poly ethylene to start with(I have a stack of 50mm pe90 sheet). Then when I sort out the bugs maybe some aluminium, I do have some left over 6160 and 7175 stock.
-
- Location: Melbourne
- DT Pro Member: -
As far as I understand it, you can do passive with usb C 2, if there is no negotiation it should go to 500mA@5V. negotiation is really only there to get more power/volts from the port partner and to swap roles, but I have also read 1.5A@5V. for usb 2 you can just short the D+'s and the D-'s, a couple of pull up/downs on the CC's cable orientation and I think that is about all you have to do. If usb 3 you need a mux/switch to handle the orientation of the SS pairs.
Not mine, but you get the idea:
-
- Location: Rheinland-Pfalz, Germany
- Main keyboard: NL Bullet Planck
- Main mouse: Mionix Naos 7000
- Favorite switch: lubed vin black, BS
- DT Pro Member: -
Hmm... I prefer the design with the bigger screen, as it could be really useful.
Would it be an option to put some of the F keys to the left of the alphas to have more space for the screen?
I'm really interested in how this board is gonna turn out in its final version!
Would it be an option to put some of the F keys to the left of the alphas to have more space for the screen?
I'm really interested in how this board is gonna turn out in its final version!

-
- Location: Melbourne
- DT Pro Member: -
If I have not messed up the design I'm not going to change anything till I get a working board.
I like the screen too(but kinda pricey in low qnty), but If I design it as a split pcb it could be designed so that people could do what they want with the top rows. It could be both or neither depending. some things are up in the air.
Here are some of the other possible ideas for the top two rows which make sense to me. once again some the keys above the numpad could be encoders.
simple 6/6mil pcbs are getting ridiculously cheap to get. 5off the prototype board was only $50US. :O
I like the screen too(but kinda pricey in low qnty), but If I design it as a split pcb it could be designed so that people could do what they want with the top rows. It could be both or neither depending. some things are up in the air.
Here are some of the other possible ideas for the top two rows which make sense to me. once again some the keys above the numpad could be encoders.
simple 6/6mil pcbs are getting ridiculously cheap to get. 5off the prototype board was only $50US. :O
- Phenix
- -p
- Location: Germany, Cologne
- Main keyboard: F122, soarer´d|Novatouch-s
- Main mouse: Roccat Kone Pure|Rollermouse
- Favorite switch: BS F|Topre-s
- DT Pro Member: -
really nice design!
Is it possible to add a second rotary encoder? (I could likely find usage for 4 of them..
)
Also is trackpoint integrity possible?
And can you please add a split spacebar layout (something iike JP or the clueboard JP layout)?
last question, for convenience will it possible to import passwords from programs like KeePass (windows)?
Is it possible to add a second rotary encoder? (I could likely find usage for 4 of them..

Also is trackpoint integrity possible?
And can you please add a split spacebar layout (something iike JP or the clueboard JP layout)?
last question, for convenience will it possible to import passwords from programs like KeePass (windows)?
-
- Location: Melbourne
- DT Pro Member: -
Sure I can have a go at a JP bottom row, but I'm not really the best at deciding on what is important there. It is a reduced length bottom row so idk if it can fit.
I had imagined support for up to 4 encoders., would have to be in the block above the numpad though, or there would be just too many traces to link though between the boards.
Syncing is one thing which is really tricky to get right and portable. really it would be ideal to use public key crypto. have a secure IC to load in your private keys. secure sync could then be straight forward copy. Integration and sync with existing password managers is still gonna be argh!
My first method of storing passwords will be externally on rpi zero using my already working gpg uart app, then plain text, then symmetric, then public key, then cdc ethernet sync to git, then think about other password managers sync methods.
The simplest approach I can think of atm is to have a plain text export/import option from a virtual disk with all the horrible security that would bring.
Long road to bliss.
I had imagined support for up to 4 encoders., would have to be in the block above the numpad though, or there would be just too many traces to link though between the boards.
Syncing is one thing which is really tricky to get right and portable. really it would be ideal to use public key crypto. have a secure IC to load in your private keys. secure sync could then be straight forward copy. Integration and sync with existing password managers is still gonna be argh!
My first method of storing passwords will be externally on rpi zero using my already working gpg uart app, then plain text, then symmetric, then public key, then cdc ethernet sync to git, then think about other password managers sync methods.
The simplest approach I can think of atm is to have a plain text export/import option from a virtual disk with all the horrible security that would bring.
Long road to bliss.