Introduction: The Spiral Lamp (a.k.a the Loxodrome Desk Lamp)

About: I am a hobbyist with an interest in open-source software, 3D printing, science and electronics. Please visit my store or Patreon page to help support my work!

The Spiral Lamp (a.k.a The Loxodrome Desk Lamp) is a project I began in 2015. It was inspired by Paul Nylander's Loxodrome Sconce. My original idea was for a motorized desk lamp that would project flowing swirls of light on the wall.

I designed and 3D printed a prototype in OpenSCAD for a maker exhibit. While the illumination was as fantastic as I had hoped, the mechanical bits were fragile, hard-to-build and simply didn't work very well.

Since then I have learned FreeCAD, a much more powerful tool, and I have redesigned the mechanical components. This Instructable presents a second-generation version that replaces most of insides with fully 3D printable parts. This update features interchangeable 3W LED modules, so you can swap out the LEDs for different colors; or; if you can wire it up with a full-color RGB LED module for more sophisticated lighting effects.

This Project is Open-Source:

This project was built entirely using Free and Open-Source Software and meets the definition of Open Source Hardware. The OpenSCAD and FreeCAD design files are provided for you to modify under the Creative Commons - Attribution - Share Alike

Additional Credits:

Step 1: The Central Core

The Achilles's heel of my original design was that the loxodrome sphere did not have a reliable mounting point. Initially I attempted to suspend it from a pivot point at the top and using magnets to rotate it at the base. This didn't work at all, so I tried a motor and a small gear, but since the loxodrome was hanging at the bottom, the gear would push it out of the way rather than turning it. The key challenge was to find a way to support and spin it from below, while still having a fixed central axis for anchoring the LED arm and the wiring.

The lamp featured in this Instructable has been re-engineered to use a co-axial central core. The motor at the base rotates a small gear which meshes with a larger central gear. The central gear wraps around a 608 roller skate bearing and snap fits into another part that transmits the rotation to the upper portion of the lamp. Through the middle of the bearing runs a fixed central tube for anchoring the LED support arm and for running the associated wiring.

Step 2: Printing and Assembling the Central Core

The central core consists of the following four 3D printed parts:

  • TopAssembly.stl (gray, previous picture)
  • GearCoreCenter.stl (red)
  • LoxodromeMountingAdaptor.stl (green)
  • DriveGear.stl (purple)

In addition to the printed parts, you will need one 603 roller skate bearing. You can find these inexpensively on eBay. Watch the video above to see how it is all put together. You may need to sand the central tube on the TopAssembly for a snug fit. Once the bearing is inserted in the GearCoreCenter, you should add some glue to the rim of the LoxodromeMountingAdapter and snap it into the GearCoreCenter. These two parts are meant to be securely attached and should not rotate.

I used Panef White Stick Lubricant with Silicone on all the moving parts.

General Printing Tips:

All parts in the central core are designed to be printed without support. The GearCoreCenter should be printed with the geared side flush on the print bed with the snaps facing up. The DriveGear should be printed with the gear sitting flush on the bed and the narrow shaft facing up. I found that setting the "Retraction Minimum Travel" to 2 mm in Cura 2 helped speed up the print considerably.

Printing Tips for the Top Assembly:

When printing in PLA using the default settings, the tube down the center of the TopAssembly was too brittle. Slowing down the print, increasing the wall thickness, flow rate and temperature gave me a sufficiently strong part.

These are the Cura 2 settings I used for slicing the TopAssembly:

  • Shell:
    • Wall Thickness: 2
  • Cooling:
    • Fan Speed: 50%
    • Regular Fan Speed: 30%
    • Max Fan Speed: 35%
  • Material:
    • Default Printing Temperature: 210
    • Printing Temperature: 210
    • Flow: 110%
    • Enable Retraction: False
  • Speed:
    • Print Speed: 40 mm/s
    • Wall Speed: 10 mm/s

Step 3: Crimping the Wires for the LED Arm

You will need to use a crimping tool to crimp wires onto a four-position DuPont connector using female pins. I built my lamp with four-position connectors so I would have enough wires for a RGB LED. If you are using a single color LED, two wires will suffice, but I prefer to double up on the wires for extra current carrying capacity. Thus, the LED arm has a slot large enough to fit a four-point DuPont connector.

You will need four sets of braided wire approximately a foot long, a crimp tool and a DuPont connectors kit. I used these:

The video demonstrates the crimping process.

Step 4: Assembling the LED Arm

Once you have built the wiring harness, feed the wires through the LED arm and push the DuPont connector into the slot. It is a tight fit. You may want to dab some glue onto the connector so it won't come loose in the future, but if you do so, use just a little and apply it to the the solid side of the connector and be careful not to let the glue get into the sockets.

Once the LED arm is assembled, you can feed it through the hole in the middle of the central core. The video demonstrates the process and shows me testing with various LED modules.

Printing tips for the LED arm:

The LED arm should be set on its side when printing. All surfaces are sloped such that supports should not be necessary.

Step 5: Assembling the LED Modules

The LED modules are made up of the following components:

  • A 3W LED "Star"
  • A bottle cap (as a heatsink)
  • A four-position DuPont connector with male pins
  • Short lengths of insulated, braided wire
  • Regular two-part epoxy for attaching the DuPont connector to the back of the bottle cap (I used JB Weld)
  • Two-Part Thermal Epoxy to attach the LED to the bottle cap (I used Arctic Alumina Thermal Adhesive)

You will want to use a soldering iron to attach short lengths of wire to the positive and negative pads of your LED star. If you have a single color LED, you could should double up on the wires, two for the positive and two for the negative. This allows you to run current through both wires in parallel and use up all the available wires in the LED arm. For an RGB LED, you will use one wire to interconnect all the anode (-) pads and the remaining three wires to connect to each of the cathode (+) pads.

I use bottle caps for the LED heat sink. I purchased these at my local brewing company, although you could attempt to reuse one from a beer bottle if it was totally unbent.

Unless you purchase "bare" bottle caps, you may need to use a hot air gun to soften and remove the rubber liner. Make sure you have a clean and perfectly flat surface of bare metal to attach your LED. Then, use thermal epoxy to attach the LED to the bottle caps, secure it with clips, and let it set overnight.

Step 6: Assembling the LED Modules

The next day, you will want to crimp on male DuPont connectors onto each of the four wires and push them into a four-connector housing. Then, mix up some of the regular two-part epoxy (not the thermal epoxy you used earlier) and attach the connector to the rear of the bottle cap. Once again, clip and allow to set overnight.

The figure shows a single color and a three-color RGB LED module after assembly.

Step 7: Wire Up the Motor

I used an 4W 120V AC TYD-50 type synchronous motor for the base. These motors are used in microwave turntables and can be found quite easily online. They are inexpensive, they run very quietly and are available in a range of different RPMs. I chose a slow 5-6 RPM unit to give my lamp a slow, steady turning action. The gearing in the lamp cuts this down by half, so my lamp turns at a soothing 2.5 to 3 RPMs.

I soldered on a cord salvaged from an appliance and insulated it with two layers of heat-shrink tubing. If you are not comfortable with line voltages in your lamp, you can also find 12V AC TYD-50 synchronous motors. You would then combine it with a wall wart transformer delivering a more maker-friendly 12V AC.

Step 8: Assemble the Base Plate

The motor can be screwed onto the base plate using M3 bolts.

My motor had a shaft with an outer diameter of 7mm. So I designed an plastic piece to allow it to mate with a 3D printed square profile axle. This is attached with a M3 bolt and nut.

This plastic piece has a wide tapered mouth and the axle is meant to slide freely in and out with little resistance. You need this later in the assembly as it will need to drop into place from above.

To keep the motor from overheating, stick some rubber feet on the bottom of the base plate. This will keep it away from the table and help with airflow.

Printing Tips:

All parts are designed to be printed without supports.

Step 9: Assemble the Lamp Body

The Base Plate can be attached to the body using M3 screws. There is no way to reach inside, so make sure all the wires are dangling out from the slot at the back of the base plate before you attach the two halves!

Printing Tips:

The lamp body has a gentle slope and can be printed without supports.

Step 10: Attach the Gear Assembly to the Lamp Body

The axle sits loosely into the hole in the gear assembly. If you simply try to put the gear assembly in from above the axle will likely fall inside the lamp.

You could use a dab of hot glue to hold the axle in place, but I chose to hold the gear assembly upside down and then lowered the body of the lamp (also upside down) over it. You need to axle to find the mating slot deep inside the lamp, the sloped sides of the mating part should help guide the axle into place.

At first, you will find the axle is too long. I did this on purpose so you could trim it down until everything fits together snugly.

Once the gear assembly is seated, plug in the motor and verify the gearing is rotating before securing the top with two small screws.

Step 11: Attach the Loxodrome

Feed the LED arm through the small hole at the base of the loxodrome and maneuver the loxodrome into position. It is a tight fit and there is little clearance between the rim of the loxodrome and the LED arm. However, do not use force, it should not be needed.

I had some difficulty getting the loxodrome past the bend at the base of the LED arm. I had to file down the edges of the LED arm a bit to make it narrow enough to pass, but I've adjusted the CAD file and STL so hopefully you will not need to do this.

Once the loxodrome is at the neck of the LED arm, it should snap onto the retaining tabs. The last step is to insert the LED module by sticking your fingers through the gaps in the loxodrome.

See the video for how this is done.

Printing Tips:

Print the Loxodrome at 100% infill, as you want the spiral arms to be as strong as possible.

You will definitely need support for this print and a lot of it. If you have a dual-extruder and soluble support, this is a great place to use it!

If you don't have a dual-extruder, fear not, as I was able to print this on a single extruder FDM printer. As the majority of the support will be inside the Loxodrome, it will need to be weak enough so that you can reach in with needle nose pliers, crush it and remove it piece by piece.

The default support in Cura is too strong for this. The trick I found was to use a grid support with a support density of zero. This causes Cura to only print thin single layer walls to support the spiral arms of the Loxodrome. These walls are relatively easy to crush and remove once the print is complete.

My original print was done in 2015 with an earlier version of Cura, but here are the settings for Cura 2 that appear to give the desired support pattern:

  • Generate Support: True
  • Support Placement: Everywhere
  • Support Pattern: Grid
  • Support Density: 0
  • Support Distance X/Y: 0.9
  • Support Distance Z: 0.15
  • Use Towers: False

During and after the print, the Loxodrome will look like a giant croissant. You will need to use needle nose pliers to tear away at the support until it is all gone. Poking at it with a sharp tool or crushing it will help break up the layers. Using thick gloves may be helpful for this, as the fragments may be sharp. Once all the support is removed, you can smooth out any rough spots using sandpaper.

Step 12: Powering the LED Module

To power the LED module, I recommend an adjustable current power supply. For a typical LED star, 300mA will provide adequate current. There are several 300mA LED drivers listed on eBay, or you can get a fully adjustable module such as the one shown in my video.

Another option is to purchase an variable voltage DC-to-DC buck converter and use those in conjunction with a 12v DC wall wart. You can then carefully turn up the voltage from zero until the correct amount of current, as measured by a multimeter, is flowing through the LED. Be aware that different color LEDs will need the power supply set at different voltages, so if you plan on exchanging LEDs, a constant current supply is a much better choice.

Once you have set the current on the LED, please only run it while attended. You want to watch it to make sure it is not getting hot enough to melt the plastic supports. If it is getting very hot, you will need to turn down the current.

Epilog Challenge 9

Runner Up in the
Epilog Challenge 9