Skip to content

atomic-235/esp32usb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

ESP32-S3 BadUSB Device

A simple USB HID keyboard emulator using ESP32-S3. Press the BOOT button to automatically type predetermined text.

Features

  • USB HID keyboard emulation
  • Single button operation (built-in BOOT button)
  • LED feedback
  • Customizable text output

Hardware

  • Board: ESP32-S3 DevKit
  • Button: GPIO 0 (built-in BOOT button)
  • LED: GPIO 2 (built-in LED)

Default Behavior

Press the BOOT button and the device will type:

git add . && git commit -m 'auto-save' && git push

Setup

Requirements

  • PlatformIO
  • ESP32-S3 board

Installation

  1. Clone this repository
  2. Connect your ESP32-S3 via USB
  3. Build and upload:
    pio run --target upload

Entering Boot Mode (if upload fails)

If the automatic upload fails, manually put the ESP32-S3 into bootloader mode:

  1. Hold down the BOOT button (GPIO 0)
  2. While holding BOOT, press and release the RESET (EN) button
  3. Release the BOOT button after 1-2 seconds
  4. The device is now in bootloader mode
  5. Immediately run the upload command:
    pio run --target upload

Tip: You'll see "Connecting...." dots when esptool is trying to connect - that's when you should enter boot mode.

Customization

To change the text that gets typed, edit src/main.cpp line 13:

const char* TEXT_TO_TYPE = "your custom text here";

Then rebuild and upload:

pio run --target upload

Usage

  1. Plug the ESP32-S3 into your computer
  2. Wait for the LED to blink 3 times (device ready)
  3. Open any text editor or terminal
  4. Press the BOOT button
  5. The device will type your predetermined text

Technical Details

  • Platform: ESP32-S3
  • Framework: Arduino
  • USB Mode: HID Keyboard
  • Flash Usage: 8.8% (292,837 bytes)
  • RAM Usage: 9.4% (30,732 bytes)

Configuration

See platformio.ini for build configuration.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages