Skip to the content
PCBKitNew board
2 layers61.2 × 38.4 mmClippy, the printed circuit board in 3D

A macropad for copy/pasting, and more!

Size
61.2 × 38.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
19
Nets
26
Pads
107
Tracks, vias
161, 10
Pours
1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
2 May 2023
Updated
6 May 2023

Overview

Clippy is an open-source printed circuit board by dj505, from the dj505/Clipboard repository on GitHub. It is a 2-layer board of 61.2 × 38.4 mm with 19 parts on 26 nets, routed with 161 tracks and 10 vias.

It is built around the SN74LV1T34DBV, SK6812MINI-E and PEC12R-4215F-S0024. Its parts include 7 diodes, 3 capacitors, 2 ICs, 1 connector and 1 switch. It belongs with the keyboards and input boards of this library.

Main components

3

README

README.md

Clipboard

A macropad made to make copy/paste easier
Fully assembled Clipboard

Isn't this basically just a small macropad?

Yes! There's no reason you have to use this exclusively for copy/pasting, or other common shortcuts. You can do whatever you want with it, really. I was comissioned to design this by a friend who does a lot of copy/pasting at work. As he would like to save himself from a perpetually sore wrist, it was designed to the specifications he provided, right down to the specific intended use case. Since it's meant to be used for copying and pasting in an office-like environment, "Clipboard" just so happened to be a good play on words. (Shoutouts to clue for pointing that out!)

Ok but what about the components?? The Tiny2040 is like $15 alone!

Short answer: Because I already have the parts lol

Long answer: To keep costs down, the deisgn was made to use parts we (myself and the friend who commissioned this board) already own. We both have a spare Tiny2040, I have hundreds of 1N4148 diodes from making keyboards, and I also have tons of leftover Kailh sockets and SK6812MINI-Es from the initial run of the PicoLX.

Update: RP2040-Zero branch available here!

The RP2040 Zero is significantly cheaper and has a near-identical pinout. Some pins remain unused but you can solder straight to the pins if you want to add any extra peripherals.

Bill of Materials

PartPackageQty
100nF Capacitor08053
1N4148 DiodeDO-354
SK6812MINI-EMINI-E3
Keyboard SwitchMX-style3
Rotary EncoderPEC12R-4215F-S00241
Pimoroni Tiny2040N/A1
SN74LV1T34DBVSOT-23-51

Firmware

This board was developed using KMK Firmware. Instructions for setting up KMK on your board can be found in the Getting Started docs.

After KMK itself is set up, delete the existing code.py or main.py on the CIRCUITPY drive, and copy the code.py file in this repository's "keymap" directory to the root of the drive.

You're done!

Notes on the firmware

  • By default, it does a lot. Maybe too much. Probably too much, actually. Please feel free to edit it down for your own use case! The KMK docs are your friend.
  • The OLED code used here is currently undocumented. It's fully reworked from example code I found on a GitHub issue thread that I can't seem to find again. It should be straightforward enough to understand, though!

Required CircuitPython libraries

CircuitPython libraries can be found here.
This project will require the following libraries from the "lib" folder of the library bundle:

  • neopixel.mpy
  • adafruit_displayio_ssd1306.mpy (required for OLED)
  • adafruit_display_text (required for OLED)
    Copy these files and folders into the "lib" folder on your CIRCUITPY drive.

Connecting an OLED display

Clipboard is made with an I2C 128x64 SSD1306 OLED display in mind. If you have a different display with a different resolution, you will have to edit code.py accordingly. The underside of the board has the appropriate pins marked, with SDA on GP26 and SCL on GP27. The VCC (or VDD (or 3.3V)) pin on the OLED should be wired to the +3V3 pin on the Clipboard.

Credits

  • Tiny2040 Symbol & Footprint by chinatsu - Licensed under Creative Commons Attribution-ShareAlike 3.0 Unported. License can be found in rp2040 directory. The following changes were made to the pcbnew footprint for this project:
    • "U1" and "Tiny2040" text on silkscreen layer have been moved
    • Rectangular pads were added to the front copper layer to allow for surface mounting
    • Silkscreen outline was changed so as to not overlap with the rectangular pads
  • marbastlib by ebastler - Licensed under the CERN Open Hardware Licence Version 2 - Permissive.
  • MX_V2 and MX_Alps_Hybrid by ai03 - Both licensed under the MIT License.

Parts

19
QtyValueFootprintReferences
41N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4
3100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C3
3MX-NoLEDMX_Hotswap:MX-Hotswap-1UMX1, MX2, MX3
3SK6812MINI-Emarbastlib-mx:LED_MX_6028RLED1, LED2, LED3
1Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1
1PEC12R-4215F-S0024Rotary_Encoder:RotaryEncoder_Bourns_Vertical_PEC12R-3xxxF-SxxxxSW1
1SN74LV1T34DBVPackage_TO_SOT_SMD:SOT-23-5U2
1tiny2040tiny2040:tiny2040U1

The 17 most common of 19 parts.

Questions

How big is the Clippy PCB?

It measures 61.2 × 38.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Clippy use?

19 parts, built around the SN74LV1T34DBV, SK6812MINI-E and PEC12R-4215F-S0024. 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.

Where can I download the Clippy KiCad files?

From the dj505/Clipboard repository on GitHub, at the commit this page was made from: the board is Clippy.kicad_pcb and its schematic Clippy.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Clippy design in my own project?

Its repository states no licence, so its author keeps all rights: ask dj505 before reusing the design.

Similar boards

  • 2 layers60 × 70 mmMedia controller, the printed circuit board in 3D

    Media controller

    bgb-0/media-controller

    Open-source USB-C media controller. RP2040, 3× MX hot-swap keys, EC11 encoder, SSD1306 OLED. KiCad + QMK.

    42 parts1GPL-2.0
  • 2 layers63.2 × 43.1 mmFireflyV0, the printed circuit board in 3D

    FireflyV0

    kylaro/firefly-led-controller

    PCB for the FireFly LED Controller

    21 parts1
  • 2 layers226 × 92 mmChameleon v1 0, the printed circuit board in 3D

    Chameleon v1 0

    TweetyDaBird/Fat-Chameleon

    A Grid Ortho keyboard for BM40, JJ40/JJ50 cases inspired by Planck and Preonic

    205 parts14CC-BY-SA-4.0
  • 2 layers139.1 × 107.7 mmLotus-58-BLE, the printed circuit board in 3D

    Lotus-58-BLE

    TweetyDaBird/Lotus-58-BLE

    165 parts7
  • 2 layers225.5 × 93 mmSkinny Chameleon, the printed circuit board in 3D

    Skinny Chameleon

    TweetyDaBird/Skinny-Chameleon

    The Skinny Chameleon is a grid type orthogonal keyboard made to be a direct drop-in for the Preonic's and Planck's PCB's.

    201 parts3
  • 2 layers428.7 × 127.3 mmPieBoard, the printed circuit board in 3D

    PieBoard

    SbRhubarbPie/PieBoard

    A full sized custom keyboard made as a project for Hack Club's Highway to Undercity

    426 parts2
  • 2 layers76.2 × 96.7 mmUnOrthoDox 20 PCB, the printed circuit board in 3D

    UnOrthoDox 20 PCB

    TweetyDaBird/UnOrthoDox

    A 'simple' 17-20 key Numpad

    70 parts1
  • 2 layers76.6 × 81.5 mmCosmodocks, the printed circuit board in 3D

    Cosmodocks

    holeminhnhat3101/Cosmos-docks

    Cosmos-docks is a custom hackpad created by me. It includes a custom PCB, a fully 3D-printable case, one rotary encoder, an OLED display, and SK6812MINI-E addressable RGB LEDs.

    60 partsMIT