Skip to content

dekuNukem/duckyPad-Pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

duckyPad Pro: Advanced Macro Scripting Beyond QMK/VIA

Support on Kickstarter! | Official Discord | Getting Started | Table of Contents


duckyPad Pro is a 20-key mechanical macropad for power users who demand advanced macro scripting and customisation beyond the shackles of QMK/VIA.

alt_text

Incorporating 4 years worth of feedback from the original duckyPad, duckyPad Pro combines long-requested upgrades with a no-nonsense design, aiming simply to be the most capable macropad today.

Get duckyPad Pro

Kickstarter campaign is NOW LIVE!

  • Starts from $84.99 with optional add-ons

  • 200 Early Bird slots with small discount and immediate shipping

  • Join our Official Discord for discussions and updates!

Promo Video

Highlights

duckyPad Pro has all the basics:

  • Hot-Swap
  • Rotary Encoders
  • Per-key RGB
  • USB-C
  • 100% Open-source

But also features unlike any other:

  • Custom duckyScript engine, NOT QMK/VIA.
  • Longer and more complex macros
  • 1.5" OLED screen
  • Bluetooth
  • Expansion Modules for external switches / foot pedals
  • 64 profiles, 3712 macros total.
  • Automatic profile switching based on active window.
  • microSD storage
  • No proprietary drivers, works out-of-box.
  • Hacker friendly with tinkering guide

alt_text

duckyScript vs QMK/VIA

duckyPad Pro runs duckyScript, originally designed for USB Rubber Ducky.

Compared to QMK/VIA, you get:

  • Much Longer Macros

  • Advanced Interactive Scripting

    • Variables, conditions, loops, functions, etc.
    • Reading Buttons
    • Print to OLED screen
    • Change RGB Color
    • Fine timing control
    • Randomization
    • How about a fully functional Pong game? [code]
  • SD Card Storage

    • Fast Configuration / Backup / Deployment
    • No sketchy drivers or apps
    • No recompiling

While QMK/VIA are great for regular keyboards, they are rather hopeless at even the basics of input automations.

duckyScript is a no-brainer for power users with more demanding scripting needs.

How It Works / Showcase

  • Create up to 64 profiles, one for each application.

  • Assign up to 58 keys per profile (20 onboard + 6 rotary encoder + 32 external)

  • Names are shown on OLED screen

  • Write a duckyScript for each key

alt_text

Easy Start

  • duckyScript is a simple language for automating inputs

  • You basically tell it what key to press!

  • Start simple by mapping shortcuts of your favourite app

Browsing

Zoom In: CTRL +

Next Tab: CTRL SHIFT TAB

alt_text

OBS

Switch Scenes: F13 F14 F15 F16

alt_text

Up a Notch

  • Once familiar, you can write longer multi-line macros to further speed up everyday task.

  • Such as filling forms and typing boilerplate text with one keypress.

STRING Michael Scott
TAB
STRING United States
ENTER
STRING 5705550100
TAB
STRING [email protected]
TAB

alt_text

Or a simple mouse jiggler:

WHILE TRUE
	MOUSE_MOVE $_RANDOM_INT $_RANDOM_INT
	DELAY 100
END_WHILE

alt_text

Even Further

  • Explore the full potential with advanced interactive scripting
  • Read Buttons
  • Write to OLED screen
  • Change RGB colors
  • Conditions and Loops
  • Write ultra-specific macros for your exact needs
RGB_SET 1 128 0 255

OLED_PRINT You are in a maze
OLED_PRINT of twisty little passages

VAR $choice = $_READKEY

IF $choice == 1 THEN
    OLED_CURSOR 0 10
    OLED_PRINT It is a dead end.
    OLED_PRINT Something moves
    OLED_PRINT behind you.
END_IF

alt_text

Or how about a fully working Pong game?

WHILE TRUE
    $active_key = $_READKEY
    update_paddle_pos()
    update_ball_pos()
    OLED_CLEAR
    draw_paddle()
    draw_court()
    draw_ball()
    OLED_UPDATE
    DELAY 20
END_WHILE

alt_text

Hackerman!

  • Of course, by automating keystrokes, you can take over an entire computer with the push of a button!

alt_text


Nothing Like It

  • From simple shortcuts to full-blown programs, duckyScript can easily achieve what is impossible on QMK/VIA!

  • Each macro can type over 60,000 characters

  • Store over 3700 macros in total

  • Executed on custom virtual stack machine

Expansion Modules

duckyPad Pro also supports optional expansion modules for even more customisability.

alt_text

  • Wire up your own switches / buttons / foot pedals

  • 6 channels per module

  • Daisy-chain up to 5 modules with regular USB-C cable

alt_text

Bluetooth

duckyPad Pro also works as a Bluetooth Keyboard & Mouse (with a catch!)

  • Bluetooth 5.0

  • Built-in Antenna for both BT and Wi-Fi

alt_text

alt_text

So what's the catch?

  • You need to provide your own USB battery bank

Yes I know it's a bit silly having BT without internal battery! However, it would involve more complex case design, additional components, and international shipping of rechargeable batteries.

All of which would inflate the cost way beyond just getting an off-the-shelf battery pack.

As this is a one-person project, I prefer to keep things simple.

New CPU

duckyPad Pro now runs a significantly more powerful processor:

  • ESP32-S3
  • Dual-Core @ 240 MHz
  • 4MB Flash Memory
  • 512KB RAM
  • 2MB PSRAM

Switching to ESP32 also allows much simpler setup for tinkering:

QoL Updates

  • Separate script for on press and on release
  • Abort execution with any key
  • Unlimited EMUK Keypresses
  • Read NUMLOCK / CAPSLOCK / SCROLLLOCK status
  • Switch profile by name (instead of number)
  • Configurable screen orientation
  • Mount SD Card as USB Storage
  • Blocking $_READKEY
  • Much faster configurator load/save
  • Drag & drop firmware update
  • More sturdy +/- button
  • Reinforced hotswap socket solder pads
  • A lot more under-the-hood optimizations

duckyPad Configurator

Use the open-source configurator to set up your duckyPad Pro.

  • Windows | Mac | Linux
  • No account / subscription needed
  • No data collection / telemetry

alt_text

Profile Auto-switching

  • Automatically jump to the appropriate profile

  • Based on current active window

alt_text

Mechanical Switches

duckyPad Pro has 20 Mechanical Switches in 4x5 Grid.

alt_text

  • Kailh hot-swap socket
  • Cherry-MX compatible (Both 3 and 5-Pin)
  • North-facing ARGB LED
  • Configurable colour & brightness

Rotary Encoders

  • Two Encoders
  • Bourns Inc. PEC12R Series
  • Built-in Tactile Switch
  • Max Knob Diameter: 24mm

alt_text

OLED Display

  • 128x128
  • 1.5 inch
  • High contrast with true black
  • Configurable orientation
  • Burn-in Prevention

alt_text

alt_text

Interested?

Please consider supporting duckyPad Pro on Kickstarter!

Join our Official Discord for discussions and updates!

Specifications

alt_text

Questions or Comments?

Please feel free to open an issue, ask in the official duckyPad discord, or email dekuNukem@gmail.com!

Disclaimers

  • duckyPad has been in active development since 2017. However, it is not designed or certified for safety-critical applications. Use at your own risk.

  • Scripts are stored as plain text on the SD card. Keep in mind before including sensitive information.

  • duckyScript appears to be a trademark of Hak5 LLC. The duckyPad project is not affiliated with, or endorsed by Hak5 LLC.

  • The duckyScript compiler and virtual machine used in this project are independently developed from scratch.

Table of Contents

Main page

Getting Started Guide

Kit Assembly Guide

Using duckyScript

duckyScript VM

Tinkering Guide

Troubleshooting

Firmware Update