Skip to content

Hands-free rotary lock cracker: custom AVR board and stepper-driven rig brute-force every dial combination with blink-and-you’ll-miss-it automation.

License

Notifications You must be signed in to change notification settings

rmingon/LockLoop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LockLoop

example pcb

At a Glance

  • Purpose-built platform that brute-forces 40-position rotary combination locks with a stepper motor.
  • Firmware (Arduino on AVR) methodically sweeps every triple-number combination and flashes status through an onboard LED.
  • Custom PCB in KiCad couples an ATmega microcontroller, DRV8825 stepper driver, CH340C USB interface, and power regulation for a self-contained rig.

How It Works

Firmware

  • firmware/src/main.cpp drives the stepper with simple direction and pulse control (STEP_PIN, DIR_PIN) and keeps an LED heartbeat on LED_PIN.
  • Constants (NUM_POSITIONS, STEPS_PER_NUMBER) define the lock geometry; adjust them to match your hardware before building.
  • testCombination() parks the dial, walks through each candidate combination, and gives visual feedback; bruteForceLocker() iterates all 40^3 possibilities.
  • The project is set up for PlatformIO targeting an ATmega88P over USBasp (firmware/platformio.ini). The included set_fuses.sh script programs fuses for the 8 MHz internal oscillator before flashing firmware.

Hardware

  • Open hardware/hardware.kicad_pro (KiCad 7 or newer) to inspect the schematic (hardware.kicad_sch) and 4-layer PCB (hardware.kicad_pcb).
  • Core components from hardware/production/bom.csv include:
    • ATmega328PB in TQFP-32 footprint for control (architecturally similar to the ATmega88P targeted in firmware).
    • DRV8825PWPR stepper driver with microstepping.
    • CH340C USB-UART bridge for configuration/debug.
    • LM1117-5.0 regulator, XT30 input, and terminal block outputs for motor power.
  • Test points, trim pot (motor current), and AVR-ISP header simplify bring-up and calibration.

Repository Layout

  • firmware/ – PlatformIO project with AVR firmware, headers, libraries, and helper scripts.
  • hardware/ – KiCad project files and fabrication assets under production/.

Getting Started

Requirements

  • PlatformIO CLI (install via pip install platformio or the official installer).
  • USBasp (or compatible) ISP programmer wired to the AVR-ISP-6 header.
  • AVR toolchain (avrdude) if you plan to use set_fuses.sh.
  • KiCad 7+ for hardware edits (and a 3D viewer if you want mechanical checks).

Firmware Workflow

  1. Install PlatformIO and ensure your USBasp is recognized (pio device list).
  2. Optionally set microcontroller fuses for the 8 MHz internal clock:
    cd firmware ./set_fuses.sh
  3. Build and upload the firmware:
    cd firmware pio run --target upload
  4. Tweak STEPS_PER_NUMBER or other parameters in src/main.cpp to match the lock’s dial geometry, rebuild, and reflash.

Operating the Rig

  1. Mount the lock so the dial couples rigidly to the stepper shaft.
  2. Power the board through the XT30 connector (match the motor driver’s voltage/current requirements).
  3. Turn on the system; the LED blinks three times on boot, pauses, and brute-forcing begins.
  4. The LED toggles each time a combination is tried. Once the search completes, the firmware idles with a heartbeat flash.
  5. Integrate limit switches or sensors externally if you need automatic stop-on-open feedback (not included in baseline firmware).

KiCad Project Tips

  • Use the project manager sidebar to jump between schematic sheets and the PCB; net labels link the AVR, driver, and connectors.
  • hardware/production/hardware.zip bundles Fabrication outputs (Gerbers & drill files) ready for most PCB fabs.
  • hardware/production/positions.csv and bom.csv are formatted for pick-and-place and sourcing workflows; adjust footprints or tolerances before sending to contract manufacturers.
  • Keep the hardware/fabrication-toolkit-options.json settings in sync if you re-run KiCad’s fabrication toolkit exporters.

Safety & Ethics

  • Brute-force tooling should only be used on locks you own or have explicit permission to test. Always follow local laws and ethical guidelines.
  • Stepper drivers can run hot—heatsink and actively cool DRV8825 as needed, and double-check current limits with the onboard potentiometer.

Future Ideas

  • Add sensor feedback (reed switch, force sensor) to detect successful unlocks without manual observation.
  • Implement serial telemetry so a host can monitor progress or inject known-good combinations.
  • Adapt firmware to the ATmega328PB configuration used on the PCB (update platformio.ini and pin mappings as required).

License

LockLoop is released under the CERN Open Hardware Licence v2 (permissive variant). Read the full terms in LICENSE.

About

Hands-free rotary lock cracker: custom AVR board and stepper-driven rig brute-force every dial combination with blink-and-you’ll-miss-it automation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published