geekhack Projects > Making Stuff Together!

[opensource] TOAD v2 | 70% keyboard | Now with Alps and aluminum case.

(1/24) > >>

Ladies and gentlemen, v2 is finally ready.
This is a follow-up to the original TOAD. I'm posting a new thread because the project has been since entirely reworked.
Everything from PCB to plate to case will be opensource, hoping that you'll find it useful.

Part 1: PCB

PCB has reached its third revision and it now features ALPS and MX support, two LED indicators and a universal layout, as shown in the next post.
Once again I owe this achievement to the good fellows who taught me designing PCBs, bpiphany, pomk and vvp. I can't express my gratitude to you gentlmen enough.

Soldered all the SMD components.

Part 2: Plate

Plates were again designed with swill's builder, which allowed me to draw them in a few minutes. Without this great tool I would still be trying to figure out what to do in Inkscape.
Pwner and xondat's experience and expertise truly came to help to fine tune the plate and I do appreciate their suggestions. Thank you guys.
I then had the plates laser cut out of brushed stainless steel 304 at Shangai AnAng Automatic Equipment.

And finally everything was assembled with Kailh Box Black switches.

Part 3: Case

Designing a case was a massive but fun task. For the first version of the TOAD I went through a lot of different options for both shape and material, yet, as you know, I eventually opted for a 3D printed case made out of PLA.
Then this comment really made me wanna try something new.

--- Quote from: xondat on Sun, 03 September 2017, 14:01:45 ---Lovely. Needs an aluminum case though :))

--- End quote ---

Hence, I switched from Tinkercad to Fusion 360, for the latter was more suitable to my new needs and, nonetheless, free for an hobbyist like me.
I wanted something not too gaudy and the KB-6251 was simply perfect for this task, especially for the bottom half.
Obviously I knew nothing about parametric modeling so I browsed YouTube for some tutorials and Lars Christensen's were undoubtedly the most appropriate. After a few weeks spent in front of my computer, I finally ordered the case at Ulitemech.
I spammed F5 on DHL tracking website for the past fourtyeight hours, literally, waiting for my new case to be delivered, then this package showed up.

I gently unwrapped the package with care, hoping the the customs inspector did the same, and this is what popped out of the box.

I noticed I forgot the screw heads holes for bottom half but I could do without as the plate is perfectly clamped by the two halves of the case.

I applied some rubber feet at the four holes that I predisposed.

Tested the case with the plate.

Finally I had everything ready for the final assembly.

And here it is.

Part 4: Layout, Firmware, Switches, Keycaps and final result.

For a change, I moved to a new encoding, which is Italian 142, and this is how my new layout is organized.
I'm using the TOAD with EasyAVR v3.00.01. Big thanks to metalliqaz for this great tool.
I installed Kailh Box Black which are easily my new favourite switches.
I mixed keysets to resemble the Italian 142 encoding, therefore I used dye sub italian PBT keycaps from a G81/SAI; some german dye sub PBT keycaps from a G81/SAD, specifically I used numbers from 7 to 0, the letter Q and the *+~. Strg and ^ are there just for fun.
Backspace, Right Shift and Fn key are from wodan's GMK HADapter & HADditionals kit.
ANSI Enter is a PBT dyesub and it's from Shadovved's EnjoyPBT Dyesub/Blank Keysets.
R1 Delete key is from the 1800 kit of xiaodian317's GMK Classic Retro & GMK GEEKHACK Pack.
I plan to have some custom dye sub beige keycaps to complete the 142 but it will be done later on.
I'm also planning to design a dust cover which will be likely made out of transparent 3D printed plastics.
For those wondering, the whole keyboard weighs roughly 1900 grams.

I really like how pinholes work for LED indicators.

And finally, a typing test.

Thanks for reading.

This post contains everything that is needed to assemble your own TOAD.

PCB source is available here. Please use rev. 3.

Parts list.
QuantityDescriptionManufacturer part numberSymbol1TOAD PCB1Atmel ATmega32u4ATMEGA32U4-AUU1116MHz crystalX322516MOB4SIX1222pf capacitorCL21C220JBANNNCC1, C2781N4148 diode1N4148W (1N4148WS would also fit)D1 to D78222 Ohm resistor0805W8J0220T5ER1, R211 kOhm resistor0805W8F1001T5ER531uF capacitorCL21F105ZOFNNNEC3 to C750.1uF capacitor0805F104M500NTC8 to C10116 pins USB type-C SMD connectorTYPE-C16PIN
Please note: Part numbers are just for reference, it's not mandatory to use those, just make sure that capacitors and resistors are form factor 0805 and diodes are SOD-123.
You can use your own crystal of choice as long as it's paired with the correct capacitors.

You also need:

* Two discrete LEDs and Two 0805 resistors for them;
* a set of stabilizers;
* up to eighty switches.


The PCB supports split Backspace, Shifts and ANSI Enter key. ISO Enter is also supported.
Bottom row could either be standard or winkeyless (with or without the actual winkey).
LEDs are predisposed in either a dedicated spot or in-switch in the Esc and Caps Lock's pads.


* EasyAVR: Starting from v3.00.01, the TOAD is now officially supported.
* QMK: TOAD is officially supported.Please note: The TOAD and the XMMX share the same matrix and the former is considered a variant. Make sure you're choosing the correct keymap and layout for your goal.

I recommend to design your own plate and have it laser cut at your favourite factory.
You can use the universal layout template to design your own.
If you're using swill's builder to draw your plate, please use these custom polygons:

MoreTop and bottom supports:
Add polygon - Custom polygon.
shape: [-x/2-10,-y]; [-10,-y]; [x/2-10,-y]; [-x/2-10,y]; [-10,y]; [x/2-10,y]
path: [0,0]; [5,-5]; [15,-5]; [20,0]; [15,5]; [5,5]

Top and bottom supports holes:
Cut polygon - Circle.
diameter: 3
shape: [-x/2,-y-5]; [0,-y-5]; [x/2,-y-5]; [-x/2,y+5]; [0,y+5]; [x/2,y+5]
circle centers: [0,0]

Lateral supports:
Add polygon - Custom polygon.
shape: [-x,-y/2-10]; [-x,y/2-10]; [x,-y/2-10]; [x,y/2-10]
path: [5,5]; [5,15]; [0,20]; [-5,15]; [-5,5]; [0,0]

Lateral supports holes:
Cut polygon - Circle.
diameter: 3
shape: [-x-5,-y/2]; [-x-5,y/2]; [x+5,-y/2]; [x+5,y/2]
circle centers: [0,0]

LED indicators:
Cut polygon - Circle.
diameter: 7
shape: [0,0];[19.05,0]
circle centers: [105,-38]

1u backspace Half-plate:
Cut polygon - custom polygon.
shape: [0,-19.05*2.25]
path: [0,0];[19.05*6.5,0];[19.05*6.5,19.05*1.5];[19.05*6,19.05*1.5];[19.05*6,19.05*2.5];[19.05*5.5,19.05*2.5];[19.05*5.5,19.05*3.5];[19.05*5,19.05*3.5];[19.05*5,19.05*4.5];[-19.05*5.25,19.05*4.5];[-19.05*5.25,19.05*3.5];[-19.05*6,19.05*3.5];[-19.05*6,19.05*1.5];[-19.05*6.5,19.05*1.5];[-19.05*6.5,0];[0,0]

2u backspace Half-plate:
Cut polygon - custom polygon.
shape: [0,-19.05*2.25]
path: [0,0];[19.05*5.5,0];[19.05*5.5,19.05*1.5];[19.05*6,19.05*1.5];[19.05*6,19.05*2.5];[19.05*5.5,19.05*2.5];[19.05*5.5,19.05*3.5];[19.05*5,19.05*3.5];[19.05*5,19.05*4.5];[-19.05*5.25,19.05*4.5];[-19.05*5.25,19.05*3.5];[-19.05*6,19.05*3.5];[-19.05*6,19.05*1.5];[-19.05*6.5,19.05*1.5];[-19.05*6.5,0];[0,0]

If anyone needs help designing the plate, please post your KLE in this thread.

Source code for the case model is available here. This was made with Autodesk Fusion 360 so you can download the .f3d files.
Compiled .step files can be downloaded here. The PDF is for the screw threads as it's required by some factories.
Please be aware that I've not sent the top with blockers to production so it is to be considered untested.

Very nice, and nicely done.  :thumb:

Impressive work.
Thanks for the details on which manufacturers you used.

Really impressive work. This is the kind of stuff we need for customs!  :thumb:


[0] Message Index

[#] Next page

Go to full version