Author Topic: Making my first custom keyboard  (Read 3037 times)

0 Members and 1 Guest are viewing this topic.

Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Making my first custom keyboard
« on: Thu, 25 March 2021, 13:24:59 »
Hi guys,
So I'm new here in the community I was searching for a keyboard that had a full layout num pad and all that good stuff, I found one that is really nice (at least it seems) Vortex tab 90M. But after watch all the custom boards I wanted also with a rotary knob and an OLED screen.
Because of that i made a list of things I wanted to make a keyboard for my expectations:
-MCU needs to be a STM32
-OLED Screen
-Rotary Encoder
-USB C (Left or Right side)
-White backlight
-Num Pad (when not being used as num pad could be used for macro using num lock)
-Aluminium case
-Powered by QMK and VIA Configurator support
-Maybe RTC ??

This was inspired by Satisfaction75 mainly and other builds on this forum and Reddit.
If someone wants to give me some input on other features I'm all ears but bear in mind that this is my first keyboard

Offline Son0fAres

  • Posts: 8
  • Location: Montreal, Quebec
    • Iris Keyboards
Re: Making my first custom keyboard
« Reply #1 on: Thu, 25 March 2021, 13:53:20 »
Hi guys,
So I'm new here in the community I was searching for a keyboard that had a full layout num pad and all that good stuff, I found one that is really nice (at least it seems) Vortex tab 90M. But after watch all the custom boards I wanted also with a rotary knob and an OLED screen.
Because of that i made a list of things I wanted to make a keyboard for my expectations:
-MCU needs to be a STM32
-OLED Screen
-Rotary Encoder
-USB C (Left or Right side)
-White backlight
-Num Pad (when not being used as num pad could be used for macro using num lock)
-Aluminium case
-Powered by QMK and VIA Configurator support
-Maybe RTC ??

This was inspired by Satisfaction75 mainly and other builds on this forum and Reddit.
If someone wants to give me some input on other features I'm all ears but bear in mind that this is my first keyboard

Hello!

FOR PCB DESIGN
First of all I think a good starting point for creating your own keyboard is to watch PCB design videos and read ai03's PCB design guide and follow along
ai03's PCB design guide : https://wiki.ai03.com/books/pcb-design
Hadi (Youtube) PCB design guide for 60% board : https://youtube.com/playlist?list=PLbtY7JsOJDYkHNuTmBtGgaWv_qipKeL-u

I understand your preferred layout is 75% but based on these resources it would be a similar technique to get it done.

FOR CASE DESIGN
First of all choose any CAD for your budget, then learn how to use it by reading the docs.
Once you are comfortable with the program, watch this stream to better understand how it all goes together :

Hope this helps!

Offline nevin

  • Posts: 1455
  • Location: US
Re: Making my first custom keyboard
« Reply #2 on: Thu, 25 March 2021, 14:02:08 »
look at YMD96, TOFU96, Melody96, ep96, Massdrop NYM96
pcbs - RGB96
most of these are usually 96 keys and can be found a little quicker searching for "96"

i'm sure there's more but this is what i could find quickly, might not have all requests but this is not a very popular form factor

another option.... alternate QMK controllers for production keyboards
https://1upkeyboards.com/shop/controllers/unloved-bastard-controller/
https://1upkeyboards.com/shop/controllers/qf-xt-ghost-squid-controller-2/
https://1upkeyboards.com/shop/controllers/rosewill-black-petal-controller/

another form factor you might want to look into is the 1800 layout based off of the cherry g80-1800 keyboards
TKC1800, Drop's Shift, KBD19X, AEGIS (southpaw), hbcp - Custom Compact 1800, etc....
you can also find replacement pcb's for actual cherry g80-1800's as well

might be able to find a case, pcb or plate that might work for what you're looking to do
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #3 on: Thu, 25 March 2021, 14:58:46 »
Hello!

FOR PCB DESIGN
First of all I think a good starting point for creating your own keyboard is to watch PCB design videos and read ai03's PCB design guide and follow along
ai03's PCB design guide : https://wiki.ai03.com/books/pcb-design
Hadi (Youtube) PCB design guide for 60% board : https://youtube.com/playlist?list=PLbtY7JsOJDYkHNuTmBtGgaWv_qipKeL-u

I understand your preferred layout is 75% but based on these resources it would be a similar technique to get it done.

FOR CASE DESIGN
First of all choose any CAD for your budget, then learn how to use it by reading the docs.
Once you are comfortable with the program, watch this stream to better understand how it all goes together :

Hope this helps!
Thanks for the info, I was already watching the Hadi YouTube channel and have seen the ai03 guide I also found these:
-ruiqimao GitHub - https://github.com/ruiqimao/keyboard-pcb-guide#associating-components-and-footprints
-Masterzen Blog - https://www.masterzen.fr/2020/05/03/designing-a-keyboard-part-1/

As for the desinging software im going to use fusion360, I know a bit already of the software but I will get up to speed when needed

look at YMD96, TOFU96, Melody96, ep96, Massdrop NYM96
pcbs - RGB96
most of these are usually 96 keys and can be found a little quicker searching for "96"

i'm sure there's more but this is what i could find quickly, might not have all requests but this is not a very popular form factor

another option.... alternate QMK controllers for production keyboards
https://1upkeyboards.com/shop/controllers/unloved-bastard-controller/
https://1upkeyboards.com/shop/controllers/qf-xt-ghost-squid-controller-2/
https://1upkeyboards.com/shop/controllers/rosewill-black-petal-controller/

another form factor you might want to look into is the 1800 layout based off of the cherry g80-1800 keyboards
TKC1800, Drop's Shift, KBD19X, AEGIS (southpaw), hbcp - Custom Compact 1800, etc....
you can also find replacement pcb's for actual cherry g80-1800's as well

might be able to find a case, pcb or plate that might work for what you're looking to do


I really liked the Melody96 case its awesome but in terms of layout I have already an idea of what I want, and it's closer to the vortex tab 90M and I really want to make my PCB to learn how to do it
on the other controllers to be honest I don't know much but for what I've seen QMK is nice and doesn't seem to complicate to use but tanks for the suggestions


Offline nevin

  • Posts: 1455
  • Location: US
Re: Making my first custom keyboard
« Reply #4 on: Thu, 25 March 2021, 15:08:29 »
the alternate controllers are QMK controllers for production boards from makers like cooler master, rosewill, HHKB & others... (changing the controller in a board you can buy off the shelf)

https://www.twitch.tv/gondolindrim_   also does pcb design, streams regularly, and would be a great person to bounce ideas off of or if you had questions. he's also on discord.

good luck on your journey & keep us posed with your progress.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #5 on: Thu, 25 March 2021, 16:05:37 »
OH ok didn't know that could be done, but I don't have any of the shelf keyboard that is good any ways ahaha, I only had a steelseries apex m800 for 3 4years, but now some keys don't work so im using my brother cooler master masterkeys L but it's a piece of s**** so I'm not going to use it for much longer I hope.

If someone knows if  the QMK software is compatible with OLED with the SSD1305 chip it would be so helpful, I know that it is with SSD1306, but that way only can use the small OLEDs 0.91" and I would like to use one like 2" or something like that, I found some but they use the SSD1305 chip, I think it looks better with a bigger screen since it's a bigger keyboard.

My plan is to use the encoder on the side of the keyboard to look more like a scroll wheel, but you can still use the push function like in the sketch I made

Offline nevin

  • Posts: 1455
  • Location: US
Re: Making my first custom keyboard
« Reply #6 on: Thu, 25 March 2021, 16:18:15 »
take a look at tzarc's djinn
one of the only ones that i know of using a larger screen.... not officially supported in the qmk main branch yet, but he has resources available on it github
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline nevin

  • Posts: 1455
  • Location: US
Re: Making my first custom keyboard
« Reply #7 on: Thu, 25 March 2021, 16:29:00 »
and look at his BOM for parts
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline Leslieann

  • * Elevated Elder
  • Posts: 3973
Re: Making my first custom keyboard
« Reply #8 on: Thu, 25 March 2021, 22:41:40 »
I really liked the Melody96 case its awesome but in terms of layout I have already an idea of what I want, and it's closer to the vortex tab 90M and I really want to make my PCB to learn how to do it
on the other controllers to be honest I don't know much but for what I've seen QMK is nice and doesn't seem to complicate to use but tanks for the suggestions

Show Image

That screen is going to be an issue.

Small LCDs like this are usually attached to a PCB that is much larger than the LCD. While yours may fit, will everything fit around it? It may need to be lifted off the pcb or dropped below the pcb and you need clearance for everything. Many are also OLED and will have trouble with burn it since it will sit on the same screen for days and hours without changing.

Figure out your screen and how it will fit before you go any further because it will dictate a lot more of your design than you think. Get dimensions render it up in cad and work from there. My little 3d printed 65% while nice was not even remotely close to what I initially envisioned and it was almost entirely due to the lcd options.

Oh, and getting the LCD to work is also a lot more effort than anything else in the firmware. It may be easy if you're a programmer but for someone who isn't the tutorials are not very good and require a LOT of research and effort compared to just getting a working keyboard. Lots of dead ends and lots of outdated information. I'd even recommend getting your controller and LCD and starting on that before you start spending money on anything else, it was that difficult.
« Last Edit: Thu, 25 March 2021, 22:44:45 by Leslieann »
Novelkeys NK65AE w/62g Zilents/39g springs
More
62g Zilents/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 magnetic cable, pic
| Filco MJ2 L.E. Vortex Case, Jailhouse Blues, heavily customized
More
Vortex case squared up/blasted finish removed/custom feet/paint/winkey blockoff plate, HID Liberator, stainless steel universal plate, 3d printed adapters, Type C, Netdot Gen10 magnetic cable, foam sound dampened, HK Gaming Thick PBT caps (o-ringed), Cherry Jailhouse Blues w/lubed/clipped Cherry light springs, 40g actuation
| GMMK TKL
More
w/ Kailh Purple Pros/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 Magnetic cable
| PF65 3d printed 65% w/LCD and hot swap
More
Box Jades, Interchangeable trim, mini lcd, QMK, underglow, HK Gaming Thick PBT caps, O-rings, Netdot Gen10 magnetic cable, in progress link
| Magicforce 68
More
MF68 pcb, Outemu Blues, in progress
| YMDK75 Jail Housed Gateron Blues
More
J-spacers, YMDK Thick PBT, O-rings, SIP sockets
| KBT Race S L.E.
More
Ergo Clears, custom WASD caps
| Das Pro
More
Costar model with browns
| GH60
More
Cherry Blacks, custom 3d printed case
| Logitech Illumininated | IBM Model M (x2)

Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #9 on: Fri, 26 March 2021, 08:08:49 »
That screen is going to be an issue.

Small LCDs like this are usually attached to a PCB that is much larger than the LCD. While yours may fit, will everything fit around it? It may need to be lifted off the pcb or dropped below the pcb and you need clearance for everything. Many are also OLED and will have trouble with burn it since it will sit on the same screen for days and hours without changing.

Figure out your screen and how it will fit before you go any further because it will dictate a lot more of your design than you think. Get dimensions render it up in cad and work from there. My little 3d printed 65% while nice was not even remotely close to what I initially envisioned and it was almost entirely due to the lcd options.

Oh, and getting the LCD to work is also a lot more effort than anything else in the firmware. It may be easy if you're a programmer but for someone who isn't the tutorials are not very good and require a LOT of research and effort compared to just getting a working keyboard. Lots of dead ends and lots of outdated information. I'd even recommend getting your controller and LCD and starting on that before you start spending money on anything else, it was that difficult.

Thanks for the input, I know that the screens come with the bigger PCB than the screen, the firmware part I always suspected it would be like that, in terms of design I'm still not sure what screen to use because I don't know if it's going to be compatible in the firmware, I don't need an LCD, the OLED is fine I know that you have the burn the LEDs issue but that you can always put a timer for when you are not using the screen and if it is the 0.91" you can always change even though is always a cost that way the small screen is cheap.
On the OLED I was thinking using a simple 128x32 or 256x64 the only problem really isn't even in the design is really in the firmware since I don't know if the SSD1305 chip is going to work(I still don't have any of the screens to check or a PCB to connect to) either way I'm still going to try and make it and the case design is going to be the last part since i need to check what screen I will be using.

If someone already used any other screen with a chip other than the SSD1306 I would appreciate the feedback on the expirience

Offline Leslieann

  • * Elevated Elder
  • Posts: 3973
Re: Making my first custom keyboard
« Reply #10 on: Fri, 26 March 2021, 09:41:53 »
SSD1306 and SH1106 are the only ones supported out of the box, anything else will require even more work.
https://beta.docs.qmk.fm/using-qmk/hardware-features/displays/feature_oled_driver

On really small screens (yours is pretty small) the PCB can be twice the size of the screen (it's surprising how large they are). What I ended up doing was buying like 5 different (9 total, many were in pairs) screens to see what worked best, while it sounds silly I think I may have spent a grand total of $25 on them and that was after Prime shipping as I didn't want to wait forever from China. While I had much of the board rendered in cad, it was only when I had it in my hand trying to figure out to place and mount on a physical board that I saw how big of a problem it is.  It may squeeze into where you want, you still have to mount it and get wires to it. It may seem simple but every change and every part adds cost if you plan on getting this machined. An extra part to hold it will likely cost nearly what your plate will cost and while they look cool it's actually pretty pointless. By the time I got done with my board I was over the whole lcd thing, it wasn't placed how I wanted (not fixable) nor did it work how I wanted (fixable with a lot more effort), it was interesting and neat but I wouldn't do it again, it just added a lot of pointless complication from design to programming.

One other thing of note, the screen takes up a LOT of memory if you do much of anything with it, at this level it comes down to bits and bytes, every one of them counts, the Arduino may be a bit better but on Teensy 2.0 it's tight. RGB actually adds surprisingly little to the code but an LCD and multiple layers add quite a bit, even if most are blank.

Oh, one other thing, most will say 3.3-5v, don't believe it, they won't fry @ 5v but they won't operate and will get extremely hot, it was that heat that clued me in that they voltage was wrong and as soon as I dropped to 3.3v it fired right up. Again, not sure on Arduinos but the Teensy has a 3.3v pad you can pull power from.
Novelkeys NK65AE w/62g Zilents/39g springs
More
62g Zilents/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 magnetic cable, pic
| Filco MJ2 L.E. Vortex Case, Jailhouse Blues, heavily customized
More
Vortex case squared up/blasted finish removed/custom feet/paint/winkey blockoff plate, HID Liberator, stainless steel universal plate, 3d printed adapters, Type C, Netdot Gen10 magnetic cable, foam sound dampened, HK Gaming Thick PBT caps (o-ringed), Cherry Jailhouse Blues w/lubed/clipped Cherry light springs, 40g actuation
| GMMK TKL
More
w/ Kailh Purple Pros/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 Magnetic cable
| PF65 3d printed 65% w/LCD and hot swap
More
Box Jades, Interchangeable trim, mini lcd, QMK, underglow, HK Gaming Thick PBT caps, O-rings, Netdot Gen10 magnetic cable, in progress link
| Magicforce 68
More
MF68 pcb, Outemu Blues, in progress
| YMDK75 Jail Housed Gateron Blues
More
J-spacers, YMDK Thick PBT, O-rings, SIP sockets
| KBT Race S L.E.
More
Ergo Clears, custom WASD caps
| Das Pro
More
Costar model with browns
| GH60
More
Cherry Blacks, custom 3d printed case
| Logitech Illumininated | IBM Model M (x2)

Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #11 on: Fri, 02 April 2021, 18:07:39 »
Update!

Finally, decided the final layout for this version of the keyboard(image below) the OLED is going to the small one for this one since I'm still learning how to make a lot of the stuff and is going to be in the space above the num pad
MCU I'm going with STM32F303RE since a similar version was already used only difference is the ROM
USB-C on the right side
The backlight I'm still thinking the best way to do it since I also would like to use another colour on the keys like num lock and caps lock to know when they are activated

Suggestions are still welcomed


Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #12 on: Tue, 20 April 2021, 07:02:15 »
Update: Schematic completed (or at least I think it is), at the moment I only have put ISO Layout but if there is more people interest I may put as well the ANSI one.
It will have RGB per key light since I still can make the white colour and if I change my mind can also put other colours




Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #13 on: Mon, 26 April 2021, 18:57:36 »
UPDATE!!!!!!
PCB Design done! (At least for this version)
Here are some renders made in tracespace view

I already started the design of the case as well, like the rest of the keyboard is going to be heavily inspired by the Vortex Tab 90M since I really loved the look and simplicity



Offline Tarey

  • Posts: 7
  • Location: Hong Kong
    • My cover page
Re: Making my first custom keyboard
« Reply #14 on: Wed, 28 April 2021, 03:12:34 »
Hi mate, well done! You are inspiring me to learn to make a PCB design as well!
« Last Edit: Wed, 28 April 2021, 08:31:29 by Tarey »

Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #15 on: Wed, 05 May 2021, 04:42:48 »
Hi mate, well done! You are inspiring me to learn to make a PCB design as well!

Thx, make sure you do proper research in the parts you want to use the rest is easy, and for the MCU at the moment i find difficult to find some of them so if you want to make a keyboard right now check one that has the features that you want and is in stock, I had to change mine before made the order since i could not find one store that had stock before next year

Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #16 on: Fri, 14 May 2021, 07:11:16 »
Update

Case design done, now only missing the firmware. Hopefully i will finish this week.
Also, already have the PCBs.

Offline nevin

  • Posts: 1455
  • Location: US
Re: Making my first custom keyboard
« Reply #17 on: Fri, 14 May 2021, 08:49:06 »
got any renders? pics?
let me know if you need a hand with FW or get stuck.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #18 on: Mon, 17 May 2021, 05:52:09 »
got any renders? pics?
let me know if you need a hand with FW or get stuck.

I can post a render of the case but it doesn't have switches or anything fancy.



Offline nevin

  • Posts: 1455
  • Location: US
Re: Making my first custom keyboard
« Reply #19 on: Mon, 17 May 2021, 08:10:36 »
nice. looks good.
- you like the "floating keys" look better than a high profile case?
- does the plate screw into anything? or does the pcb screw to the bottom of the case? (looking at the render, it looks like traymount with the switchplate just being suspended by the switches. (the holes in the plate being large enough for the heads of the screws to go through)
    ...if that's the case, i'd build it without a plate, or use switchtop opening cutouts in the plate. (lets you play with the switches more without desoldering).
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline b1gsh4d0w

  • Thread Starter
  • Posts: 12
  • Location: UK
Re: Making my first custom keyboard
« Reply #20 on: Mon, 24 May 2021, 05:46:55 »
nice. looks good.
- you like the "floating keys" look better than a high profile case?
- does the plate screw into anything? or does the pcb screw to the bottom of the case? (looking at the render, it looks like traymount with the switchplate just being suspended by the switches. (the holes in the plate being large enough for the heads of the screws to go through)
    ...if that's the case, i'd build it without a plate, or use switchtop opening cutouts in the plate. (lets you play with the switches more without desoldering).

Yes I like the floating style,
Yes the plate is only held by the switches, and I want the plate as well, so it doesn't get too much dust inside on the pcb even tho is going to happen otherwise near the screen would have a big surface without anything as for the screws they go from the pcb to the case

As of now I wanted to make like this the keyboard, but i have plans to make a otholinear with low profile switches with no plate