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

OK so I’m really going off on a tangent now… I have decided to work out how the controller of my heating system works, and to a smart modification. This is likely pt1 of 2.

Here is the system, the wonderful Boilermate 2000.

She’s a beauty

In the top left is the PCB that runs the various pumps and things. These have a habit of failing every year or so, so I have built up a small collection of partially failed boards. I decided to attempt to work out how they worked and see what hacks I could do to them. This board is responsible for taking an input switched live signal from an external thermostat, monitoring the hot water tank temperature, controlling the Boiler, Boiler Pump, DHW pump and Central Heating pump.

This is a GT155 with the updated LED display driver. This one suffered from not being able to turn the DHW pump fully on, I think a triac has failed, but I don’t really know how to test it and to watch me desolder anything is like watching a lion pull the carcass of an antelope out of the passenger door of a nissan micra whilst balanced on a cliff top – like at the end of the Italian job. It’s dangerous, messy and probably doesn’t end well for anyone. Let’s talk through what we have here.

In Section 1 we have:

main CPU [1]

X5045P [2]

11MHz Crystal

5 Jumpers

4 pin serial header

various resistors & capacitors

In section 2:

3 digit 7 segment display [3]

LED driver [4] or [5]

ISP header (if [4])

In section 3:

2 opto isolators [6]

In section 4:

Supporting resistors and diodes for temperature sensors

In section 5:

PSU components (transformer, bridge rectifier, capacitors)

A lonely transistor

In section 6:

5 Transistors

5 Triacs [7]

4 LEDs

Let’s take an in-depth look at some of these components.

Main CPU
The main CPU is a AT89C55 8-bit microcontroller with 20K of flash with 32 I/O lines. It is in PDIP configuration and socketed for easy extraction (he says instantly bending 4 of the pins).

X5045PI misunderstood what this was a first, I thought it was just an EEPROM and tried to interface with it using SPI to read its contents. After a couple of hours failing at that, I actually looked at the datasheet and followed the traces again to discover that in fact it is a CPU supervisor (with some EEPROM) and that it was just being used to keep the CPU reset if the Vcc was below Vtrig, some kind of low voltage protection mechanism.

Ipswich Makerspace have had an amazing year, with an exciting future ahead. All of our success is down to the effort put in by our members. Obviously some put more effort in than others, but no matter how much effort is applied, we appreciate it and want to reward and acknowledge it. Last year we came up with the Maker Stars Chart.

This was a simple chart, with a list of potential actions with a list of members names, the idea being if you did a good deed you applied a star on the chart adjacent to your name. After a year of it being on the wall, we got quite a lot of engagement with lots of starts applied.

So when it came to our Christmas Party this year we could not let it pass without acknowledging our most engaged members. So this Christmas the acknowledgements went to (in absolutely no particular order) :

Steve Chalkley

Adam Reid

Pete Onion

Mal Hurbert

Jon Leach

There were more people to be acknowledged and you can see the chart above, but we decided to keep it to those who were in attendance at the Christmas Party. That does not mean we do not appreciate the efforts of all those people who were not at the party or chose not to take part in the Maker Stars chart.

So to everyone who has impacted the Makerspace in the past year, Thank you VERY much.

There is a new chart up in the space now for the coming year. Names are not pre-populated, so please do add you name and start collecting those stars. We don’t promise anything, but who knows how we may choose to acknowledge people this year. One thing we do know though, if your name’s not on the list your not going to be selected.

So don’t be shy, if you’ve done something to benefit the Makerspace, give yourself a star.

Here’s to a wonderful 2019, it’s going to be exciting and we want you to be part of it.

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 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.

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.

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).

I have been experimenting with using Teensy-LC as USB gamepads as part of my Laser Defender Arcade machine. I found some articles with half examples, non functioning examples and many forums with people in the same situation as me, limited knowledge and a pile of errors.

Not being a software developer by trade, it has been an interesting journey recently into Unity with C# (courtesy of Ben Tristem, for giving me access to his course) and further delving into microcontrollers, this time the Teensy-LC.

– Needed at least Arudino 1.8.6
– There was no rumble example
– XINPUT is limited to 4 devices of type xbox controller

I have made a custom PCB to cope with 6 buttons, DPAD and Rumble Motor. I will make another post about my adventures in Kicad. Which I will link here: TBC

MSF Fight Stick is a very nice way to make a custom controller for XINPUT games. I am using XINPUT on Unity as I dislike the Unity Input system, as did a Canadian dude called Kenton, who instead made is own custom HID-based device also using the teensy.

The next steps in USB controller development is to create my own custom HID descriptor that contains only the buttons, axes and hats I (want) need. This will come after learning much more about the lower layers of USB and setting myself up with some tools to monitor the bus. I will also get some analog devices (compass, accelerometer, potentiometer, temperature sensor, theremin?) to make some interesting input devices for my Unity games.

Introduction

Following on from out last Coder Dojo we have been reviewing the feedback, it appears everyone had a great time, but most comments were around the available learning resources. This post will aim to give some guidance on what is available in hard copy form at the Makerspace, where various online resources can be found and how they can be best used at future Coder Dojo’s at Ipswich Makerspace

Coder Dojo Resources

Hard Copy

The Coder Dojo organisation have a large number of resources available online, Until recently their resources were generally community derived and came in the form of two page PDF’s which could be printed out double sided and laminated ready to be used at Coder Dojo’s. These were (still currently) stored at https://kata.coderdojo.com/wiki/Home_Page. These bite size sheets were called Sushi cards.

Online

The Coder Dojo organisation now comes under the umbrella of the Raspberry Pi Foundation (RPF), so along with Code Club (also owned by RPF) and Raspberry Jams there are massive amounts of learning material in various forms and formats. The Raspberry Pi Foundation have been working for some time to bring all these resources together on their Projects site, this is work in progress but well progressed now. This site has pulled together in a consistent format, learning resources from Coder Dojo, Code Club, Raspberry Pi. This is brilliant work and needs commending, however the resources are formatted for online web viewing and whilst they can be printed this is not ideal since they do not make best use of the paper and quite often use ten or more sheets of paper, in addition, some interactive elements will be missing.

Recommendations for Dojo Attendees

Whilst the Makerspace would love to provide a library of hard copy learning resource, this takes time to prepare and may not cover the content your are interested in. Also with the migration of many of the available materials a to web based format, printing this out is becoming increasingly difficult.

Therefore if possible we feel it would be advantageous and more productive for Dojo attendees to bring a laptop or tablet completer with them, to allow the viewing of online resources whilst working on their projects.

If this is not possible, please do not let this put you off from attending, we will find a method of allowing you to view the online resources or find some suitable hard copy resource for you to use.

Makerspace library

At time of writing (September 2018) we have the following hard copy resources available for use at our Coder Dojo’s.

Scratch Sushi Cards x 5

HTML/CSS Sushi Cards x 5

MicroBit (MakeCode) Sushi Cards x 5

MicroBit (Python) Sushi Cards x 5

Scratch (MagPi) book (RPF) x 1

GPIO Zero (MagPi) book x 1

Minecraft (MagPi) book x 1

Raspberry Pi Sushi cards x 3

These are held at the Makerspace and will be available for any of our Coder Dojo attendees whilst at the space. All of these resources are available as a free download from the Raspberry Pi website, so if you want to continue to work on your project away from the Makerspace this should not be a problem.

Coding on laptops

Whilst the Ipswich Makerspace make heavy use of Raspberry Pi’s, it is not necessary to code on one, although the Operating System and included software make them very compelling.

It is also possible to code on a laptop, Python and Scratch are both available as downloads for Windows, Mac and Linux computers, many of the resources listed above can also be used directly on a laptop. If you really want to you can even download and install the Raspbian Operating System onto a USB stick so you can run Raspbian on your laptop, if this is something you would like to do, was can talk you through the process.

We want to enable young people to learn to code, we don’t want to impose any restrictions so if you would rather use a laptop than a Raspberry Pi this is fine, however we are unable to provide laptops for use at our Coder Dojo sessions so you will have to provide your own. If you need help installing any software we will be happy to provide guidance.

Today we held out first Coder Dojo, we had nine Ninjas (kids) sign up and eight showed up, so a great start. We had themed our first Dojo on the Raspberry Pi, so before every one arrived we setup a Raspberry Pi for each Ninja. Once settled in and after a quick ice breaker we discovered we had a number of skill levels present. Some had never used a Raspberry Pi before, whilst others had used them quite a lot.

The Ninjas all chose something to work on, we had people who had bought their own project to work on, these included robots, breadboard hardware projects, Minecraft projects etc. Whilst others decided to learn how to wire up and programme LED’s as traffic lights, code an adventure game in Python or programme games in Scratch.

All in all, everyone had a great time and it was a shame to have to tell everyone to pack up once the time came to finish up.

I would very much like to thank my co-champions Tim and Sue and also Phil and Andy who did a great mentoring job on the day.

So will there be another Coder Dojo, I’m pretty sure there will be, today was the second Sunday of the month, so it will be nice to run one every second Sunday of the month. I’m currently confirming details with the rest of the team but hope to post details of future Dojos very soon.

We are hosting a Coder Dojo on Sunday 9th September. This is a place for 7 to 17 year old children to learn to code. Our first session will be based loosely on the Raspberry Pi. We will be providing everything you need, however you may want to bring the following if you wish.

Your own Raspberry Pi, we will have ones to use, but they are small, so if you prefer your own, then bring it.

Your Raspberry Pi SD card, again, we will be providing SD cards for you to use, but if you have a project you want to work on, then by all means, bring your own.

If you want to do any Sonic Pi work, then please bring headphones, with a 3.5mm jack plug.

Coder Dojo’s are largely self taught sessions with mentors to help, so if you have an idea what what you want to learn or improve then bring along your ideas and let us know. You will not be taught something you don’t want to do. If you are new to coding or Raspberry Pi’s then we will have a selection of resources to get you going.

If you want to attend, it is essential you sign up on the Coder Dojo website. This event is free to attend, but we do need you to sign up here. Thank you.