• Stars
    star
    1,200
  • Rank 39,023 (Top 0.8 %)
  • Language
    C
  • License
    MIT License
  • Created over 7 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Do-It-All Mechanical Macropad

duckyPad: Do-It-All Mechanical Macropad

Get duckyPad | Official Discord | Getting Started | Table of Contents


duckyPad is a 15-key mechanical macropad that helps consolidate & speed up workflow by automating keyboard (and mouse!) inputs.

Alt text

duckyPad has all the goodies of a high-end mechanical keyboard:

  • Mechanical switches
  • Hot-swap
  • RGB
  • USB-C
  • Open-source

More crucially, it also features innovations such as:

  • OLED screen showing what each key does
  • Sophisticated multi-line scripting with duckyScript
  • 32 profiles of 15 keys, 480 macros total.
  • Automatic profile switching based on active window.
  • microSD card storage, move between devices without losing macros.
  • No driver needed, works out-of-box on anything that supports USB keyboards.

Alt text

When pressed, each key execute duckyScript to automate keyboard actions.

It can be as simple as shortcuts like Control + C, or as complex as launching applications, managing livestreams, or even creating root backdoors or grabbing passwords. It's all up to you!

Get a duckyPad!

duckyPad is now available on Tindie, feel free to grab one there!

And thanks to the interest and support from the amazing people like you, the Kickstarter campaign has been a great success!

Join Our Discord!

Feel free to join our Official Discord for discussions, questions, sharing scripts, and latest updates!

Highlights

  • 15 Mechanical Switches
  • Hot-Swap Sockets
  • Per-Key RGB Lighting
  • OLED Screen showing profile and key names.
  • Powerful multi-line scripting with duckyScript
  • 32 profiles of 15 keys, 480 macros total.
  • Automatic profile switching based on active window
  • microSD storage
  • USB-C Connector
  • Works with all major OSs, no driver needed.
  • Multiple keyboard layouts (French, Belgium, German, Dvorak, etc)
  • Fully Open Source!

Showcase

By automating frequently-used actions with duckyPad, you can streamline and speed up your everyday routine.

Here are a few examples:

Launching Applications

You can set up duckyPad to open your favourite app with the press of a button:

Alt text

Managing Livestreams

With the press of a key, you can switch scenes, start/stop stream, start/stop recording, play ads, and a lot more!

Alt text

Security Research

With the ability to automate keyboard inputs, it is possible to take over an entire computer with the push of a button.

This is known as BadUSB attack, and it was the original purpose of USB Rubber Ducky.

But of course, it's up to you to decide what to do!

Alt text

Photoshop / CAD

You can put all your shortcuts in one place, resulting in a more efficient workflow:

Alt text

One-finger Twitch Chat

Alt text

Switching Profiles

With all the potential usages, duckyPad supports up to 32 profiles.

Simply press the +/- button to switch between them, or use the profile autoswitcher to switch automatically based on current active window.

Alt text

... and more!

Those are just some examples! You can use duckyPad to do whatever you want!

Features

Mechanical Switches

duckyPad is compatible with Cherry MX-style mechanical switches (3 or 5-pin).

duckyPad comes with Gateron Green or Kalih BOX Navy switches, both of which are firm and clicky.

Of course, you can also install your own switches!

Keycaps

By default, duckyPad comes with blank translucent ABS R4 keycaps:

Alt text

Of course, you can also install your own!

Hot-swap Sockets

duckyPad supports hot-swapping with Kailh sockets.

You can install/remove the switches by hand, no soldering needed.

Alt text

Per-key RGB backlight

Each key on duckyPad has its own RGB backlight. You can assign unique colours to suit your needs.

OLED screen

duckyPad has an OLED screen. It displays current profile and key names, so you know what each key does at a glance.

  • 1.3-inch blue OLED display
  • High contrast with true OLED black
  • 128 x 64 resolution
  • Burn-in prevention

Alt text

duckyScript

duckyPad uses duckyScript for keyboard automation. It was originally developed for USB Rubber Ducky.

duckyScript is powerful but also easy and straightforward to write.

A simple example look like this:

CONTROL SHIFT ESC

Now when you press a key on duckyPad, it will bring up the Task Manager, no need for memorising and pressing a 3-key combo.

Alt text

Of course, duckyScript can do much more!

Here is a more complex multi-line example that open up notepad, types "Hello world", and increases text size:

WINDOWS R
DELAY 400
STRING notepad
ENTER
DELAY 400

STRING Hello World!
CONTROL +
REPEAT 10

Alt text

Companion App

duckyPad comes with a companion app for Windows 10, macOS, and Linux. You can use it to:

  • Manage profiles
  • Manage key names, colours, and arrangements.
  • Write, debug, and test-run duckyScript.
  • Change, save, and backup configurations.

Alt text

But more importantly, duckyPad app respects your privacy:

  • Fully open-source
  • No need to create an account
  • No data collection whatsoever
  • No internet connection required
  • You donโ€™t even have to use it! You can set up your duckyPad manually.

USB-C and Device Compatibility

duckyPad uses USB-C connector for maximum device compatibility.

Alt text

You can use duckyPad out-of-box on pretty much anything that supports USB keyboards, no driver needed. Examples include:

  • PC
  • Mac
  • Linux
  • Raspberry Pi
  • iPhone / iPad
  • Android phones and tablets
  • Chromebooks
  • Game consoles

duckyPadโ€™s firmware can also be easily updated via USB-C for new features and bug fixes.

Keyboard Layouts

duckyPad supports multiple keyboard layouts:

  • English (US)
  • French
  • Belgium
  • German
  • Dvorak
  • ...and more user-created layouts!

Dimensions

Click me for vector files of front and back plates.

Click me for dimensions drawings.

I want one!

duckyPad is now available on Tindie!, feel free to grab one there!

Also consider joining our discord for latest updates and discussions.

Press Kit / More Photos

Click me to download some high-resolution photos of duckyPad, feel free to share them.

Getting started

Please see the instruction manual on how to use your duckyPad.

Making one yourself

Please see this guide.

Derivatives

A number of projects are based on duckyPad, they are listed here!

  • simonCor ported this project to a STM32F4 black pill, with hand-soldered connections and 3D-printed case, very neat!

  • headslash is working on Frankenduck, with redesigned PCB, 3D-printed case, and extra switches.

Table of Contents

Main page

Getting Started Guide

Kit Assembly Guide

Using duckyScript

Common issues / Troubleshooting

Firmware Updates and Version History

Make Your Own Keymap

Manual Setup

Build a duckyPad Yourself

Kickstarter Backer Acknowledgments

Questions or Comments?

Please feel free to open an issue, ask in the official duckyPad discord, DM me on discord dekuNukem#6998, or email dekuNukem@gmail.com for inquires.

More Repositories

1

daytripper

Hide-My-Windows Laser Tripwire
C
3,675
star
2

Nintendo_Switch_Reverse_Engineering

A look at inner workings of Joycon and Nintendo Switch
C
3,437
star
3

bob_cassette_rewinder

Renew and Refill Bob Cassettes for 98% Cost Saving!
C
1,441
star
4

pimp_my_microwave

Installing a RGB mechanical keypad on my microwave.
C++
493
star
5

FAP80

A Z80 retro computer without the retro baggage
C
475
star
6

Amazon_Dash_Button

Components and pinouts of Amazon Dash Button
C
361
star
7

STM32_tutorials

STM32 tutorial with STM32Cube and Keil MDK-ARM
C
340
star
8

exixe

Miniature driver modules for IN-12 and IN-14 Nixie tubes
C
234
star
9

USB4VC

USB Keyboard/Mouse/Gamepads on Retro Computers!
C
203
star
10

RGBeeb

BBC Micro in an ATX PC case!
HTML
168
star
11

ATX4VC

Replace aging vintage computer power supply with modern ATX PSU
C
99
star
12

PicoRC

PicoPSU adaptor for retro computers
Python
87
star
13

gc3ds

an adaptor that let you use Nintendo GameCube controller on Nintendo 3DS consoles.
C++
84
star
14

facepunch

Raspberry Pi based facial recognition punch clock
Python
81
star
15

Powerduino

A user-programmable power strip with energy monitoring and wireless connectivity.
77
star
16

joyAnalog

Custom board for Joycon input automation
C
57
star
17

3xtDS

3DS Streaming Console with External Control Interface.
C++
51
star
18

duckyPad-profile-autoswitcher

Python
48
star
19

Kentucky_Route_Zero_Official_Developer_Wiki

Official Internal Developer Wiki for Kentucky Route Zero
Shell
43
star
20

duckyPad-Pro

Advanced Input Automation with duckyScript
C
34
star
21

exixe_clock

GPS-disciplined high-accruacy Nixie tube clock using exixe modules.
C
27
star
22

Modeck

A physical control panel for Twitch Broadcasters
Eagle
17
star
23

PulseHPT

C
15
star
24

Poke-O-Matic

Automatic shiny finder / breeder for Pokemon X/Y
C
14
star
25

traffic-cone-film-scanning

Shell
13
star
26

Vintage_Computer_ROM_Dumps

ROM Dumps of my retro hardwares
Python
12
star
27

hirc

A simple command line IRC client for Twitch chat.
Python
6
star
28

Twitch_Chatlogs

Twitch chat logs of major Twitch events, and the chat logger itself.
Python
4
star
29

dekunukem.github.io

github webpage test
HTML
3
star
30

usb4vc-configurator

Update and add custom gamepad mappings to USB4VC with this cross-platform configurator!
Python
3
star
31

duckyPad-expansion-modules

C
2
star