Arduinos, FDTI and general grief

This is more of a note to self than anything else.

I inadvertently purchased some clone Arduino Mini Pros, insted of Minis, the difference being that that latter has a USB port onboard. Oh well, that meant securing an FTDI board or two, no problem there.

When they arrived, however, the pinouts on the FTDI boards were not labelled in a corresponding manner to the boards. Which wire went where? Who knows?

Some hunting later it ocurred to me that by simply plugging them both into a breadboard they would probably work just dandy. So, in went an arduino and an FTDI board head-to-head. Nada.

The magic happened once I downloaded a driver from here: from and that’s all it took.

NASA Space Poop Challenge

It’s always nice to have nice clients and Hugo Shelley of fame is one of those. He designs all manner of wonderful things, but when he asked me if I could model shorts for him, I replied that I didn’t have the legs for it.

Fortunately, this did not involve appearing on camera, but modelling his entry for the NASA Space Poop Challenge, launched on

It was a crazy week and a half of no sleep and surreal conversations, and everything went swimmingly until it came to the documentation. I wanted one illustration titled with the technically correct caption:

“Suit Hermetic Interface Tubing connects via the Peripheral Integrated Suit System to the Combined Recovery Appliance Piping”

HSSP render 100

Naming the system was another issue. I suggested “Suit Hygiene Internal Toilet and Tertiary Effluent Recovery” and “Peripheral Organic Ordure Processor and Effluent Recovery” and for some unfathomable reason Hugo rejected those.

All of this was crammed into one and a bit weeks, with numerous revisions of every component. This combination of organic and hard surface modelling is quite a challenge, but is just the sort of thing Blender excels at. Even with the very limited time available for texturing and rendering, I still managed to achieve a reasonably good looking results for what is, after all, a technical illustration. There were over 100 hundred renders produced, sadly none of which (other than the one above and the turntable, of course) I can show here for obvious reasons.

Despite the power Blender offers, there were numerous challenges involved, since every model had to be as flexible as possible, allowing for all the unknown changes that would be required down the line, and there were loads of them.

Hugo is the kind of client every artist and designer wants: he understands that this sort of thing is complex, that sometimes the wires will go quiet whilst some pretty tricky stuff is being handled, and that there are times he has to take the designer’s word that something has to give, for whatever reason. He took my more sensible suggestions on board, laughed at the really silly ones (OK, I wasn’t being all that serious) and respectfully declined the more unlikely ones.

It was a great thrill to participate in this challenge, a greater thrill to see Hugo come in as a winner!

World’s first 3D printed sukkah – well, sort of


Two world firsts: the first sukkah to use 3D printed parts as an integral part of its structure, and the world’s first geodesic sukkah.

Extra, extra, read all about it here.

For absolutely ages I have been mulling the idea of building a geodesic sukkah, and never really took the idea too seriously. Oh, I told my kids bedtime stories that featured a geodesic sukkah quite prominently, but after playing around with the geometry in Blender I figured it was simply too much work.

Then my laptop got stolen, I bought a new one and for some reason that sparked my interest yet again in the idea. So I fired up Blender again, did some research and backed off yet again. Ah, but then something clicked somewhere, and I took to the idea quite seriously. Seriously enough to buy some cheap plastic pipe (1 British monies for 2m worth of 22mm overflow pipe) and set about designing the dome.

Well, how do you design a geodesic dome altogether? The simplest route is to use the geodesic plug-in for Blender, of course. One click, or actually several hours of fiddling around until the realisation dawned that there is a lot to learn about these kinds of domes, and I had a dome.


Well, sort of. What I had was a geodesic mesh, certainly; but a practical, buildable model it was not. The sheer amount of options was quite overwhelming, and then I had to scratch my head and decide whether I wanted a class 1 or class 2 icosahedron, octahedron or tetrahedron or who knows what. Obviously, I got somewhere in the end.


Yet there were more decisions to be made. Ideally I wanted the sukkah to fill up as much space of my garden as possible. I didn’t want the walls to be too shallow, because then much of the usable space would be sacrificed. On the other hand, if the dome was too tall, the base would be too narrow. Ah, choices, choices.


In the end I decided on a maximum diameter of 4.6m, and cut off around 1.3m off the bottom which made for a happy balance.

Of course I still had no connectors, and now way of aligning all the connectors automatically, as well as putting the pipes in place and whatnot. All of this required a fair bit of hair pulling and many hot baths.

Fortunately Blender has some really powerful tools that came handy, such as the Dupliverts tool. By parenting a mesh to the dome, Dupliverts will stick a copy of the mesh onto each face or vertex, and when using vertices will point the mesh in the direction of the vertex normal. In plain English, you get loads of free copies and everything points to the correct direction. Coolio.dupliverts

I trolled around the intarwebs to see how everybody else designed their connectors, especially the 3D printed versions, and discovered no-one who had designed an actual working dome using 3D printed parts, and the other connectors that I found were made out of bits of plastic tubing with holes drilled in and cable ties to hold it all together. Mucho too much work for my liking.

Well, after some cogitation I came up with a fairly clunky but serviceable design, which took 2 hours to print, despite using a 0.8mm nozzle and 0.3mm layer heights.


They were put into service nonetheless in order to test the very top of the dome together with the oh-so-wonderful plastic tubing.

After further cogitation and the dawning of the realisation that Sukkos was fast approaching and I simply did not have the time to print dozens of clunkers, version 2 was developed. It prints in one quarter the time and uses a lot less plastic.


All the parts for the sukkah were printed in ABS, because they were going to be used outdoors and I didn’t want PLA melting in hot sunlight. In hindsight, this was an overly unnecessary precaution, since we rarely get sunlight in this part of the world, and when we do, heat is usually not an issue. Oh well, at least ABS is the cheapest filament I can buy, so all was not futile.

Getting the pipes in place was a bit trickier. What I resorted to in the end was using two empties, one at either end of the pipe, with the pipe parented to one, and tracking the other using a Track To constraint. Then snapping the empties to the desired vertices was simples, and some shuffling along of the pipe was in order to get it into place. Very, very tedious, not technically accurate, but quite effective.


Some stats:

  • 180 pipes were cut to length from 100 x 2m lengths
  • There were a total of 62 hubs printed
  • Approximately 20 metres of cloth was used
  • 25 poles were 75.5cm long
  • 76 poles were 90cm long
  • 54 poles were 88 cm long
  • Approximately 400 screws were used
  • Something else interesting was going to go here, but I forget what
  • Yes, I only listed 155 poles’ dimensions – there were others, I did not miscount

My family took to the idea like a roasted duck to an orange sauce. Everyone was both excited and convinced I was kidding them, until she-who-must-be-obeyed greenlighted the purchase of 100 flimsy pipes at the eye-popping cost of 100 British monies. You should have seen the face of the delivery man who for the life of him could not imagine what anyone would want to do with that much garbage. It really is the cheapest stuff one can acquire without resorting to nefarious goings-on or actual miracles.


My philosophy is to avoid any actual work, and hence convinced my daughters of 12 and 14 tender years that they would be able to construct this affair with ease, and that It Would Be Quite Fun. The initial plan of simply assembling the whole thing and hoping the structure would hold itself together was quite naive, so we were forced to use small screws. This was a mixed blessing, but my dearly beloved offspring persevered, and after 20 hours of delighted labour the deed was done.

Well, at least the frame was up.


The whole affair was very much so not everything worked out quite as well as I hoped it would, in particular the schach (vegetation roof). Well, it still held up for the while festival, and seated 20 people in comfort, so who can complain?

The whole neighbourhood got to here about it as well, so we entertained approximately 500 visitors who wanted to eyeball the “climbing frame sukkah”.

Octoprint and the Ultimaker 2

Having finally concluded that the whole fiddling with an SD card to get my Ultimaker 2 printing was growing long in the tooth, I roped in a spare Raspberry Pi to act as a 3D print server.

Finding the info required to do this in one place is still quite tricky, so I figured I would write it all down while I still remembered.

First of all, octopi was installed on the raspberry. Of course I was too tired to realise that the image was downloaded as a zip, and I wrote the zip file to the SD card using dd several times until the light dawned, and I cursed roundly at my foolishness. One unzip later, 3.3Gb of data transferred smoothly. The raspberry pi was wired up to the printer and a handy ethernet cable and breathed into life.

Instructions listed here were slavishly followed, and then it was time to give things a whirl.

Firstly, the baudrate in the connection section has to be configured for 250000. Very important. After that there was really not much to do. I decided to install every plugin on a whim, which proved quite useful since there is no “go faster” button, and the custom control plugin allowed me to add one with little fuss (the g-code is M220, e.g. M220 S120 for 120% printing speed). As my benighted offspring might say: “Well wikkid”.

The next big change takes place in Cura, where the UltiGCode has to be switched out for RepRap(Marlin/Sprinter) in the machine settings dialog.

After that, things change a little in Cura, most importantly is the Start/End-GCode tab that appears. This will have to be modified in order to get the results you expect, such as having the head travel to the front of the table and dribble sufficient quantities of expensive filament to no end other than to prime the nozzle, and drop the bed after printing.

So, here be the code:

Err, not quite. Just a quick note, and then the code. M117 appears to do absolutely nothing at all. Nada. Nichts.

Ok, here really is the code.

Start code

;Sliced at: {day} {date} {time}
;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
;Print time: {print_time}
;Filament used: {filament_amount}m {filament_weight}g
;Filament cost: {filament_cost}
;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line
;M109 S{print_temperature} ;Uncomment to add your own temperature line
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 F12000 X5 Y10 ;move hotend to front left
G1 Z15.0 F{travel_speed} ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E5 ;extrude 5mm of feed stock quickly
G1 F50 E15 ;extrude 15mm of feed stock slowly
G92 E0 ;zero the extruded length again
G1 F{travel_speed}
;Put message on LCD screen - well, not really coz it don't work
M117 Printing...

End code

;End GCode
M104 S0 ;extruder heater off
M140 S0 ;heated bed heater off (if you have it)
G91 ;relative positioning
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more
G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
G28 Z0 ;move Z to min endstops
M84 ;steppers off
G90 ;absolute positioning

That’s really that.

The eyes have it

Generally speaking, a project more exciting than this rarely comes across my desk. The client,, simply said: here are the specs for the wheelbase of our new ground drone, now go and make whatever you want. Oh, and it has to be fire, bullet and bomb-resistant. And stealthy as well. But other than that, go wild.

My big question was: “But what will you call it?”

To which came the reply: “The Azrael MkIII”. Now that I would be persuaded by. So I designed something I would want to buy myself. Sadly, only three models will be made for civilian use, so get yours now while the going is good!

I like vents. Vents are good. And look cool.John C render 20eI wanted to put a remote-operated gatling on this. Client said no. Oh well. I didn’t quite get to design everything I wanted, in the end.Azrael MkIII



Wooden Bentleys with brass tyres

This might surprise you: not every Bentley is made out of steel. Or has rubber tyres. Not, that is, when they are pianos. Be comforted by the thought that I, too, had no idea that there was a brand of wooden instrument which rolls on brass instead of rubber that basks in the shadow of that famous marque.

My ignorance was dispelled by a good friend of mine, Eric Sievers of EMS Piano fame, who had run up against a sticky problem. He was in the process of repairing a piano of the aforementioned brand when the standards – the bits that hold the action in place – simultaneously split in two. Within the piano tuning and restoration trade, this sort of thing is not regarded as a good omen.



These parts are made of some kind of composite whose ingredients are as mysterious as the Mona Lisa’s smile, and repairing them proved to be an exercise in futility. Fortunately Eric knew of my CAD and 3D printing skills, and so popped over for a chinwag.

I sadly do not possess a 3D scanner, and please contact me should you wish to donate one to the cause, therefore some lateral thinking was required. Eric pointed out the critical dimensions and then left me to my devices.

This was a bit of a head scratcher. It’s very tricky to measure up something like this successfully without specialist equipment, and there was very little wiggle room. The piano was located beyond my meagre means of travel, my old mare being rather flat-footed these days, so it was case of reverse-engineering the damaged parts I had at hand and working with the piano restorer to ensure they would fit correctly.

Working around the lack of a 3D scanner (all donations towards one gratefully received) I scanned the standards on my trusty flatbed scanner, and used that as a starting point to model the new standards in Blender, the open-source 3D studio-in-a-box. This is not a flawless method, but comparing the scanned images with measurements taken with digital calipers, the results were pretty good.

full standard persepctive full standard top view full standard

Printing these beauties, however, was a bit of a challenge on my Ultimaker 2, both because they were slightly too large for the bed to be printed in one piece, and because they required support all over the show even if they would fit on the bed in the first place. To resolve that issue, I split each standard into three pieces which were glued together after the print. No support was therefore required, and they fitted into the printer really nicely.


IMG_6511 IMG_6510


Red filament was selected for the print simply because it was the soup-de-jour, i.e. that was what the machine was eating at the time. It’s no better at doing the job than, say, hot pink – which I don’t happen to stock anyway.

All in all, it worked out quite nicely and saved a dear old instrument from the Dreaded Doom of Destruction – chalk up another success story to open-source software and open-source 3D printing!

A wee dram of controversy

It’s not every day a client of mine hits the headlines, but this happened to Lehman Brothers whiskey, who had approached me to design their bottles.

I’m always up for a challenge, and had a stab at something just to get the ball rolling.

whiskey bottle v1.6

OK, it was nothing exciting, but the client had asked for something quiet and understated, and had provided the layout for the label.

The customer, of course, is always right, but in my usual forthright manner I told them that the whole thing looked really boring.

“You need to bold,” I said. “Wild. Shouty. And classy. All at the same time.”

After these deep and ponderous words, I held my breath until the client said cautiously: “Let me see what you have in mind.”

Thus was born a range of whisky bottles that are already gathering their own legend.

Ashes of Disaster

Ashes of Disaster





Old versus new

A fusion of a previous chess scene with a concept developed by my eldest son, this combines my love for robotics and appreciation of the jarring oddities in life that makes things that much more interesting.

There is no rule that states robots may not play chess, but why would they? Who is this robot playing against? Which colour is it playing? Is this the last move of the game? To all these questions, the surrealist would answer: “A fish”. Of all the potential responses, such ingenuity and lateral thinking perhaps suits this image best.

chess scene render 08 HD

A serendipitous layer malfunction (I forgot to turn the lights on, basically) and some tweaking resulted in a Tron homage. I’m not really sure which one I prefer.

chess scene render 05

Preview your 3D prints

Recently I was approached to produce a cloak clasp consisting of two buzzard’s heads. Well, that part was easy enough, but in this case I realised the client needed something more than just render to look at.

Buzzards cloak clasp

So using the powers granted to my by sketchfab, I uploaded the model to a password-protected page for him to preview at his leisure, and here is the clever bit: in 3D, in any modern browser (i.e. Chrome or Firefox) without installing any additional software.

Marvellous what these new-fangled machines can do.

A sticky Alt key

Blender offered up a strange problem the other day. For some reason, the Alt key was behaving as if it was sticking, making it impossible to Alt-select edges.

I finally tracked this down to a keyboard shortcut I had set up for alternating between languages. This is quite simple to do in Ubuntu and offers up all sorts of possibilities, and I had set it to change when pressing both Shift keys simultaneously.

Once that was changed to something else (Windows key and Space bar) everything worked hunky-dory.


In a recent re-install of Ubuntu, I cam across the same problem, but this time the above solution did not work. It was resolved by doing the following:

Use CompizConfig Settings Manager (ccsm – install it if you need to), click through to the “Windows Management” subsection and then click into “Move Window”. In the “Initiate Window Move” option, change the button value from <Alt>Button1 to (for example) <Super>Button1. Hey presto, you can now move windows by holding down the Windows key and Button1 on your mouse, and Alt for loop select will work just dandy!