Summary of MEET LUNA; A MULTI-TOOL FOR BUILDING, HACKING AND ANALYZING USB DEVICES
Great Scott Gadgets developed LUNA, an open-source USB development tool designed to overcome the high costs and complexity of existing solutions. It combines a powerful FPGA architecture with user-friendly software like ViewSB and FaceDancer to enable building, monitoring, and hacking USB devices. The device serves as both a professional analysis tool comparable to commercial analyzers and an educational platform for beginners.
Parts used in the LUNA Project:
- Lattice Semiconductor LFE5U-12F ECP5 FPGA
- Microchip SAMD11 debug controller
- Three High-Speed USB ports (2 Type-C and 1 Type-A)
- USB3343 PHY
- 64MB onboard RAM
- 32MBit SPI-connected flash
- nMigen gateware-generation library
- ViewSB analyzer frontend
- FaceDancer Backend
Despite its popularity, the developments of USB-based devices are characterized by diverse challenges ranging from specialized and expensive tools to complicated software. To solve this, Colorado-based open-source hardware manufacture; Great Scott Gadgets, recently started working on LUNA; a multi-purpose tool for USB devices development.

Designed as a “swiss army knife” solution for all things USB devices, LUNA is a multi-tool for building, monitoring, hacking, and analyzing USB devices. It features a unique, FPGA-based, digital hardware architecture, which, combined with the remarkable nMigen gateware-generation library along with several supported ultra-fast open FPGA tools, puts in the hand of users, a device that can automatically customize itself to suit the task hand.
On the Hardware level, LUNA features the Lattice Semiconductor LFE5U-12F ECP5 FPGA with the Microchip SAMD11 debug controller which provides access for configuration of the FPGA along with a number of interfaces for diagnosis. For connection of USB devices, LUNA features 3 High-Speed USB ports(2 Type-C and 1 Type-A), each connected to a USB3343 PHY with up to 480Mbps speed, and defined for specific communication mode/usage. An onboard 64MB RAM aids buffering of USB traffic while a 32MBit SPI-connected flash is available for PC-less FPGA configurations. These hardware features and functionalities put LUNA on a close enough pedestal as some expensive commercial USB analyzers like the TotalPhase Beagle 480.
On the software Side, LUNA uses the open-source ViewSB analyzer frontend with a FaceDancer Backend. ViewSB makes USB traffic more human-readable at any abstraction level, while FaceDancer makes it quick and easy to create or tamper with real USB devices even if you don’t have experience with digital-hardware design, using just a few lines of Python. The combination of these two, along with their open-source nature, makes LUNA one of the most versatile USB hacking and development tools.
Beyond its use by experienced developers to craft new solutions, LUNA also prides itself as an education platform for those looking to learn about developing USB devices. The team at LUNA has a long history of USB education and the resources from the several open-source training and workshops developed in the past, along with more LUNA-specific, fully open-source materials, are available to walk beginners through the basics of working and hacking with USB.
Read more: MEET LUNA; A MULTI-TOOL FOR BUILDING, HACKING AND ANALYZING USB DEVICES
- What is the primary purpose of the LUNA device?
LUNA is a multi-purpose tool for building, monitoring, hacking, and analyzing USB devices. - How does LUNA customize itself for different tasks?
It uses a unique FPGA-based digital hardware architecture combined with the nMigen gateware-generation library and ultra-fast open FPGA tools. - What specific FPGA chip powers the LUNA hardware?
The device features the Lattice Semiconductor LFE5U-12F ECP5 FPGA. - Does LUNA require a PC to configure the FPGA?
No, a 32MBit SPI-connected flash is available for PC-less FPGA configurations. - Can users create or tamper with real USB devices using Python?
Yes, the FaceDancer Backend allows users to create or tamper with real USB devices using just a few lines of Python. - Is LUNA suitable for beginners learning about USB development?
Yes, it serves as an education platform with fully open-source materials and resources from past workshops. - What is the maximum speed supported by the USB ports on LUNA?
Each port is connected to a USB3343 PHY with up to 480Mbps speed. - Which software components make USB traffic more human-readable?
The open-source ViewSB analyzer frontend makes USB traffic readable at any abstraction level.
