Skip to content

RP2040-based embedded system that emulates a USB HID device for workflow automation

Notifications You must be signed in to change notification settings

awesomebrownies/hid-workflow-emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

702da4a · · Nov 18, 2025

History

8 Commits
Oct 26, 2025
Oct 26, 2025
Nov 11, 2025
Oct 26, 2025
Oct 26, 2025
Oct 26, 2025
Nov 18, 2025
Oct 26, 2025

Repository files navigation

Introduction

This is an USB rubber ducky workflow program written in C++ utilizing the Arduino mbed Framework made for a RP2040 MCU. By taking advantage of emulating an hid keyboard device, this small program can execute workflows to speed up work. It is intended to work with Linux as your primary operating system

Watch the video

Holding/Bridging the GPIO12 to GND button to change workflows

Microcontroller Installation

  • Download the latest release hid-workflow-emulator.uf2 file
  • Insert installation medium
  • Enter bootloader mode either by:
    • Pressing the boot button while inserting
    • OR, Bridging gnd & reset pin pin
  • Copy hid-workflow-emulator.uf2 file to the boot drive in your file manager

Modifying the Code & Recompilingling

  • Install PlatformIO on VSCode
  • Clone/Fork this repository
    • Modify the code in hid-workflow-emulator/src/hid-workflow-emulator.cpp
  • Use PlatformIO commands/VSCode GUI
    • "Upload and Monitor" button

Improved the code? Feel free to create a Pull Request

Features

  • Select a different workflow by bridging the GPIO12 pin to a GND pin while using an internal pull-resistor on your MCU — most effectively with a button
  • Saves current workflow settings into flash

Future

  • Rework programming workflow
    • Query programming language
      • Java/Dart — Intellij:Project Selection Page
      • Go/C++ — terminal, "cd ~/Documents/GitHub" /n, "nvim "
      • Javascript — Visual Studio Code: Project Select in GitHub Folder
      • None/Other — Skip query
  • Add copy-paste workflow
  • Add reboot confirm dialog

Workflows

  • [0] Programming:
    • Queries for subworkflows
    • Opens "GitHub Desktop", & "Intellij"lij"
    • Runs a github repo analyzation script — requires mgitstatus utility to be installed
  • [1] Dual Boot:
    • Stores current OS, allows for an easy insert to switch operating systems
    • Temporarily changes efibootmgr settings to one-time reboot to windows
  • [2] Circuits:
    • Opens "KiCAD", & "VSCode"ode"
  • [3] System Administration:
    • ! Intended for automating backups, not currently implemented

About

RP2040-based embedded system that emulates a USB HID device for workflow automation

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages