Week 4 – Electronics Production – Shiny & Smooth!

Weekly Summary

This weeks home work was to learn electronics production by creating our own In-system-Programmer (ISP). The knowledge and skills required for that are:

Assignment Work Plan

The limiting factor for this weeks work plan, was my time limitation: I could only come to the lab on Saturday, which means I will have to get everything done in one day.

Timetable

Group Assignment

The Group Assignment is to characterize the design rules for your PCB production process

Here is the link our characterization of the PCB production process: http://fabacademy.org/2021/labs/kamakura/assignments/electronics-production/

My more personal links for the Roland SRM-20 and my tutorial on how to convert PNG files to tool paths with mods.

PCB Production with the Roland SMB-20

Machines and Specifications

At FabLab Kamakura we have 2 Roland SRM-20 machines for PCB production. Here are the more interesting specs of the machine:

Preparing the Roland SMB-20

Power Switch ON!

Machine Switch ON!

That's where the bits live!

A single bit. Be careful with the tip. It is sharp - and easy to break.

Roland VPanel

Showing Hidden Files Extensions

The Roland Machines have again their own, dedicated Windows Notebooks, Language is set to Japanese. (The FabAcademy in Kamakura also includes free Japanese Lessons! ๐Ÿ˜)

One confusing thing was the fact that Windows likes to hide the extensions of files. Which becomes annoying if you have a file like test.png.rml. The rml extension was hidden, it appeared as test.png, looking like an image.

To rectify this, go to the view settings and click 'Show Extensions'.

VPanel Overview

Annotations in English:

Insert Milling Bit, Zeroing Z

Zeroing XY

With the milling clear of the PCB, move with the XY buttons to your desired starting point. Press the Zero XY Button.

Loading a File

Pressing the ๅ‡บๅŠ› (ใ—ใ‚…ใคใ‚Šใ‚‡ใ, Shutsuryoku, Output) Button starts the milling process.

Milling

After the milling is done, remove the milling block and dust it off. The PCB is still sticking to the milling block with the double-sided tape.

Extracting

To remove the tape, put solvent into the milled frame, this will remove some of the tape. Carefully use the spatula to lift the PCB.

Results

Results

mods

Neil's Line Test Files

Neil's Line Test files

Kamakura 2021 Line Test Files

Kamakura 2021 Line Test files. The files were created in Illustrator and Photoshop, without the use of Circuit Design Software.

File Preparation in Mods

The CBA's mods environment is used to convert the files and create the toolpaths for milling the PCB. Mods is a very powerful environment, but without guidance it can be challenging to make it do what you want. It's a node-based programming environment, similar to Max/MSP or PD, but without the differentiation between a dev-mode and a run-mode, which makes things a bit cluttered. The JS UI is applaudable, but we experienced some UI challenges on MacBooks, where the 2-finger gesture for scrolling is also used for zooming.

We want to do the following:

We will be using a 1/64 inch bit for the traces and a 1/32 inch bit for the interior (or frame). Why is it actually called interior?

Opening Mods

Go to http://mods.cba.mit.edu

You will be greeted with a nearly empty page, some see it as an empty canvas. PNG to RML.

Right click and do: Programs -> Open Server Program -> machines/Roland/mill/SRM-20/PCB png

Or open: http://mods.cba.mit.edu/?program=programs/machines/Roland/mill/SRM-20/PCB%20png

The mods program for the Roland SRM-20 should look something like this:

Loading PNG Files

In the read png node click select png files to load the PNG file.

Adding a Save> Node to Export the RML File

We are not using mods to control the Roland SRM-20, we use it to convert the PNG files into RML tool path files. To export files, we need to add a Save Module.

Right click and do: Modules -> Open Server Modules -> file/save

One you have the node on your work area, place it near the Roland node.

Connect the output of the node Roland SRM-20 milling machine to the input of the save file node. A visual connection confirms the link.

Setting up the Roland SRM-20 milling machine

In the Roland SRM-20 milling machine node

Jog Height is set to 2mm as default. Jun-san prefers 1mm, Tsuchiyama-san suggests 12mm. Jog Height means the vertical distance of the tip of the milling bit while it moves without cutting.

A lower jog height will make the milling process fasters, as less distance will be travelled.

Matching Mill Sizes

In the set PCB defaults node there are two default settings:

Click the corresponding button, depending if you are using the 1/64 or 1/32 bit.

Setting the PCB defaults will update the node downstream, updating the parameter accordingly.

Mill Raster 2D Node

To create and save the RML file, click the calculate button in the mill raster 2D node. Within the node, you can also see a preview image of the output file.

Viewing 2D Tool Path in New Window

The View button brings you to a new window with the detailed 2D toolpath.

Viewing 3D Tool Path in New Window

The view button in the view toolpath node allows you to view the toolpath in 3D.


Individual Assignment

The Individual Assignment is to:

Test Patterns

This week I could only spend one day (Saturday) at the lab, the plan for the day was:

Learning from our DPI mismatch issue with Inkscape and the LasterCutter last week, I added:

The Programmer

I was aware how colleagues from previous years were struggling with the milled USB connector - the usual solution would be to lay down more solder on the USB contacts and how that it will work.

Surely there must be another way. Being in Japan, and being exposed to Second-hand Hardware and Electronics Junk Stores, means I came across a number of non-working old Game Consolers and Cartridges:

And although they were not working anymore, the consoles had exactly what I needed. A stable and proven mechanical connector.

Can I put the programmer into a game cartridge, and connect the USB interface with the connecter inside the console? Can I create a modular programmer? (that would also look pretty nice?)

Opening up the cartridge revealed the following interiors:

Cartridges

Now we have a plan:

I measured the pins (30pin, 1.5mm wide each, space between is 1mm), and the dimensions of the PCB and recreated them in Illustrator exported it as PNG.

Measuring the FamiCom PCB
FT230XFamiCom Traces
FT230XFamiCom Interior

Milling the FT230XFamiCom Board

For the PCB material I used the standard (and suggested) FR-1 Phenolic Paper.

Preparing the milling block

I took extra care (and time) to affix the double-sided tape to the milling block.

fsfs
Size comparison with original FamiCom PCB. Looking Good!
A bit too big!

The Honda Ultrasonic Cutter!

After milling the PCB, I used the Honda Ultrasonic Cutter to remove islands and artifacts, as well as clean-up the edges of the PCB. Also, the board was a bit too big to fit into the cartridge and the holes, I had to cut it to fit. That's why the nice milled, round hole become a bit unsighty. Working with the Ultrasonic Cutter is fun, and somewhat relaxing - I want one for my home lab!

Preparing for Soldering

Deburring and De-fluxing (is that a word?)

Stuffing and Soldering

Soldering in Progress

And about now is the time the instructors got worried about time. The next step in my plan would have been to connect the USB to the FamiCom, test the connection, and then test the programmer.

Testing Connections

I used the Multimeter and the circuit diagram to test for Continuity of the board. Everything seems to work! (Big sigh of relief!)

USB Frankenstein

I decided to directly solder a USB cable onto the board, then we can check if the board works.

The Moment of Truth

Connecting the board to the computer, About this Mac.

๐Ÿฅณ
๐Ÿคฉ
๐Ÿฅณ
๐Ÿคฉ
๐Ÿฅณ
๐Ÿคฉ
๐Ÿฅณ
๐Ÿคฉ

It's working. (even bigger sigh of relief)

And it's 18:15, meaning the official lab session is over since 15 minutes.


Programming a Test Board

lsusb

With the encouragement of Jun-san we marched on with the next step, installing lsusb utility:

brew install lsusb

Which gives the following output:

We use a ATTiny3216 target test board from the lab to see if the programmer works.

..
..
..

Watch full screen videos: https://vimeo.com/516160717, https://vimeo.com/516160684


Hero Image

Learning Outcome

I haven't done soldering since many, many year. It was great to do it again, the biggest outcome for me is, that I now got all the tools and niceties for my soldering station at the home lab.

Next Steps

Onwards to Circuit Design

Remixing the traces was fun, looking forward to learn 'proper' circuit design tools.

More Game/Programmers

Hacking the FamiCom Cartridge Connector was also fun, I want to make more, different programming boards/game cartridges, that fit into the FamiCom.

Homebrew!

Another direction is to go Homebrew and program a game cartridge that works as a legitimate game - and also as a programmer.

Translucent GameBoys

The FamiCom looks great, is cheap and available, but despite being on the small side, it it not really portable in a meaningful and practical way. I'd love to get my hands on a translucent GameBoy Pocket (or Color), and use the translucent game cartridges for the programmer: I got the cartridges, but could not find a non-working translucent GameBoy yet. Working ones are around ยฅ3000, but my heart would bleed and my soul would cry, if I were to sacrifice a perfectly good GameBoy.

Translucent Gameboys and translucent Cartridges showing off their PCBs

Files

Download the Files used in this project: