Do not throw away!!

So, I was pulling apart an old car CD-changer unit (as you do), when my eye was caught by the printing on a tiny bit of circuit board...

dontthrowaway 112

I wonder how many of these little scrap-looking PCBs were chucked out by accident before someone at the factory realised they were going to have to do something about it:

dontthrowaway 111

Tee hee.

Hacking an old RAF Nimrod control panel

Bought one of these things off eBay for around £35:

nimrod 110

Don't know what it's for. Probably some sort of comms / radio display. The reason I jumped on it - behind that dark window are 8 of these alphanumeric LED displays:

nimrod 109

These little displays are usually around the £15-20 each. Loads of LEDs:

Loads and loads of tiny LEDs...

And a little controller chip on the back of them:

... and on the back, under a little crystal window, a simple controller chip.

Little but not simple (!) - check out all the gubbins [that's a technical term] in there:

OK, not that simple a controller chip.

Before trying to get the whole panel working, I hooked up an Arduino to a single display to get it working:

nimrod 104

Once you've sussed out how to get one display working, figuring out what the connections to a full display panel should be is a lot easier, even if it doesn't look it:

Too. Many. Connections. Needed.

nimrod 105



Got it working!

Getting an expensive piece of ex-RAF equipment to say naughty words is the sort of thing that gets me out of bed in the morning.

Now that I've got the thing working, I'm not sure what I want to use it for. Maybe a new trip computer for the Landrover... we'll see.

Getting camera tracking data from Blender to After Effects

There's a plugin for Blender that lets you export 3D camera data in a format AE can use - you end up with a camera in AE that moves exactly the same way as your camera in Blender.

After Effects strangely doesn't support orthogonal cameras though - you can have either flat compositions with no 3D transformations, or full-on 3D with perspective. No isometric-style perspectiveless 3D. So, no good for my current project, which looks 3D but is completely perspectiveless:

Screen Shot 2014-02-07 at 11.11.52

This means that if you need to track a logo in over an orthogonally-rendered animation you have to use the 2D Corner Pin effect to distort the logo to fit the scene. In a fast-moving scene you can just render tracking markers at the corners of where the logo should go, then use them in AE to place the corner pins, either by eye or using Motion Tracker.

For slow moving scenes it's hard to get the track perfectly. Orthogonal views along with a camera that rotates as well as translating exacerbates the error; the lack of perspective already looks weird, so a logo that isn't tracked solidly seems to swim. After much frustration and a bit of googling I decided to hack up a script for Blender to export the data I needed:

# use this script to export the resulting screen coordinates
# of the currently active object in 3D space. Coords get 
# output to the console -h

import bpy
from bpy_extras.object_utils import world_to_camera_view

scene = bpy.context.scene

# needed to rescale 2d coordinates
render = scene.render
res_x = render.resolution_x
res_y = render.resolution_y

rnd = lambda i: round(i,1)


for j in range(1845,1902):   # frame range you're interested in    
    obj = bpy.context.active_object
    coords_2d = world_to_camera_view(scene, cam, (obj.matrix_world *  obj.location))
    print("\t{}\t{}\t{}\t".format(j, rnd(res_x*coords_2d.x), rnd(res_y*(1-coords_2d.y))))

Worth the hassle, though: the flown-in logo is locked to the wall now:
Screen Shot 2014-02-07 at 11.15.36