Adventure #6 – CNC PCB

In this adventure I attempt to get the Roland Camm-2 2300/A CNC machine to mill a PCB into some copper board. This is what the temporary setup looks like. I have the CNC machine, laptop, and an old XP machine.

We have procured a set of tools for the Roland specifically for milling and drilling PCBs. I started by testing on some polystyrene (as in the above), which seemed to go OK so I thought I would move to my PCB project. I took the Copper layer and converted it to a bitmap such that Dr Engrave can import it. It was at this point I knew I was in too deep and it could only go wrong.

I stuck down the copper board with some double sided tape. After some fiddling with the tool settings and trying to position the tool itself correctly on the Z-axis, I pressed the “print” button and closed my eyes! There was not too much I could do at this point, it was either going to start neatly cutting out the tracks or crash into the end and start eating itself. My polystyrene test did not fill me with any more confidence, but my hand was positioned over the emergency stop button.

After a few minutes of whirring and buzzing, I was presented with this (below)  🙁

It’s not what I expected, but for my first attempt I suppose it could have been worse. Let me take you through it.

  • Its not cut evenly at all, there must be some severe levelling problems with the bed and/or the material
  • The tracks are very thin and pretty wobbly looking
  • The tool hasn’t lifted off properly and has wiped a skid mark across it
  • The pads are very small and wont take drilling without disappearing entirely
  • The “toothed” button pads are a mess, one is just a gaping hole

Next steps are to:

  • Get a fatter tool to mill the wooden bed flat
  • Make a jig and/or test sticking down the copper much flatter
  • Redesign the layout with fatter tracks that are father apart
  • Test cutting out the edge cuts
  • Test drilling to through holes
  • Try again

Thats all for today, I will keep you updated on the progress.

Adventure #4 – SNES Controller Distraction

Instead of trying to finish off one project at a time, I got distracted with dissecting a SNES controller. In this brief project I am converting it into an XINPUT compatible controller by way of a custom PCB and Teensy LC.

Firstly I cracked open the case a got a good look at its innards. Its made up of the PCB, buttons and rubber parts with conductive pads.

The challenge is to fit a Teensy-LC into the case, in roughly the same size PCB. As with my other XINPUT Teensy project, each button needs wiring to GND and a GPIO. I decided to upgrade the controller a bit by adding a Neopixel.

The schematic shown below uses:

1 Teensy-LC component for Kicad
10 push switches for the top buttons
pin headers for shoulder buttons and grounds
1 x Neopixel plus is resistor and capacitor

The layout took a few iterations and much measuring before finalising it. My first challenge was to create a footprint for the button contacts.

In order to make pads of custom shape, I needed to upgrade to Kicad 5. To make the custom shape, one had to create a pad, then draw the rest of the irregular shapes using “graphic lines”. Once done, select them all, RMB and use “Create Pad from selected shapes”. The gaps between pads are 0.5mm.

I found a 3d render of a teensy-lc and modified it a bit to suit the project. This enabled me to visualise the fit. The teensy reset button made need poking out of the back of the case (or removing)

click to embiggen

The code is this time based on MSF Flightstick, which is a very easy way to make an XINPUT compatible device. I should really have done something cool like put an accelerometer in it. I think the next one might be wireless. I have found some sweet looking 433MHz modules “HC-12”, which I will mess around with in another blog. Here is it printed out and placed in the case, if only I could laser print copper.. It isn’t as badly aligned as it looks, that is just the parallax effect. It is that filthy though!

As I can get away with not plating the through holes I am tempted to use the recently renovated CNC milling machine in the makerspace to make the board. OSHPark nicely gives me the various layers, top and bottom copper, soldier mask and silk screen and drills. I guess I would have to figure out how to generate those layers myself from Kicad and make sure the dodgy Roland software running on Windows XP can understand it. I will also need to research if I can add soldier mask myself and how I can mask the pads. Yet another blog I think! I will do a seperate blog on my attempts to resurrect the Roland PNC-2300A!

Once I have produced a board and tested it, I will link to that blog from here 🙂 That is all, until our next adventure.


Adventure #3 – If I could chuck wood….

Merry Christmas adventurers. In this adventure I am building the frame for my arcade machine. It is built of Wickes’ finest 12mm MDF. It is held together with pine and prayer. My brother and I used the tablesaw to cut the front, sides and back. In this image it is waiting for its face.

I have stripped down an LCD monitor and mounted it in the frame.

After getting the frame together and standing in front of it, it only really seemed big enough for 2 players. I have tested mounting the joysticks.

Kindly Ipswich Makerspace’s own superhero Adam helped laser out the screen surround on “Helios” the big laser.

It me

Outstanding jobs

  • Build replacement button PCB to control the LCD
  • Procure PC parts and mounting system
  • Install IEC C14 connector and power button
  • Vinyl wrap
  • Finish and polish the turd game in Unity
  • Unleash it on people

Look out for my other adventures where I go off down rabbits holes, such as:

  • Write a new game! and build its artwork
  • Convert a SNES controller to XINPUT compatible
  • Build my own gaming mechanical keyboard
  • Hack a Boilermate 200 PCB into a “Smart” Boiler
  • Macro photography
  • Learning Finnish and the Piano
  • Something to do with my day job, I forget what it is now, probably Internet or phones or something.

Adventure #2 – Lathing away

Afternoon adventurers. As part of my project to build an arcade case for Laser Defender game, this weekend with my good friend Matt G, he has been instructing me in the ways of the metal worker.

To test out the analog axis of my Teensy USB gamepad, I needed some potentiometers, which needed finishing with same handles. I found some old kitchen drawer handles and put them to work on Matt’s lathe.




Input Device #1 : Thottle control

A 10K slide pot with kitchen drawer handle

This works great as a throttle control in “Simple Planes”, next step is to build a housing for it, or maybe integrate it into a custom keyboard project.

Input Device #2: Turny handle thing

Yeah I dunno what this is really for, but its a turny handle thing. Im sure I’ll want a turny handle thing at some point.

Arcade stick

Actually all of the lathing was really for helping make some metal adapters for mounting rumble pack motors to my XINPUT arcade sticks, which look a bit like this. These are 2 separate parts “smushed” together (technical term).

When mounted on the stick, look a bit like this (rumble motor up underneath).

That’s it for now. Hoping to get my circuit boards next week!