Pond Refurb

Our pond has always been a bit of a problem when it comes to keeping the water clear. To the point that most of the time we can’t see the fish. And that’s even when we clean the filter every couple of days. To be honest we know what the problem is – the pond isn’t big enough for the fish we’ve got in it and the filter/pump isn’t up to the job. There’s not much we can do about the former, but this is the feak and weeble pumpy thing we’ve been struggling with:

It recently gave up the ghost after an ‘O’ ring leaked and water got into the UV bulb fitting. Rather than replace it with the same model we’ve gone for an upgrade.

Hooj filter that lives outside the pond and is fed by a small pump. You don’t need to take it apart to clean the filters because it has a handle that turns a spinnumy-thing that flaps away at the filter foam inside and you divert the gunky water onto the plants for extra growth factor.

So far it’s been in for a month or so and the water is tip-top. The fish are loving it.

Name Plate

A few years ago, one of Kay’s kids gave her a scroll saw cut wooden name tag which she’d displayed in her classroom ever since. Due to the ridiculous nature of our surname it’s a bit long and hence fragile, and it’s broken a couple of times.

I’ve recently had to cut down an old mountain ash that’s been growing in our front garden ever since the house was built. I suspect it got its roots a few inches down and found the awesome clay that everything sits on round here. Suffice to say it did not thrive and its constituent parts have been seasoning for a while in the garage.

I figured it would be nice to use some of it as a mount for Kay’s name plate so I stripped the bark off and generally neatened it up a little with a bit of carving and sanding, and then I shaved off a couple of flats with my hand plane; one for it to sit flat on, and another to mount the wooden name plate. A bit of oil and Bob’s your uncle.

New Workbench

A month or so ago I completed Phase 1 of my epic plan to re-build the man cave (otherwise known as The Hall of Half-built Curiosities). I’ve been using a pretty bog standard Ikea desk since God were a lad and I’d always wanted to custom build something a little better suited to what I needed. So I stripped everything out and dumped it all in a huge pile in the bathroom (which made Kay deliriously happy I can assure you) and started hacking up bits of 2×4 and huge sheets of MDF.

Top tip number one folks: never, ever, buy timber over the interwebs ‘cos they’ll pick the twistiest POS sticks out of the entire stack for you. I’m surprised the ones I got even had the birds and squirrels removed. Every cloud though… I now know how to tune a hand plane and how to use winding sticks to turn Disney princess castle turret handrails into straight, though admittedly somewhat thinner, things. Of course it would have made much more sense to sack ’em off, barbecue some nice steaks and just buy some straight ones but where’s the fun in that?

I wanted the supporting structure to be nice and open with no legs to get in the way. I pretty much managed that but had to put a couple of glued up 4×4 props at either end of the bench. The remainder of the support comes from 2×4 wall plates bolted to the masonry walls with hoooj hammer fixings. In the end, the thing is pretty much bomb-proof and easily takes my weight without any sign of movement; way more solid than I had hoped for.

I’ve covered it using a couple of 8×4 sheets of 18mm MDF which I managed to get pretty much bob on when it came to level and joins. I even jigsawed some curves on the ends to make it nice and purdy. Oh yeah, I cut out some holes for cabling as well. Turns out my poor little Black and Decker does not like three inch hole saws. Some of the magic smoke definitely escaped and I had to leave it outside for while as it had become something of a fire risk.

The next job is to build some under bench storage; probably just simple MDF boxes with doors and casters. After that I’m planning on putting up some French cleats on the walls so I can put up custom and adjustable storage type stuff.

Really pleased so far. It’s not fine carpentry by any means but that’s not what I want. I want something beefy that I can get paint and glue and grease and solder and coffee and sweat and blood and tears and kitten guts on. No. Not kitten guts. I mis-spoke.

Build A Computer From Scratch (Kinda Sorta)

I’m currently part way through a fantastic course on hardware design. It’s called Nand2Tetris and walks through building a simulated computer from the very simplest components (individual transistors) right through to a fully functioning computer. There’s a subreddit available if you want to chat with some fellow learners and a TED talk covering the course and some of the educational ideas behind it.

Everything runs in a simulator so there’s no actual hardware to buy or break or futz about with (which you may or may not find attractive) and this means you can focus on the underlying theory and understand what’s going on rather than getting bogged down in implementation details.

Still early days (I’m busy building some of the more complex components from basic logic gates at the moment) but it’s very good so far. No previous experience is required, but if you have none, be prepared to do some fairly serious thinking and maybe a bit of background reading along the way.

Update 2016-03-26:
All done now. I really liked this course. It had great pacing and a really good overall shape that kept my interest all the way through. There was plenty of detail without any tedious busy-work and it covered an awful lot of ground without feeling overwhelming at any point. While this little short course in no way represents the realities and complexities of a real world project it did provide a great insight into what kinds of issues are involved in computer design. The projects all required some thought but built on previous knowledge very well and there was a definite sense of accomplishing something really quite significant for the relatively small amount of effort involved. 10/10 would recommend.

Hacking Lego Motors

Lego Technic Power Function motors are nice and easy to hack for robotics projects – in large part because they come with a built in gearbox so you get nice amounts of torque at low speeds right out of the box.

Here’s a quick breakdown of what you need to know. The tl;dr is that you apply a 9V PWM signal to the two inner cores of the ribbon cable. The outer two cores are not connected.

I’m using the M Series 8883 motor but there are plenty of alternative choices available. I’ve not tried them but I would assume they all use the same pin-outs.

The motor is supplied attached by a four-way ribbon cable to a lego electrical connector:

Motor and Connector Combinaton
Motor and Connector Combinaton

You can either snip this cable in the middle and solder the individual cores or you can sacrifice a simple lego PF extension cable instead and leave your motor assembly intact.

The Lego PF system uses a standard pin-out system across all the products but note that for our purposes here we only need the C1 and C2 lines (the 0V and 9V lines are not connected inside the motor).

Here’s a photo of the motor end showing the pin-outs:

Motor End Pin Assignments
Motor End Pin Assignments

And here’s the pin-outs for the connector end. Which you might need if you’ve just cut your motor cable in half without making a note of the cable orientation…

Connector End Pin Assignments
Connector End Pin Assignments

If you’re interested in the internals, undo the small crosshead screw

Underside showing housing retention screw
Underside showing housing retention screw

then prise off the housing using a small flat-bladed screwdriver trying not to stab your fingers and thumbs in the process

Housing retention tabs
Housing retention tabs

Once that’s off you can pull off the gearbox (which itself comes apart very easily to reveal a set of three planetary gears):

Gearbox removal
Gearbox removal

Finally you can slide off the inner housing to reveal the motor itself and the small smoothing capacitor.

Internals
Internals

You can then see that the outer two cores (0V and 9V) are not connected to the motor internally. So, you control the motor by putting 9v on C1 and 0v on C2 to spin the motor anti-clockwise as seen from the outside, or alternatively put 0v on C1 and 9v on C2 to spin it clockwise as seen from the outside. To control the speed, apply a 0 to 9V PWM signal of the required duty cycle on the logic high control line. In terms of current draw, my M series motor pulls about 70mA when free running and up to about 500mA when I really load it hard. Bottom line – you need a controller circuit to run this, you can’t just hook it up to a micro-controller’s digital out lines.

Pre-assembled Test LEDs

Here’s a nice little idea I saw somewhere a while ago and have just got round to making. It’s just an LED in series with a 470Ω resistor connected to a pair of 0.1″ pitch posts. Whenever you need to quickly check a signal on a breadboard you can just plug one of these babies in and you’re done.20160220_065025

Baby’s First Scope

Much as I’d love to have a proper oscilloscope I’m wise enough to know that spending a couple of hundred quid on a cheapo version is probably a bad idea. This is a tool that warrants some significant investment. Or alternatively pretty much none.

I’ve just bought and built a little Jyetech DSO138 kit oscilloscope and whilst the specs are pretty pitiful, for £20 it’s a pretty good piece of kit.

Assembled Scope

The main features are as follows:

  • Analog bandwidth: 0 – 200KHz
  • Sampling rate: 1Msps max
  • Sensitivity: 10mV/Div – 5V/Div
  • Sensitivity error: < 5%
  • Vertical resolution: 12-bit
  • Timebase: 10us/Div – 500s/Div
  • Record length: 1024 points
  • Built-in 1KHz/3.3V test signal
  • Waveform frozen (HOLD) function available
  • Save/recall waveform

So, this thing is not going to cut it for high performance professional applications but if you’re learning electronics and playing with RC circuits and 555 timers then it’ll definitely get the job done for you.

Building the kit requires just basic soldering techniques but some of the parts are quite small, and there’s a lot of them, so it’s not a kit for a first time soldering experiment. It also comes in two flavours, one with the surface mount components already done and one where you need to solder them yourself. Surface mount soldering is a challenge so avoid this version if you’ve never done it before.

The Parts

While I could go into great detail about calibration and how well it responds and all that jazz, it frankly doesn’t matter. If you’re buying this kit, and you have any kind of common sense, you’re not looking for or expecting that level of sophistication. At the end of the day it lets you see reasonably robust, reasonably slow signals in reasonable situations. Job’s a good ‘un.

Memory Electronics

This is just a stub for now but in order to avoid your inevitable disappointment have a lovely link.

From a top level perspective you can think of each bit of computer memory as having the following functionality.

  1. It must retain its state (either zero or one) at least semi-permanently. RAM will often lose its state when power is removed and ROM will often lose its state if left for a period of years, but for our purposes here, it remembers what it is set to.
  2. It must allow external hardware to read its value.
  3. It must allow external hardware to write its value.

Introduction to Memory

You can think of memory as being like the safety deposit boxes in a bank vault:

bank-vault

Each box is numbered so you can find the right one and each box can hold some contents. In computer memory the number of the ‘box’ is referred to as the address and the contents being stored at that address are referred to as the value.

Here’s a diagrammatic representation of some hypothetical and somewhat simplified computer memory:

memory

Here, we’ve got five memory locations (the rounded rectangles numbered 1 to 5 in the top left corner) each of which is the equivalent of a safety deposit box in our bank vault.

The memory at address 1 (the safety deposit box with the number 1 on the door) contains the value 231 and the memory at address 3 (the safety deposit box with the number 3 on the door) contains the value 34 and likewise for the other memory locations.

Well sure but…

  • How come I’m seeing decimal numbers stored at these memory addresses? I thought computers only understood 1s and 0s.
  • What are these 0x blah blah addresses I keep seeing?
  • How come the addresses I’ve seen elsewhere go up in fours (or eights or some other number) rather than one by one?
  • OK But what about the electronics? What’s really going on here?

Hexadecimal

This is just a stub for now but in order to avoid your inevitable disappointment have a lovely link.

Memory addresses are often written in hexadecimal and will look something like 0x1234abcd. Hexadecimal is a base 16 number system in the same way binary is base 2 and decimal is base ten. Instead of numbers being made up of the binary digits 0 and 1 or the decimal digits 0,1,2,3,4,5,6,7,8 and 9 they are instead made up of the hexadecimal digits 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e and f.