Skip to content

Repository files navigation

AutomaticRecordDigitalizer

CI Documentation Dependabot Updates License: GPL-2.0

A DIY machine that digitises a vinyl record collection unattended: it takes a record from a magazine, puts it on a Technics-style turntable (an Omnitronic DD 3120), cues the stylus, records the side, flips the record, records the other side, and puts it back — 10 to 20 records per eight-hour run, a full 24-slot magazine over a weekend, with a photo of both labels for the tags. Records are brushed by hand before they go into the magazine.

The project exists because the cheap way of doing this, a second-hand stacking record changer, drops records onto each other and the recordings show it. Here nothing ever touches a record except a vacuum cup on the label, the slot it stands in, and the turntable mat.

The machine, rendered from the CAD model: the carousel of records on the left, the gantry on its plywood frame, the turntable on the right, the electronics on the outside of the panels

Status

Concept design finished and reviewed in September 2026; first parametric CAD in place, with the whole cycle passing a scripted collision check. Nothing has been bought or printed yet. docs/07-status-and-next-steps.md records exactly where the project stands, what is already on hand, and what to do first.

What is in this repository

cad-model.html is the machine in the browser: orbit and zoom it, play the cycle for a 12", a 10" or a 7" record, or jump to any of the fourteen steps. Both halves come from the parametric model — the geometry from python -m cad.export_web, the motion from the planner's own keyframes in cad/cycle.json, one cycle per record size — so it shows the machine the collision checker sweeps, moving the way it sweeps it. The carousel carries a mixed load of all three sizes, with the empty slot the loading rule asks for.

concept-model.html is an interactive 3D model that steps through the complete operating cycle, including the B-side flip and the fault case, with every step's motion planned as real waypoints in the order the controller will use. Its geometry is its own, written during the concept phase, and predates the five corrections the CAD found: read it for the sequence, not for dimensions.

cad/ is the parametric CadQuery model with the motion planner and the collision checker; cad/README.md explains how to run it, and cad/export/ holds STEP files that open in FreeCAD, STL files of the first printed parts, and web/ holds the glTF and the scene description the viewer loads.

sourcing/ is the September 2026 pricing pass: every line of the bill of materials against live German shop pages, with product links and three ways of ordering it, and the corrections it forced back into the design documents.

docs/ holds the design in detail:

Document Contents
01-design-specification.md Mechanical layout, every subsystem, dimensions, materials
02-operating-cycle.md The cycle step by step, motion-planning rules, fault handling
03-electronics-and-software.md Controller, wiring, Klipper, orchestrator, vision, web UI, recording
04-bill-of-materials.md Parts with German sources, printed-part list, cost
05-design-decisions.md Why the machine is the way it is, including rejected alternatives
06-open-questions.md What has to be verified on real hardware
07-status-and-next-steps.md Current state, parts on hand, build order
08-assembly-instructions.md Cut list, Baumarkt list, printed parts, assembly order, cable lengths

The machine in one paragraph

Records stand like spokes in a 24-slot carousel. A small XYZ gantry with a rotary wrist carries a vacuum cup that takes each record by its label, lifts it out of its slot, turns it flat over the deck and sets it on the spindle. The deck's own cue lever, worked by a servo, lifts the tonearm while a fork on the wrist walks it to the lead-in groove found by a camera; the platter is stopped before every needle placement and removal. After the run-out, the record goes to a ring rest where the cup lets go and re-grips the other face, both labels get photographed, and side B is recorded the same way. The record returns to its own slot and the carousel indexes to the next one. The deck's remote start/stop connector starts and stops the platter. Recording runs through a Focusrite Scarlett into a Raspberry Pi, which also runs the cameras, the web interface for the batch list, and the orchestration on top of Klipper running on a printer mainboard, with a USB relay card working the deck's remote start/stop jack and speed buttons.

Follow-up project

Cutting the recordings into tracks, mastering, and tagging (using the label photos and the batch manifest) is deliberately out of scope until the changer has proven itself on real records.

License

Copyright (C) 2026 drehtuer

This project is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The text of version 2 is in LICENSE; the SPDX identifier is GPL-2.0-or-later.

It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

The licence covers everything here: the CadQuery model and the planner as source code, and the design documents and the concept model as the machine's design.

About

A contraption to automatically and unsupervised record vinyl records DIY with AI

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages