# BYTEBOLT One FAQ

Source: https://docs.bytebolt.at/bytebolt-one/faq/

> Frequently asked questions about BYTEBOLT One — the open-source ATmega32U4 BadUSB platform — covering hardware, firmware, supported keyboard layouts, USB IDs, enclosures, and ordering.

## Is BYTEBOLT One open source?

Yes. Hardware design, firmware, and documentation are released under the [GPLv3 license](https://opensource.org/license/gpl-3.0). The source repository is on [Codeberg](https://codeberg.org/byteboltsec/BYTEBOLT-One).

## What microcontroller does BYTEBOLT One use?

The board is built around the **ATmega32U4** with Full Speed USB 2.0, programmed through the Arduino ecosystem. 32 KB of flash is available, with 4 KB reserved by the bootloader.

## Does it use a proprietary scripting language like DuckyScript?

No. Payloads are written in native C or Arduino using the standard [`Keyboard.h`](https://docs.arduino.cc/libraries/keyboard/) and [`Mouse.h`](https://docs.arduino.cc/libraries/mouse/) libraries. If you can write C, you can write a payload — no vendor-locked interpreter and no scripting dialect to learn.

## Can I change the USB Vendor ID (VID), Product ID (PID), and product name?

Yes. Override `leonardo.build.vid`, `leonardo.build.pid`, and `leonardo.build.usb_product` in a `boards.local.txt` file in your Arduino profile path. See the [VID/PID page](/bytebolt-one/vid-pid/) for the full configuration, including the matching `boards.txt` entries the IDE needs to detect the board after a change.

## Which keyboard layouts are supported?

The Arduino `Keyboard` library ships built-in layouts for Denmark (`da_DK`), Germany (`de_DE`), Spain (`es_ES`), France (`fr_FR`), Hungary (`hu_HU`), Italy (`it_IT`), Portugal (`pt_PT`), Sweden (`sv_SE`), and the US (`en_US`). Custom layouts (for example the Swiss `de_CH` layout we publish) are supported as well — see [Keyboard Layout](/bytebolt-one/keyboard-layout/).

## Can each device be uniquely identified?

Yes. Every ATmega32U4 carries a 10-byte fabrication ID in its signature row (`0x0E`–`0x17`). A patched `USBCore.cpp` exposes those bytes as an 18-character hex USB serial, giving each board a per-chip identifier. Details on [Unique ID](/bytebolt-one/unique-id/).

## What case or enclosure can I use?

The PCB follows the standard **USB 2.0 UDP form factor (24 × 11 × 1.4 mm)**, so it drops into the majority of off-the-shelf USB flash drive shells. A default case is included; custom and bulk enclosures are available on request — see [Cases](/bytebolt-one/cases/).

## Is there a USB-C variant?

Not yet. The current revision is USB-A in the standard USB 2.0 UDP form factor. A USB-C variant is on the roadmap but has no committed release date.

## Is BYTEBOLT One CE compliant?

Yes, BYTEBOLT One is CE compliant. See the [comparison table](/bytebolt-one/compare/) for how it compares against other BadUSB devices on CE, killswitch, tracking, and licensing.

## Who develops and sells BYTEBOLT One?

BYTEBOLT One is developed and sold by [LA&GL Embedded Solutions](https://la-gl.net) in cooperation with [BYTEBOLT](https://bytebolt.at). Bulk pricing and custom enclosures are available — [get in touch](https://bytebolt.at/en/order/).

## Is it legal to use a BadUSB device?

BYTEBOLT One is intended **exclusively for authorized use**: penetration testing engagements with written permission, security research, education, and personal lab environments. Unauthorized use against systems you do not own or do not have explicit permission to test is illegal in most jurisdictions. Buyers and users are fully responsible for ensuring their activities comply with applicable law.
