duckyPad-Pro

duckyPad Pro Tinkering Guide

Get duckyPad Pro Official Discord Getting Started Table of Contents

This guide shows you how to delve deeper into duckyPad and make firmware modifications.

Prerequisite

This is a fairly involved project with a lot of code, so knowledge and prior experience with MCUs would be very helpful.

MCU Info

duckyPad Pro runs on ESP32-S3 microcontroller:

Compared to STM32F072 in the original duckyPad, this MCU is much more powerful and much easier to tinker with.

Toolchain Options

There are a number of ways to program ESP32.

PlatformIO is popular with beginners, but it has a lot of abstractions, bloat, and limited control.

ESP-IDF, used by duckyPad Pro, is the official SDK with full API support, more libraries, and documentation.

Install ESP-IDF

ESP-IDF uses Visual Studio Code.

I recommend VSCodium, same thing but without tracking and telemetry.

Anyway, follow the official setup guide to install everything.

It is very text-heavy, but follow the steps and it should work.

Make sure to select (at least) ESP-IDF v5.3.1:

Alt text

Download Repo

Clone the repo:

git clone https://github.com/dekuNukem/duckyPad-Pro

Compile Firmware

In VSCode, select File -> Open Folder...

Alt text

Go into Firmware folder, select the dpp_fw folder:

Alt text

Expand main folder

All the sources file are there

Alt text

To compile, press CONTROL + E, then B key.

It might take a while, but eventually it should finish.

Alt text

Upload Firmware

We want to put the ESP32 in DFU (Device Firmware Upload) mode.

If all goes well, the screen should stay blank.

Alt text

We are now in DFU mode, and duckyPad shows up as a USB Serial device.

Alt text

To upload, press CONTROL + E, then F key.

It should take a few seconds.

Press RESET button to start using new FW.

Alt text

Hardware Info

Alt text

Questions or Comments?

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

Table of Contents

Main page

Getting Started Guide

Kit Assembly Guide

Using duckyScript

duckyScript VM

Tinkering Guide

Troubleshooting

Firmware Update