I was asked to build a controller that would add automatic rewinding to an old Revox A77 reel to reel tape player. The idea was to rewind the tape when it reached the end of a track and then play again, so the machine could be switched on and loop all day.
These are good machines to work with. They have DIN ports for wired controllers, which studios used to trigger recording and playback. I found the wiring for one of those controllers and used it as the base for my circuit. I only needed the play, stop, and rewind switches. I settled on an ESP8266 running MicroPython to toggle a set of relays, and added the capacitors and resistors from the original control circuit.
The player has a neat stop mechanism. A small light shines onto a photodiode with the tape running between them, blocking the light. When the tape runs out, the light hits the sensor and trips the stop button. I reused this: instead of running the sensor to the stop button I ran it to the ESP8266, and instead of letting the tape leave the spool I replaced the start and end with transparent leader tape, which the light shines through. That gave the controller a signal each time the tape reached an end and it was time to rewind or play.
Once the breadboard version worked I had a go at a PCB. I had not done much board work before, and there are things I would improve next time, such as the trace widths, where I just used the Eagle defaults. The board had a simple job: somewhere to mount the large capacitor, the resistors and diodes for the control circuit, the ESP8266, and a set of screw terminals out to the relay board. I also left space for a step down power supply module so I could tap the player's mains for the ESP8266.
I had the boards etched by Aisler. There were three players to control, so I assembled three.
I spliced into the player's circuit, routing the relays onto the cables for the DIN controller port.
There is a video of the player running. The PCB files and MicroPython scripts are in the repository.