A USB Keylogger for Recording Keystrokes Typed on Any PC

Consumer electronics
Embedded hardware development
Custom software development
Firmware development


In order not to scare anybody, the hardware keylogger we'll talk about in this case study isn't something hackers use to steal personal information. On the contrary, these devices are used by corporations to protect their data. Managers install keyloggers to monitor employee activity and provide a backup of data entered. Keyloggers are especially important for organizations that work with sensitive data and take measures to prevent private information from getting into the wrong hands.


Integra Sources was hired to build a USB keylogger for our client from Poland who wanted to implement this solution for two target markets. One of these markets is business owners who want to protect their corporate data. And the other one is parents who want to monitor their children.

When our client contacted us, they already had a hardware keylogger for PS/2 keyboards and they needed to develop a new device that could capture keystrokes from a USB keyboard.


The services we provided included custom schematics, printed circuit board (PCB) design, firmware development, and software development for the PC configuration utility.

The keylogger is operating system-independent and can be hidden inside a keyboard. It captures every key pressed by a user and stores this information in the text file on the internal NAND-flash. Users can access the text file after pressing a special combination of keys that switch the device into the flash drive mode.

Inside the keylogger, there is a text file (log), a configuration file for setting up the device parameters, and a file for keyboard layouts for controlling the language that the keyboard is set up for. There is also a small internal battery inside, so the time of the keystrokes is kept accurate even when the host PC is turned off.

After launching the first version, we continued working on the keylogger for about a year and released several new and different versions of the device. The latest version offers 16MB of internal memory, a timestamp saving feature, a real-time clock, and text encryption.

Technologies Used

USB Key Logger is based on AVR MCU AT90USB162 (later ATmega32U2) and EPM3064 CPLD.
CPLD firmware was written on AHDL using MAX+PLUS IDE.
MCU firmware was written in C using AVR Studio IDE.
In critical cases, we used Assembler language for MCU firmware implementation.
EAGLE CAD IDE was used for Schematics and PCB design.
PC software was implemented using Borland Delphi.


The USB keylogger that we built gave a competitive advantage to our client and allowed them to meet their customers’ expectations. They successfully sold the desired number of keyloggers and then sold the idea and the prototype itself to another company.

To use the keylogger, a user needs to plug it between the keyboard and the PC. It works just like a flash drive. The main purpose of the keylogger is to record the data being transmitted by the keyboard. Every single keystroke is stored in the keylogger in a time-stamped text file.

When a user presses a specific key combination on the keyboard, the device switches into a flash drive mode. Users can conveniently browse through the logs and find the information they are looking for.

Make some noise

Internal memory


Device size


Make some noise

Scope of work

Schematics and PCB design

Hardware testing and debugging

Firmware development for the CPLD, MCU, and USB mass storage device

Configuration utility development

Device certification

Make some noise

You might also like...

PBX Communications Device for Preventing Phone Fraud for Senior Citizens

We implemented a hardware design for a telecommunications device that gets installed in the homes of senior citizens and automatically blocks fraudulent calls


Handscape, Capacitive Touch Case for Controlling Smartphone or Tablet from the Back

Handscape is a wireless case attached to the back plate of a smartphone or tablet that lets users see their fingers through this device


We use cookies to improve your experience on our website. Our Cookies Policy explains what cookies are, how we use cookies and how third-parties we may partner with may use cookies. Please find more information here.