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
3 views
0 followers
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?

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


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!!

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!!!

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
- make it thinner
- move the mounting hole for keychains to the middle or maybe ill keep on side idk
- smaller than yubikey!!!
- move the rp2350 closer to the usb c bc i want the data routes to be shorter
- 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!!

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!!




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

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!!

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

next i have to work on silkscreen and ground fill!!
and then firmware...
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!!:

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!!:

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

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!!

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

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!!




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
- make it thinner
- move the mounting hole for keychains to the middle or maybe ill keep on side idk
- smaller than yubikey!!!
- move the rp2350 closer to the usb c bc i want the data routes to be shorter
- 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!!

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!!

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!!!

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


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?
