HP2VGA: PCB Design with a BGA

This PCB represents two firsts for me – first 4 layer board and first BGA package. The former isn’t really a big deal and is really just necessary because of the latter. Due to my memory requirements, I was forced to use the Lattice iCE40HX8k which has more RAM than the smaller variant, iCE40HX4k, and also only comes in BGA packages.

Continue reading “HP2VGA: PCB Design with a BGA”

Project: Remoteli – Fully Populating Board V2

I never got round to fully populating the original board with all of the components. This is because I realised the first board was flawed before I got round to needing to fully populate it. So this is the first time a board has been fully populated.

Continue reading “Project: Remoteli – Fully Populating Board V2”

The bad news, I managed to blow two of the three motor drivers by connecting 9v into a 5v pin. Oops.

The good news, the remaining driver works fine!

Here is a video of it in action:

Here you can see me reversing the direction of the motor by connecting the DIRECTION pin to 5v or 0v.

The step pin is actually disconnected and is therefore floating. However, because the voltage on it is therefore fluctuating, it more or less simulates a quick step pulse train.

I have ordered some replacement drivers and some opto-couplers as I reckon the next step is to connect the stepper motor to the pc and see it in action. The opto-couplers ensure that, should anything go wrong with the motors, no electrical signal can be fed back into the pc, potentially damaging it.

Project: PCB Mill CNC – Testing the Motor Driver

Project: PCB Mill CNC – First Steps

Last time I tried to build a CNC, I didn’t realise how CAM software interacted with the hardware. From research I have found that packages like Mach3 generally communicate with a CNC tool via a parallel/printer port. The protocol is pretty simple: each motor has two direct pin connections – step and direction.

So first things first I need a parallel port. You don’t find these kind of things on modern laptops, so I took a dive back in time to my dad’s old laptop from about 10 years ago. We are talking a 256MB of RAM, 20GB HDD, 1GHz pentium processor, 3.37kg beast.

This is what a parallel port looks like.

This is what a parallel port looks like.

The first step I decided was to check that the parallel port is spouting out the right kind of data. So with the help of a parallel port break-out device (thanks again, dad) I hooked up the PC to my oscilloscope.

What I would expect is a series of pulses on the “step” pins and a constant voltage (until I change direction) on the “direction” pins. Luckily, this is exactly what I got.

The Mach3 interface. Retro but functional.

The Mach3 interface. Retro but functional.

The parallel port breakout device with probes.

The parallel port breakout device with probes.

Oscilloscope reading. Can you make out the tiny pulses?

Oscilloscope reading. Can you make out the tiny pulses?

What this means is that the PC can be connected directly to stepper motor controllers which coincidentally also have a “step” and a “direction” pin and therefore I do not need any kind of intelligence in the form of a microprocessor.

In the end the stepper motor drivers I went for are these albeit from a significantly cheaper distributor:

My choice of stepper motor driver.

My choice of stepper motor driver.

So, next thing I reckon is to wire up one of these drivers and motors and test it out.

Project: PCB Mill CNC – Introduction

With the Smart Watch project drawing to a close (all that’s left is software refinements and a final video), it’s time to begin a new project.

Having just completed an entirely electronic/software project, I think it would be nice to move onto a hardware based project. It is for that reason that I will be attempting to make a Printed Circuit Board Milling CNC based of these plans by Tom McGuire. This isn’t actually my first attempt at a CNC machine. Back in 2012 I had a first attempt, using only parts from a scrap printer. This didn’t go to plan for a number of reasons – lack of planning, cheap parts, lack of research and impatience to name a few. But this was before I started my Engineering course at uni.

This was my first attempt at a PCB Mill.

This was my first attempt at a PCB Mill.


This was an “improvement”.







To cut a long story short, it didn’t go well. I didn’t think properly about how to interface it to a PC and I didn’t get appropriate motors. It is now gathering dust in my room.

Here is a video of it at it’s peak:

Hopefully, by taking time to do appropriate research and buying high(ish) quality parts, I should be able to make something useful.

Let’s hope for better luck this time.

Project: Smart Watch – Disaster (I thought)

Today was pretty productive; I now have more or less functioning straps – there will be a detailed post on this soon – but the aim of the post is to describe a disaster that (I hope) I managed to avert.

I was working on installing buttons in the case so that the electronic switches could be pressed from the outside. First thing’s first, I need to drill some holes… The lid comes unglued, the drill slips, the lid is ruined. Not a big deal – I have plenty of plastic and it only takes a minute to cut.

This time I drilled the holes before gluing the lid on – success.

Now lets put the circuitry back in – it doesn’t fit.

Confusion. Scrape away the glue from the edges. Okay, it fits.

Right, so lets take the circuitry out and put the buttons in the holes. Damn fiddly, but fine.

Now to replace the circuitry… A switch catches on the button and comes clean off the circuit board.

Hair torn out.

Test other buttons with new program. First button – fine. Second button – fine. Third button – fallen off. Fourth button – doesn’t work.

More hair torn out.

By repeatedly reheating the joints of the non-functioning button and adding a little more solder the button seems to work 85% of the time. Okay, that’ll do for now.

Soldering on the fallen-off-button – turns out to be a piece of cake. Can I have my hair back?