Projects with Raspberry Pi, Arduino, etc.

I’ve made a bunch of PCBs in the past using photosensitive PCBs, ferric chloride, etc. And even occasionally with hand-drawn masks. But I have to admit: I’ve switched entirely to online PCB manufacturing. It’s cheaper than doing it yourself and produces vastly superior results. You can also get 4-layer boards and other fancy stuff if necessary. I’ve been very happy with both JCLPCB and OSHPark but there are others.

In principle, they take longer than making them yourselves, but I’ve found that time saving in having zero defects, not to mention the simpler routing when you get two layers for free and very fine detail, more than make up for the wait.

[tangent]
When I was in the business as a kid in 1984, everything was done with red and blue cellophane tape.

A guy who had lots of brain power for arranging things did the whole layout at full scale on graph paper with red and blue pencils to draw the traces. This was typically for boards with a few dozen 7400-series chips and perhaps some larger ones.

His hand-drawn board layout was passed to the boss’s wife and another lady who used super narrow transparent tape, like pinstriping tape, to reproduce the red and blue pencil lines on a thick sheet of clear plastic (Mylar?).
They used little stickers for all of the chip pads, thru-holes, and other things.

This was then sent to a print shop to create 1:1 positives on film, using a red or a blue filter to selectively choose which set of lines to hide and which to show. The result was two separate film positives–one for the top and the other for the bottom of the board.

Those were used in a more industrial version of the ferric chloride process many of us are familiar with. Instead of creating a positive mask, our process used the film positives to create a negative mask. We then had a plating line that applied solder plating to the exposed areas.
We then used solvent to remove the mask, followed by acid to remove the copper, leaving the solder-plated areas.
A quick pass through an oven would flow-out the solder, making the board look shiny.

Someone would then drill all of the holes in one master board using a fancy machine that had a microscope with crosshairs to line up each hole, with a pedal-controlled drill coming up from beneath the table.

This master board was then passed to a worker on a quad-drill: she had 4 stacks of boards clamped down to the board and used a pantograph with a pin on the control handle to guide 4 drills as she poked the pin in each hole of the master.

The board was then trimmed using a sheet metal shear followed by a router guided by a master template (this is what I did mostly as the 17-year-old kid in the shop).

Next step was to silk screen the green ink over everything, leaving the holes uncovered, then the white ink with all of the component names and such.

It’s amazing to consider just how many of these steps would be automated today, even ignoring multi-layer PCBs. I imagine the plating line is probably the least changed of the many steps.
[/tangent]

Come to think of it, those hand-done transparencies were pretty darned huge.
I think they were done at a scale of 2:1 or 4:1, with the print shop scaling it down for the actual working images.

Additional detail…
While taping the artwork up they used separate layers of plastic for the pads as well as for the lettering–the part numbers, pin numbers, company name, and other stuff you see on a PCB. That way, they could use the image of the pads to produce the silkscreen mask for the green ink that covers everything but the pads.
Likewise, they could use the artwork with the lettering alone to produce the silkscreen mask for the white lettering.

The Good Old Days, right? :eek:

I got around publishing the timelapse camera panner I did a couple years ago, 3D printing files, Arduino code, PCB designs and assembly instructions; it needs some more information (like the source for the worm gears) but you may check it here.

Well, my Seeburg 1000 project for Raspberry Pi is complete…for now.

I ended up getting a 320x240 TFT display HAT with a case. This would allow me to do nice graphics or display video if I wanted, but all I needed was a terminal display.

After a day or two of faffing about with Python, figuring out how to use “curses” and how to best interact with “mpc” (client for “mpd”), my home-brew Raspberry Pi “Seeburg 1000” is up and running.

Here it is, playing some Christmas music
A different angle

The four hard buttons on the case are set up to trigger the events I show on the display. There is no real need to stop or start, I just plug the thing in and it starts as soon as Raspbian boots.
I put some code in .bash_profile that checks if it’s the TTY connection (the TFT) and auto-launches the app on boot.

Here it is in-situ, next to the real Seeburg 1000 machine.

The box in the middle, with wires, is an A/B switch that chooses between the Fake and the Real machine output. The Real machine plays the real records, while the Fake machine plays mp3s ripped from those very same real records. Same-o-same-o, but it’s way cooler to listen to the Real machine.

That A/B box sends its output to a Bluetooth broadcast device with 300 foot range.
So I can take my handy Marshall Bluetooth speaker wherever I want and listen to my stale old background music.

Why did I go through so much trouble to re-invent the MP3 player? Because this weird niche case of the Seeburg music makes me want to have extra control over what happens when I press various buttons. And I like the idea of a standalone gadget with no network connection that closely emulates how the real machine functions–some day I might go as far as to modify the program to work with album sides only, since that’s all the control the real machine gives.

By its very nature, you cannot identify the songs on the records–the records are typically labeled with a date and a record number (position in the stack), but nothing more. The 15-20 tracks are a mystery; it’s a big game of “Name that tune” as one listens.
Occasionally there is a song with a bad scratch, or a song I detest, so I hit the “skip” button. I have written code so that it acts like the “thumbs down” button in Pandora and makes sure the song is never played again, while adding an entry to a “badsongs.txt” file, so I can go back and find them if they were simply songs that needed cleanup in Audacity.

Likewise, I love some of their bass lines, so when I hear one of those unnamed (and thus unfindable) songs, I hit the “like” and that makes an entry in the “goodsongs.txt” file.

(There are all kinds of other quirks, but I’ll stop rambling on about my weird niche hobby for now.)