Recycling a trolley with code

So I have to relocate to Australia and my small, beaten trolley (as in 3 out of 4 wheels left) will not cut it. What options do I have?

  1. Go to the mall and buy?: High prices for big trolleys.
  2. Browse a second hand website.

Trolleys seem to be relatively scarce at that time… until one comes up on the listing FOR FREE but with a broken handle mechanism, sigh.

FINE, challenge accepted, I’ll fix that.

Unmount the thing

After a quick examination, an inner piece of the handle bar seems broken, after a small 2 screw disassembly, I try to make a poor substitute by bending a spare IKEA piece of metal, unfruitfully:

internal trolley mechanism with a metal bend improvised attempt at fixing it

Focusing on the underlying problem a broken plastic piece:

handle bar plastic piece

So, can I skip the assignment with a bit of… what do I have around me? Err… Kapton tape?

handle fix attempt kapton

No, today is no day for “and there I fixed it” type of hacks it seems:

handle bar kapton broken again

At this point I decide to just create my first 3d printed part ever with null hobby-level CAD design skills nor experience.

I only have an old ruler and my computer. Will I be able to fix this?

Measure the part and write some code

I recommend keeping your screen split in two, one half with this fantastic OpenSCAD cheatsheet and the other half with my favourite code editor:


This is a titan bags ( custom part replacement. This piece goes inside the
"telescopic" handle bar after removing two screws. The mechanism is brittle and breaks with repeated
pressure to the main button, leading to an "always locked" position of the telescopic bars.

I've printed this part successfully with PETG 3D printing material via



// Helper function to make the main part round around the edges
module cube_round_edges(size, radius)
x = size[0]-radius/2;
y = size[1]-radius/2;

        cube(size=[x,y,size[2]], center=true);
        cylinder(r=radius, center=true);
        // Using a sphere is possible, but will kill performance

// Main bar which pushes (unlocks) the trolley mechanism
translate([0,0,3]) {
    difference() {
        cube_round_edges([126, 11, 5], 1);
        // Holes where the screws go
        translate ([35,0,0]) cylinder(h=7, r=4.5, center=true);
        translate ([-35,0,0]) cylinder(h=7, r=4.5, center=true);


// Push button with pineapple logo carved
difference() {
    // Center ellipse/button
    resize([35, 15]) cylinder(h=16.5, r=7.5);

    translate ([10,-7,13]) {
        linear_extrude(height = 7, center = false, convexity = 10){
            rotate([0,0,90]) resize([14, 0], auto=true) {

I use the detached OpenSCAD viewer with the external editor option and a VSCode-OpenSCAD plugin for the syntax highlighting.

OpenSCAD renders

And voilĂ , without knowing how to click around any of the fancy CAD programs out there and in less than 50 lines (comment block included), I have my part ready to show off and print, with a personalized .dxf screaming pineapple logo from another project:

openscad render

Now, I have no 3D printer to print this part. Solution? I just do a OpenSCAD-> Export as .stl and next tools I need are:

  1. A web browser.
  2. A credit card.

3DPaaS: 3D Printing as a Service

There’s plenty out there, I was in a hurry and went for 3d_hubs:

3d_hubs is your go-to service for ordering custom 3D printed and CNC machined parts online. Upload your files to get instant quotes from local service providers.

Then the following piece showed on my mail shortly after. I went for 100% infill to make the piece robust and PETG plastic:

resulting piece

If you like what you saw, just join on your local hacker/maker space and repurpose other seemingly useless junk into something great ;)

For instance, if you happen to live in Melbourne and are keen to learn about how I did this and much more such as CNC milling, lasers, plenty of 3D printers, robots, drones, tools, etc… come visit us at the “Connected Communities Hacker Space” (CCHS)

Happy hacking!

Bonus: securing the junkyard supply

I really wish websites still used RSS nowadays, but luckily there are bridge services like feed43 which still keep the good flames alive. With a pretty simple “Global Search Pattern” on that site pointing to freecycle:

<br /> {%}<br />
<a href='{%}'>{%}</a>{*}
<br /> <p class='textCenter'>{*}
<a href='{%}'>{*}

One can fetch interesting reusable items and IFTTT it away on on twitter as they happen.

That way, anyone can contribute on some of the recycling and fixing (common sense?) described here.

If all of the above fails, just bring it to St Kilda Repair cafe ;)