
Duck
CubeShifter/Duck
A little fidget toy that lets you click a keyboard switch and plays a noise.

A little fidget toy that lets you click a keyboard switch and plays a noise.
Duck is an open-source printed circuit board by CubeShifter, from the CubeShifter/Duck repository on GitHub, published under the MIT licence. It is a 4-layer board of 30.7 × 30.5 mm with 50 parts on 68 nets, routed with 426 tracks and 62 vias.
It is built around the RP2040, W25Q128JVSIQ and SK6812MINI-E, with the TYPE-C-31-M-12 among its other parts. Its parts include 23 capacitors, 11 resistors, 5 ICs, 2 diodes and 2 connectors. It belongs with the RP2040 boards of this library.
An rp2040 devboard that can be coded up to play a loud noise when pressed with a keyboard switch. The original goal for the project was to make it play a loud noise of your choice when you press the switch, but i wanted to make it more customizable so now its a pcb that you can do whatever with. sadly i did privitize my lapse links cause i put some pii in them so you will just have to trust my :hs:
Screenies!
Schematic
I foget what its called(Dont mind the drc errors i forgot to rerun it)
3d Model of top:
3d model of bottom:
Get the pcb fabricated, and solder on the componenets. I would highly reccomend PCBA, but you could also hand solder it. Once you build it, you can flash code on it like an rp2040 devboard. I want to see how people use the key and audio, so you should try using it somehow!
| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | 0.1uF | Capacitor_SMD:C_0402_1005Metric | C1, C2, C3, C4, C5, C6, C7, C8, C10, C11, C18, C22, C23 |
| 3 | 10uf | Capacitor_SMD:C_0603_1608Metric | C13, C14, C21 |
| 2 | 10uF | Capacitor_SMD:C_0603_1608Metric | C19, C20 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R5, R6 |
| 2 | 1uF | Capacitor_SMD:C_0402_1005Metric | C9, C12 |
| 2 | 27 | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 2 | 33pF | Capacitor_SMD:C_0402_1005Metric | C15, C16 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R12, R13 |
| 1 | 0.1uf | Capacitor_SMD:C_0402_1005Metric | C17 |
| 1 | 1000k | Resistor_SMD:R_0402_1005Metric | R9 |
| 1 | 100k | Resistor_SMD:R_0402_1005Metric | R8 |
| 1 | 10k | Resistor_SMD:R_0402_1005Metric | R7 |
| 1 | 2k | Resistor_SMD:R_0402_1005Metric | R11 |
| 1 | 330 | Resistor_SMD:R_0402_1005Metric | R10 |
| 1 | Conn_01x02 | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J1 |
| 1 | Conn_02x01 | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J3 |
| 1 | Crystal_GND24 | meow:CRYSTAL-SMD_4P-L3.2-W2.5-BL | Y1 |
| 1 | D | Diode_SMD:D_0402_1005Metric | D3 |
| 1 | MAX98357A | Package_DFN_QFN:TQFN-16-1EP_3x3mm_P0.5mm_EP1.23x1.23mm | U2 |
| 1 | MCP73831-2-OT | Package_TO_SOT_SMD:SOT-23-5 | U4 |
| 1 | NCP1117-3.3_SOT223 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U5 |
| 1 | RP2040 | Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U1 |
| 1 | SK6812MINI-E | LED_SMD:LED_SK6812MINI-E_3.2x2.8mm_P1.5mm_ReverseMount | D1 |
| 1 | SW_Push | meow:SW-SMD_L3.9-W3.0-P4.45 | SW1 |
| 1 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW2 |
| 1 | TYPE-C-31-M-12 | meow:USB-C_SMD-TYPE-C-31-M-12_1 | USBC1 |
| 1 | W25Q128JVS | Package_SO:SOIC-8_5.3x5.3mm_P1.27mm | U3 |
The 47 most common of 50 parts.
It measures 30.7 × 30.5 mm and has 4 copper layers, 1.6 mm thick.
50 parts, built around the RP2040, W25Q128JVSIQ, SK6812MINI-E and TYPE-C-31-M-12. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the CubeShifter/Duck repository on GitHub, at the commit this page was made from: the board is Duck.kicad_pcb and its schematic Duck.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

CubeShifter/Duck
A little fidget toy that lets you click a keyboard switch and plays a noise.




ayaxan7/CB-01
NeonCore is a cyberpunk-inspired electronic badge built around the RP2040 microcontroller. The project combines embedded hardware with custom PCB artwork, resulting in a compact development badge that is both functional…


shanteacontrols/OpenDeck
A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

Breadstick-Innovations/22008-RP2040-Dev-Board
A 4-layer dev-board for the RP2040 with a focus on signal integrity and JLCPCB's basic components for affordable small runs using their SMT assembly service.

jpconstantineau/EncoderPad_RP2040
The EncoderPad RP2040 is a Video Editing Macropad with a 60mm Encoder Wheel. This encoder is made of metal and feels like it will last forever. The EncoderPad uses 9 mechanical switches (Cherry MX type).