A 3D printer diary – getting going again

Our 3D printer (Dremel 3D20) was a bargain, because bits were missing. After five emails to Dremel support, and various phone calls, I eventually found a supplier who was willing to order the spare parts that I need – mainly the spool lock so that the spool of special Dremel PLA will rotate freely.

Using some of the spare filament that my dad gave me, I attempted to print a small box. This box has feet, so the area touching the build plate is relatively small, and the bottom of the box is off the ground. After about 15 minutes, the printer had created a stringy mess and had pushed the model sideways on the build plate … and was now attempting to add fresh filament on top of empty space.

A stringy mess – after the print head nudged the model out the way and tried to print filament on empty space.

Underneath – another stringy mess. Apparently there is software that can add supports to overhanging structures.

The main lesson learned today is to add supports to the model before printing it. That’s a job for another day.

Posted in 3D printer | Tagged , | Comments Off on A 3D printer diary – getting going again

Vintage plastic toy train

Ecoiffier toy train. Date of manufacture unknown.
Photographed at my parents-in-law

Posted in Trains | Tagged , | Comments Off on Vintage plastic toy train

AWS Storage capacity

I remember when I thought a gigabyte was a lot. I bought an external 1GB hard disk in 1995, and filled it up in no time at all. As geeky things go, it was pretty exciting.

Hadoop is designed for petabyte-scale data processing. Hadoop’s filesystem, HDFS, has a set of linux-like commands for filesystem interaction.. For example, this command lists the files in the hdfs directory shown:

hdfs dfs -ls /user/justin/dataset3/

Like Linux, other commands exist for finding information about file and filesystem usage. For example, the du command gives the amount of space used up by files in that directory:

hdfs dfs -du /user/justin/dataset3
1147227 part-m-00000

and the df command shows the capacity and free space of the filesystem. The -h option displays the output in human-readable format, instead of a very long number.

hdfs dfs -df -h /
Filesystem              Size     Used     Available  Use%
hdfs://local:8020       206.8 G  245.6 M    205.3 G   0%

The hdfs command also supports other filesystems. You can use it to report on the local filesystem instead of hdfs, or other filesystems for which it has a suitable driver. Object storage systems such as Amazon S3 and Openstack Swift are also supported, so you can do this:

hdfs dfs -ls file://var/www/html    the local filesystem
hdfs dfs -df -h s3://dataset4/      an Amazon s3 bucket called dataset4.

Here is a screenshot showing the results of doing just that (from within an Amazon EMR cluster node).

It suggests that the available capacity of this s3 bucket is 8.0 Exabytes. This is the first time I’ve ever seen an exa SI prefix for a disk capacity command. As geeky things go, it’s pretty exciting.

I assume this is just a reporting limit set in the s3 driver, and that the actual capacity of s3 is higher. AWS claim the capacity of s3 is unlimited (though each object is limited to 5TB). AWS is constantly expanding, so it is safe to assume that AWS must be adding capacity to s3 all the time.

The factor limiting how much data you can store in s3 will be your wallet. The cost of using s3 is charged per GB per month. Prices vary by region, and start at 2.1c/GB per month (e.g. Virginia, Ohio or Ireland). For large-scale data, and for infrequent access, prices drop to around 1c/GB. Assuming you don’t want to do anything with your massive data-hoard.

Using “one-zone-IA” (1c/GB/month), it will cost US$ 86 MILLION a month to store 8 EB of data, plus support, plus tax. If you want to do anything useful with the data, a different storage class might be more appropriate, and you should also expect significiant cost for processing.

Justin – February 2019

Posted in Computing | Tagged , | Comments Off on AWS Storage capacity

Mixing hobbies – Lego train on 16mm Garden Railway (part 2)

In my last post, I berated the fact that a inside-frame chassis on 16mm track wasn’t possible in Lego. The gauntlet was picked up by my friends in the adult Lego fan community, and a potential solution looks like this:

Top: Outside Frame bogie in Lego on 16mm track
Middle: Inside Frame bogie in Lego on 16mm track
Bottom: Lego track

This solution uses a piece called a “Minifig bracket” – the thin L-shaped piece has a hole on one plate and a stud on the other. In the right orientation, they can be used to hold the side frames rigidly to the middle bit. a 1×1 brick with Technic Hole (in the middle) supports an axle, which has a stop at one end that is a friction-fit in the hole.

Deconstruction of 16mm inside-frame bogie out of LEGO parts.

The deconstructed view shows the brackets in more detail.

This exact build has another problem: the axles rub against the tan-coloured end bricks. The easy solution would be to make the side frames 10-studs long instead of 8. There might be another solution … so watch this space.

Justin – February 2019

Posted in 16mm, Garden Railways, Lego, Trains | Tagged , , , | Comments Off on Mixing hobbies – Lego train on 16mm Garden Railway (part 2)

Mixing hobbies – Lego train on 16mm Garden Railway

We have had Lego trains running on our garden railways before, using a chassis made of wood and metal, and bodywork made out of the famous bricks.

Around Christmas 2018, someone asked in the forums of the 16mm association if it is possible to re-gauge a Lego train motor to run on 32mm gauge track. This would involve cutting away at the train motor housing to make it about 6mm narrower, because of the difference in gauge between the two systems:

Custom lego train chassis for winter train

I was considering addressing the problem the other way round – rather than cutting away at the train motor, I wondered if it is possible to build a 100% Lego chassis that still works on the narrower gauge of SM32 track.

My inspiration started in December 2017, when my wife bought me the “Lego Winter Holiday Train” for Christmas. I wanted to add a motor, but the correct part was out of stock till February. So I built my own motor chassis using this tiny red motor from the 1990s, so that trains could be run on Christmas Day.  The photo here shows my motor bogie from underneath.

Is it possible to do something similar with a narrower gauge of track?

On the left is Lego track, with unpowered Lego train wheels. On the right is a short length of Peco SM32 track with my prototype. 3 1/2 studs is too wide, and one of the flanges rides the rail. To get a narrower frame, I used a tile (no studs on top) attached on its side to the blue half-pins in one side frame. The parts used to build the frame are show on the right. The axles are 5 studs long, and the wheels are train wheels with cross-holes.

Left: Lego train wheels on Lego track. Right: SM32 chassis in Lego IMG_0701

There are several problems with this solution: the two sides of the frame are only held in place by the axles, so the two sides of the frame can move relative to each other (so the axles may bind), and it would be difficult to centre anything on the bogie. (However, see this update).

Many narrow-gauge locomotives have the frames on the outside of the wheels. Would this be any easier in Lego?


Outside frames are a more elegant solution in Lego. The two sides of a frame seven studs wide can be fixed together using bricks and plates to make a solid construction (using several 2×3 plates, in orange in the photos). I am using 9-stud axles, kept aligned by the bushes outside the frame. The wheels are set in a bit from either side of the frames. The wheels are a tight enough fit on the axle that there shouldn’t be any problem with drifting out of gauge.


This outside frame solution has plenty of space between the axles for gears and possibly a motor. The bodywork or bogie pin can be located exactly centrally. The frames can be made rigid with relative ease, which should make for good running. Wheels of different diameters are available, in official Lego sets, in a vibrant aftermarket, and from third parties.

Both these solutions could be used to build garden railway trains completely out of Lego parts. Perfect!

Well, almost. Lego train wheels have enormous flanges, which bump along the plastic chairs on Peco SM32 track. I could 3D-print my own wheels with narrower flanges, but then it wouldn’t be entirely made out of Lego.

See an update on inside frames.

Justin – February 2019

Posted in Garden Railways, Lego, Trains | Tagged , , , , , | Comments Off on Mixing hobbies – Lego train on 16mm Garden Railway

Cygwin and the unreadable files

I have a PC which has been upgraded from Windows 7 to Windows 10. At some point during one of the upgrades, some accounts have been “upgraded”. It all looks seamless until you take a look with Cygwin, which I use to make some backups.

And herein lies the problem.

$ ls -l
d---r-xrwx+ 1 Unknown+User Unknown+Group       0 Apr  6  2014 '2007 Photos'
d---r-xrwx+ 1 Unknown+User Unknown+Group       0 Apr  6  2014 '2008 Photos'
d---r-xrwx+ 1 Unknown+User Unknown+Group       0 Apr 28  2014 '2009 Photos'
d---r-xrwx+ 1 Unknown+User Unknown+Group       0 Jun 12  2014 '2010 Photos'
drwxr-xrwx+ 1 Andy         None                0 Apr 28  2018 '2011 Photos'
d---r-xrwx+ 1 Unknown+User Unknown+Group       0 Nov 23  2014 '2012 Photos'
d---r-xrwx+ 1 Unknown+User Unknown+Group       0 Mar 23  2016 '2013 Photos'
d---r-xrwx+ 1 Unknown+User Unknown+Group       0 Dec 30  2014 '2014 Photos'
drwxr-xrwx+ 1 Andy         None                0 Jan 28 20:46 '2015 Photos'
drwxr-xrwx+ 1 Andy         None                0 Sep 24  2017 '2016 Photos'
drwxr-xrwx+ 1 Andy         None                0 Apr 28  2018 '2017 Photos'
drwxr-xrwx+ 1 Andy         None                0 Jan  9 16:58 '2018 Photos'
drwxr-xrwx+ 1 Andy         None                0 Jan  9 16:48 '2019 Photos'

All the above are really owned by user “Andy”, and have been since 2007, but somewhere along the line, maybe in a Win10 upgrade, they’be been re-owned by the operating system.

This is now a problem when I back up using a shell-script in Cygwin because I was using rsync

rsync -avz "${SOURCE_ROOT}/${DIR}/" "${REMOTE_USER}@${REMOTE_ADDR}:\"${DEST_ROOT}/${DIR}\""

This used to work, but now it doesn’t because the -a flag to rsync includes the instruction to
copy file permissions. which

A little look in the manual reminds me that -a is a combination of other
flags (-rlptgoD), and that includes the -p flag meaning “copy file permissions”. So
my rsync command now looks like this:

rsync -rltovz

I did also find a way of seeing these strange owners in Windows, but it was quite hidden: Right click on the folder in question and click “Properties”, then look in the “Sharing” tab:

Who’s that “Unknown Contact”? I suspect that’s actually the GUID of the original “Andy” account.

Posted in Linux, System administration, Windows | Tagged , , | Comments Off on Cygwin and the unreadable files

A 3D printer diary – printing an accuracy test

We bought this printer in a sale. It was missing a few important parts, including the SD Card with software on it to control it from a laptop. Without that software, we would be limited to the four models that were already in the printer.

I wasn’t able to find the contents of the SD card, but I found some software online. The Dremel 3D printer website must have changed since the instructions were produced, because the software it referred to has vanished, and there was something else instead … which also requires a firmware upgrade.

Connecting the USB cable, the printer wasn’t recognised by my ancient laptop. I cheated and borrowed my wife’s laptop (newer version of Windows, newer hardware), in order to install the firmware. Once that was done, I re-installed the Dremel3D software on the ancient laptop, and it detected the printer OK.

3D printed brick

I imported a Lego-compatible brick (Thingiverse item 1729056), and printed it from the Digilab 3D slicer software, via the USB cable. Using “standard” resolution (0.2mm layer height, 25% infill, 220 degC), it took 18 minutes to make a 2×4 brick. The software estimated 0.88m of filament. The brick is mostly compatible with real LEGO, which suggests it is a remarkably good test for the accuracy of the printer.

Posted in 3D printer | Tagged , , | Comments Off on A 3D printer diary – printing an accuracy test

A 3D printer diary – the first print

After clearing some existing filament from the print head and adhering the build tape to the perspex build platform, I levelled the bed using a train ticket (which is approximately 0.3 mm thick according to my Vernier Gauge) instead of the (missing) levelling card (which is 0.3mm thick according to the instructions).

I couldn’t get my old laptop to connect to the printer. However, there are a few test models in the printer itself, including a die (singular of dice). It took about 21 minutes to print. Laptop for scale.

First Print on Dremel 3D20

Because the spool holder was also missing, I cheated a bit, and used a small spool-less length of PLA, sticking out the side of the machine.

Filament out the side

A successful first attempt.

Posted in 3D printer | Tagged , | Comments Off on A 3D printer diary – the first print

A 3D printer diary – Dad’s Visit

My Dad has been trying to persuade me to buy a 3D printer for several years. He has four at the moment, and has plenty of good advice, including a library full of things to print off Thingiverse.

When he heard we had bought a 3D printer, he donated a box full of sample filament (not on reels, but in clear bags). That should last a little while. Thanks Dad 🙂

Posted in 3D printer | Tagged , | Comments Off on A 3D printer diary – Dad’s Visit

A 3D printer diary – The Purchase

My son managed to blag an outrageous deal in a closing down sale, and we got an ex-display 3D printer for an outrageously cheap price. It’s the Dremel 3D20 (not the latest model) and it has a few parts missing:

  • the spool lock – the barrel thing that holds the filament spool. Pretty important for operation.
  • The SD card – which contains the software and some sample 3Drem files. Pretty important for operation.
  • The Levelling device – a piece of card 0.3mm thick. Pretty important too
  • The removal tool.

For the price we paid, I was prepared to give it a go, despite the above shortcomings. It can’t be that hard to fix a 3D printer.

Posted in 3D printer | Tagged , | Comments Off on A 3D printer diary – The Purchase