High Level Design

I designed the reel in Autodesk Inventor. This is a screenshot from the assembly:

And the exploded view:

The crank drives the smallest of a set of three gears, which is in-line with the spool body (the spool body and the crank turn together). The 3 gears constitute a 5:1 reduction driving the reciprocation shaft (reciprocation shaft turns once for every 5 turns of the spool). The reciprocation shaft has a shallow crossback thread, within which the idler pin rides. The thread makes 5 turns in each direction, so after 10 complete revolutions of the reciprocation shaft, the carriage has made one complete trip from one end to the other and back. This makes ~25 wraps per layer, which is very close to the nominal (the cable is roughly 4mm in diameter, and the spool's internal width is 96mm). The spool itself is sized so as to leave enough room for the total number of neat layers needed to store the cable plus a factor of safety.

The spool disassembles into a body and an end cap. The end cap has a small slot which allows the spool end of the cable to be passed through the bore of the spool and out the hole in the right housing. When setting up the Vive, the free end is pulled out of the spool until the desired length is reached, and then plugged in. The spool end can then be untucked from within the bore of the spool and plugged into the other lighthouse.

3D Printing Considerations

The entire spool, excepting the spool body and end cap, can be printed without supports. I achieved this by partitioning the design into a set of planar features with all extrusions starting from the build plate. All mating surfaces are toleranced to between 0.2-0.5mm of gap, so as to allow smooth sliding, rotating, and meshing. The crank handle is printed in TPU, whereas the rest of the parts are printed in PLA.

Reciprocation Shaft

By far the trickiest part of this design to print successfully was the reciprocation shaft. This part requires extremely high surface quality to guide the idler pin without binding. My first attempt at printing the part was on a stock Monoprice Select Mini, which had insufficient cooling to achieve the required surface quality on the overhung thread ways:

(Notice the many surface blemishes and defects.)

After switching over to my Anet A8 and upgrading the stock fan shroud to a custom ring manifold, I was able to get the extrusion product to cool fast enough to stop warping.

Idler Pin

The idler pin presented the next set of challenges. I had to determine the correct set of surface drafts, chamfers, and rounds to get the tooth to ride smoothly in the thread on the reciprocation shaft. I initially tried a simple wedge shape with no extra surface modifications. This proofed the concept, but it was far too sticky to put into the final implementation. I iterated several times, finally settling on a shape reminiscent of a rice grain:

(The good, the bad, and the ugly. Leftmost: this one was too fat, and got chewed up pretty badly by the reciprocation shaft when I was testing the mechanism. The circular plate at the bottom was also too large, so I had to use a screwdriver to pry it out of the carriage block, further ruining the part. Left center: This one was also too fat. I had a go at filing the surfaces down manually to get it to fit, and this got me pretty close to the final design. Right center: This one was too short. It wouldn't bridge the crossover points on the reciprocation shaft, and so would bind up and sometimes even derail or spontaneously switch directions while the mechanism operated. Right: This part was too long and too tall. I don't quite remember how that groove got melted into the top of the tooth, but I would suspect overzealous cranking *cranking intensifies*)

The rounds on the leading and trailing edge of the pin allow it to turn around at the bottom of the reciprocation shaft thread, and the drafted faces match the V-shape of the thread:

I highlighted the top edges of the thread and the profile at the largest point of the idler tooth so that the motivation for the shape is more apparent. Keep in mind that the entire outside surface of the tooth is drafted slightly, so the appearance of interference in the fit up is merely an artefact of this particular projection.

As you can probably visualize at this point, the idler travels along the shaft length as the reciprocation shaft rotates. Because the tooth is longer than the gap between subsequent thread segments at each crossing (between the left- and right-hand threads), the tooth remains on one or the other thread until it reaches the end. At this point, the idler bottoms out (as shown in the highlighted view above) and switches direction, rotating slightly inside of the carriage block to settle into the other-handed thread. This process repeats indefinitely as the shaft rotates.


The geartrain was another small source of headache. In my initial design, I went for a single-stage gearbox with a 26 tooth primary and a 19 tooth secondary, leading to a 1:1.4 advantage (!!!) from the crank to the reciprocation shaft:

This was less than ideal, resulting in a very loose wind that quickly filled the spool before the cable had been entirely wound up. I had not actually calculated the gearing ahead of time (YOLO?), so I had to go back to the drawing board. I did my due diligence on pen and paper and arrived at the 5:1 reduction (see explanation above). The only issue was that in the budgeted space, I could not fit a single-stage gearbox that implemented a 5:1 reduction. The solution was to add a pin on the gearbox cover to serve as a third axle for the idler gear in a new two-stage gearbox. Each stage is a 14 to 31 tooth gearing, resulting in an ~2.21:1 reduction per stage, for a total reduction of ~4.90:1 ~= 5:1.

(The two-stage gearbox. Note the extra pin in the gearbox cover to support the idler.)

Other Printer Issues

Besides the printer cooling power issues described above, I also had issues with printer square. Since I printed the final draft of the parts on my Anet A8, I had to be careful to calibrate the z-offset on both sides of the x-carriage. I printed the complete set of parts once without performing this calibration, and was sad to discover that all of the parts had a resulting skew:

(Slight, but just enough to cause problems.)

This skew stopped the parts from fitting together, so I had to calibrate the machine and print them again... *sigh*

All in all, I went through a number of iterations on all of the parts in the design:

Parts laid out:


Altogether, this project was really fun to work on and resulted in a very functional model. It fits into a set of parts I designed for the purpose of transporting my Vive around. I have an album of the other pieces in the set here. I have been using this spool in conjunction with the rest of the set continuously for over a year and a half, as I take my Vive various places to share VR with friends and family. The entire system including Vive, Razer Blade, and peripherals fits into my Patagonia Arbor 26L backpack.

A complete set of photos of the spool through assembly from parts, plus a few videos of operation, are in the album below.

Google Photos Album

Finally, and perhaps most importantly, I have posted the design files for this and the other Vive portability kit parts on Thingiverse.