Description: The device utilizes the USB boot HID keyboard protocol. When connected, it can detect changes in the keyboard LED states (caps lock, num lock, scroll lock), which the firmware uses to initiate new password generation (indicated by four LED toggle messages, corresponding to four caps lock presses). The randomness for the generated password is derived from the timing of the LED state changes. The ATtiny85 timer remains active, and each time an additional state change occurs, the lower six bits in TCNT0 are utilized to add one character to the password. For generating a new 10-character password (the default setting), a total of four plus ten caps lock presses are required, with the generated password stored in EEPROM.
The device operates by leveraging the USB Human Interface Device (HID) protocol, specifically designed for keyboard functionality. Upon connection to a USB host, the device enters a state where it can monitor the status of the keyboard LEDs. These LEDs serve as indicators for the caps lock, num lock, and scroll lock states. The firmware is programmed to interpret changes in these states as triggers for the password generation process.
The password generation mechanism is innovative, utilizing the timing of LED state changes to introduce an element of randomness. The ATtiny85 microcontroller, which is at the core of this device, continuously runs a timer. This timer is crucial for detecting the precise moments when the LED states change. Each detected change allows the device to utilize the lower six bits of the TCNT0 register, which is part of the timer's counter, to incrementally build the password.
In practical terms, to generate a new password, the user must perform a series of actions involving the caps lock key. Specifically, the user must toggle the caps lock state four times to initiate the process, followed by ten additional toggles to complete the password. This results in a total of fourteen caps lock presses, which the firmware translates into a new 10-character password. The randomness of the password is enhanced by the varying timings of the LED state changes, ensuring that each generated password is unique.
Once the password is generated, it is stored in the EEPROM of the ATtiny85, allowing for persistent storage and retrieval. This feature is particularly beneficial in applications where secure password generation is essential, providing users with a reliable method for creating complex passwords without the need for manual input. The combination of USB HID functionality, LED state monitoring, and EEPROM storage makes this device a versatile tool for password management and security.The device implements the USB boot HID keyboard protocol so once plugged in, the device can receive keyboard LED state changes (caps lock, num lock, scroll lock), which are used in the firmware to trigger new password generation (four LED toggle messages, i. e. four caps lock presses). Randomness for the generated password is also taken from LED st ate change timings - ATtiny85 timer is left running and every time an additional state change happens, lower 6 bits in TCNT0 are used to add one character to the password - so for a new 10-character password (default setting), a total of 4+10 caps lock presses generate a new password, which is stored in EEPROM.
This project is a variant of the UsbProg project developed by Benedikt Sauter. The schematics, board layout, and firmware have been released as an open-source project. Modifications include the option to place a jumper across JP3 pins 2 and 3,...
Locker Guard Circuit Diagram. This compact circuit is designed to protect a locker or almirah from burglary. If the locker is opened while in the armed state, the circuit triggers a loud police siren to deter the burglary attempt.
The Locker...
This document discusses the series used in USB connections for charging batteries. The output voltage ranges from 4.7 volts to 5 volts DC, which is suitable for charging mobile phones and other battery types. The circuit described enhances the voltage...
When powering a computer, various peripherals (such as printers, screens, scanners, etc.) often need to be turned on and off simultaneously. Utilizing the 5-V supply voltage from the USB interface on the PC allows for easy control of these peripherals....
The circuit includes resistors Rp1 to Rp13, which serve dual purposes: they scale the resistance for the keyboard and function as timing resistors for the oscillator. Capacitor C2 acts as a wide discharge capacitor, while switches S1 to S13 represent...
Building a custom joystick is particularly appealing to flight simulation enthusiasts who aim to create cockpit components that replicate the appearance and functionality of genuine aircraft parts. Such custom hardware requires a joystick controller tailored to the needs of hobbyists....
This color changer mixes light from high-power LEDs to create over 16 million colors. A smooth auto-fader cycles the colors, or it can be connected to a USB port for computer control. The device utilizes a well-known color model employed...
Currently, nearly all computer systems include logic blocks designed for interfacing with a USB port. In practical terms, a USB port can provide more than 100 mA of continuous electric current at 5V to the peripherals connected to the bus.
The...
The device is referred to as the Itsy Bitsy USB Lamp. This concept is remarkably straightforward, raising the question of why it had not been conceived earlier. Originating as a student project at Massey University in Wellington, New Zealand, it...
We use cookies to enhance your experience, analyze traffic, and (if you allow) serve personalized ads.
By clicking Accept All, you agree to our use of cookies.
Learn more