Blueprint

KDKey

A small rp2350 based usb board that im gonna use as a security key but can also be used as a testing board or badusb

Created by Launch Launch

3 views

0 followers

Launch Launch added to the journal ago

another note

im also considering removing the buttons and replacing the voltage reg with a differnet one with a smaller form factor and then having the boot button function just thru shorting some holes or smt and the reset button isnt super necessary im thinking since that can be done via replugging?

Screenshot 2026-01-18 at 4.01.12 PM

Launch Launch added to the journal ago

V2 EVEN SMALLER

okk so i got the idea what if i just put stuff thats easy to solder that i can solder myself on the back to free up even more space!!

and then i did more routing :( and did ground fill

i might completely redo routing bc its kinda messy bc of how i moved stuff around without restarting traces but idk tbh

also im thinking since i have so much extra space i might make multiple versions one which is ultrasmall and then this one but with something extra like idk fingerprint or smt if thats doable im not too sure tbh

heres what it looks like now

Screenshot 2026-01-18 at 3.56.48 PMScreenshot 2026-01-18 at 3.56.56 PM

Launch Launch added to the journal ago

V2 HALF!!

okk so i gotta go so this is a quick note but i placed everything down and wired everything up except ground/ground fill

heres the much smaller improved v2!!

Screenshot 2026-01-16 at 5.52.46 PM

its much smaller but its also got plenty of empty space and its really messy rn but i gotta go somewhere and just wanted to write everything down before i do

i moved the mounting hole center
i still need to wire data wires
i need to clean up the silkscreen
i need to do drc and ground

basically rn i want to reduce that unused space, make it even smaller and ya

heres what the size is compared to a yubikey (blue is yubikey dimensions) but also the yubikey dimensions includes the usb c and the one i was comparing also has nfc.. so i need to make it smaller!!!

Screenshot 2026-01-16 at 5.54.43 PM

Launch Launch added to the journal ago

notes

note: as of rn the dimensions r
22.1 x 39.8mm excluding the usb c plug and for comparison yubikey is
18mm x 45mm x 3.7mm

so kinda close mine is a little thicker so my hope is with this redesign im gonna

  1. make it thinner
  2. move the mounting hole for keychains to the middle or maybe ill keep on side idk
  3. smaller than yubikey!!!
  4. move the rp2350 closer to the usb c bc i want the data routes to be shorter
  5. move the clock closer to the rp bc its kinda close idk

heres a pic for a cool banner, time to get into a redesign!!

Screenshot 2026-01-16 at 4.43.35 PM

Launch Launch added to the journal ago

ground fill + gnd routing + DRC +realizing i want to redo :(

so basically i did the ground fill with a filled zone but there was still plenty of grounds left or dont meet the thermal requirements on drc so i manually traced a bunch of those

then i went through drc and fixed a bunch of stuff like a bunch of random traces i didnt realize or silkscreen warnings or thermal relief or tolerances

then i went to pick parts and jlcpcb only had 15pF capacitors for basic in a smaller size (0402 or 0603 instead of 0805). then i realized im probably gonna do pcba on this bc idt i have the equipment for this small stuff like this rn like hot plates and stuff and i can literally make all the capacitors and resistors 0402 instead.. so now im gonna redo all the traces with 0402!!

heres the pcb rn!!

Screenshot 2026-01-16 at 4.35.02 PMScreenshot 2026-01-16 at 4.35.15 PM

Screenshot 2026-01-16 at 4.35.32 PM
Screenshot 2026-01-16 at 4.36.33 PM

Launch Launch added to the journal ago

footprints + routing + schematic changes

okk so whole bunch of changes and a lot of time here

first, i assigned footprints which took a bit of going back and forth but heres the list

Screenshot 2026-01-15 at 10.33.35 PM

most of these are just smd and i picked 0805 sized bc most people r saying thats the easiest to do for beginners so ya

also took some back and forth with the usb c plug and jst and the buttons but got it to work - jst i was tryna get the smallest possible. i changed the flash to the one used in the devboard tutorial bc i remembered that one was smaller and size is kinda important here!!

next, i got the pcb setup and took inspiration for sizing from the yubikey so its sized to be pretty similar and highkey the doc makes it look big but it was fine when i actually measured.

after that, i tried to keep capacitors and resistors that are for a certain pin near those pins so one coupling capacitor near each pin, resistors near their specific pins. also this can be seen in my devboard but i like 45 degree rotated mcus so i did that here too.

i also added a mounting hole onto the schematic bc i forgot that this is probably going on a keychain so i had to figure out how mounting holes work bc i havent done that before but just ended up putting the symbol and got the 2mm footprint of it

i also tried to work on making sure all the component label silkscreens are visible bc idk how it works but i think maybe that those r important but ill ask in slack and if i can remove them thats tuffer.

i also did the differential pair thing on the data pins bc i heard that was important so i made them both the same lengths

heres the routed version!!

Screenshot 2026-01-15 at 10.39.48 PM

and heres a 3d model (hey i had to work to get all of those models bc some of them just didnt wanna work)

Screenshot 2026-01-15 at 10.40.16 PM

next i have to work on silkscreen and ground fill!!

and then firmware...

Launch Launch added to the journal ago

Finished schematic (hopefully right)

So my plan was I was gonna do the ysws for a yubikey but then i realized i dont need thaat much actual security so ill just make my own security key

i found picokey and im planning to make a fido based key and with that. the requirements for picokey includes using a compatible mcu and i was originally planning to use a rp2040 but picokey requires a rp2350 because of the updated like secure boot and stuff upgrades so i will be using a rp2350.

my main use cases for this are gonna be on my phone (iphone 17) and my mac so usb c would be best so ill just add a usb c plug for connectivity.

i based my design for the schematic basically just off of the rp2350 datasheet usage guide over here: https://datasheets.raspberrypi.com/rp2350/hardware-design-with-rp2350.pdf

and then just removed gpio and replaced the microusb in the guide with usb c which took a second because i didnt know how to use the CC pins but it was a simple google search to find that those CC pins are for communicating what kind of device and connecting those pins to ground over a 5.1k resistor marks it to just receive power.

heres a quick breakdown of what i learned and what each section is for:

POWER : usb c with the CC pins marked as power by connecting CC pins to gnd over 5.1k resistor, power pins go through the voltage regulator with capacitors for power regulation. after that, the data pins go straight to the rp2350's data pins. finally just the shield goes to ground.

12mhz crystal: just handles the timing and allat

Flash Memory: memory for the rp2350 and this handles 16mb so plenty of space!!

JST: for debugging and stuff

Voltage Regulator: so some of the internal parts use 1.1v instead of 3.3 and that apparently allows for better power efficiency and stuff? so the board uses both 1.1v for internals and 3.3v for interfacing with external stuff

Coupling Capacitors: so we put one coupling capacitor for each power pin and it just makes sure the power is stable capacitors are basically just mini batteries so if the power fluctuates then itll take care of it.

heres the schematic!!:

image

Launch Launch started KDKey ago

1/15/2026 2 PM - Finished schematic (hopefully right)

So my plan was I was gonna do the ysws for a yubikey but then i realized i dont need thaat much actual security so ill just make my own security key

i found picokey and im planning to make a fido based key and with that. the requirements for picokey includes using a compatible mcu and i was originally planning to use a rp2040 but picokey requires a rp2350 because of the updated like secure boot and stuff upgrades so i will be using a rp2350.

my main use cases for this are gonna be on my phone (iphone 17) and my mac so usb c would be best so ill just add a usb c plug for connectivity.

i based my design for the schematic basically just off of the rp2350 datasheet usage guide over here: https://datasheets.raspberrypi.com/rp2350/hardware-design-with-rp2350.pdf

and then just removed gpio and replaced the microusb in the guide with usb c which took a second because i didnt know how to use the CC pins but it was a simple google search to find that those CC pins are for communicating what kind of device and connecting those pins to ground over a 5.1k resistor marks it to just receive power.

heres a quick breakdown of what i learned and what each section is for:

POWER : usb c with the CC pins marked as power by connecting CC pins to gnd over 5.1k resistor, power pins go through the voltage regulator with capacitors for power regulation. after that, the data pins go straight to the rp2350's data pins. finally just the shield goes to ground.

12mhz crystal: just handles the timing and allat

Flash Memory: memory for the rp2350 and this handles 16mb so plenty of space!!

JST: for debugging and stuff

Voltage Regulator: so some of the internal parts use 1.1v instead of 3.3 and that apparently allows for better power efficiency and stuff? so the board uses both 1.1v for internals and 3.3v for interfacing with external stuff

Coupling Capacitors: so we put one coupling capacitor for each power pin and it just makes sure the power is stable capacitors are basically just mini batteries so if the power fluctuates then itll take care of it.

heres the schematic!!:

image

1/15/2026 10 PM - footprints + routing + schematic changes

okk so whole bunch of changes and a lot of time here

first, i assigned footprints which took a bit of going back and forth but heres the list

Screenshot 2026-01-15 at 10.33.35 PM

most of these are just smd and i picked 0805 sized bc most people r saying thats the easiest to do for beginners so ya

also took some back and forth with the usb c plug and jst and the buttons but got it to work - jst i was tryna get the smallest possible. i changed the flash to the one used in the devboard tutorial bc i remembered that one was smaller and size is kinda important here!!

next, i got the pcb setup and took inspiration for sizing from the yubikey so its sized to be pretty similar and highkey the doc makes it look big but it was fine when i actually measured.

after that, i tried to keep capacitors and resistors that are for a certain pin near those pins so one coupling capacitor near each pin, resistors near their specific pins. also this can be seen in my devboard but i like 45 degree rotated mcus so i did that here too.

i also added a mounting hole onto the schematic bc i forgot that this is probably going on a keychain so i had to figure out how mounting holes work bc i havent done that before but just ended up putting the symbol and got the 2mm footprint of it

i also tried to work on making sure all the component label silkscreens are visible bc idk how it works but i think maybe that those r important but ill ask in slack and if i can remove them thats tuffer.

i also did the differential pair thing on the data pins bc i heard that was important so i made them both the same lengths

heres the routed version!!

Screenshot 2026-01-15 at 10.39.48 PM

and heres a 3d model (hey i had to work to get all of those models bc some of them just didnt wanna work)

Screenshot 2026-01-15 at 10.40.16 PM

next i have to work on silkscreen and ground fill!!

and then firmware...

1/16/2026 4:36 PM - ground fill + gnd routing + DRC +realizing i want to redo :(

so basically i did the ground fill with a filled zone but there was still plenty of grounds left or dont meet the thermal requirements on drc so i manually traced a bunch of those

then i went through drc and fixed a bunch of stuff like a bunch of random traces i didnt realize or silkscreen warnings or thermal relief or tolerances

then i went to pick parts and jlcpcb only had 15pF capacitors for basic in a smaller size (0402 or 0603 instead of 0805). then i realized im probably gonna do pcba on this bc idt i have the equipment for this small stuff like this rn like hot plates and stuff and i can literally make all the capacitors and resistors 0402 instead.. so now im gonna redo all the traces with 0402!!

heres the pcb rn!!

Screenshot 2026-01-16 at 4.35.02 PMScreenshot 2026-01-16 at 4.35.15 PM

Screenshot 2026-01-16 at 4.35.32 PM
Screenshot 2026-01-16 at 4.36.33 PM

1/16/2026 4:43 PM - notes

note: as of rn the dimensions r
22.1 x 39.8mm excluding the usb c plug and for comparison yubikey is
18mm x 45mm x 3.7mm

so kinda close mine is a little thicker so my hope is with this redesign im gonna

  1. make it thinner
  2. move the mounting hole for keychains to the middle or maybe ill keep on side idk
  3. smaller than yubikey!!!
  4. move the rp2350 closer to the usb c bc i want the data routes to be shorter
  5. move the clock closer to the rp bc its kinda close idk

heres a pic for a cool banner, time to get into a redesign!!

Screenshot 2026-01-16 at 4.43.35 PM

1/16/2026 5 PM - V2 HALF!!

okk so i gotta go so this is a quick note but i placed everything down and wired everything up except ground/ground fill

heres the much smaller improved v2!!

Screenshot 2026-01-16 at 5.52.46 PM

its much smaller but its also got plenty of empty space and its really messy rn but i gotta go somewhere and just wanted to write everything down before i do

i moved the mounting hole center
i still need to wire data wires
i need to clean up the silkscreen
i need to do drc and ground

basically rn i want to reduce that unused space, make it even smaller and ya

heres what the size is compared to a yubikey (blue is yubikey dimensions) but also the yubikey dimensions includes the usb c and the one i was comparing also has nfc.. so i need to make it smaller!!!

Screenshot 2026-01-16 at 5.54.43 PM

1/18/2026 3 PM - V2 EVEN SMALLER

okk so i got the idea what if i just put stuff thats easy to solder that i can solder myself on the back to free up even more space!!

and then i did more routing :( and did ground fill

i might completely redo routing bc its kinda messy bc of how i moved stuff around without restarting traces but idk tbh

also im thinking since i have so much extra space i might make multiple versions one which is ultrasmall and then this one but with something extra like idk fingerprint or smt if thats doable im not too sure tbh

heres what it looks like now

Screenshot 2026-01-18 at 3.56.48 PMScreenshot 2026-01-18 at 3.56.56 PM

1/18/2026 4 PM - another note

im also considering removing the buttons and replacing the voltage reg with a differnet one with a smaller form factor and then having the boot button function just thru shorting some holes or smt and the reset button isnt super necessary im thinking since that can be done via replugging?

Screenshot 2026-01-18 at 4.01.12 PM