Arachne eSpinner
Print Profile(0)
Description
Model by @thunderbird_37724
Update 24Dec25: Arachne 2.0 is here!
A friend asked me if I could make her an eSpinner. Sure, I said. Whats an eSpinner?
I have some cheap reversible DC motor controllers on order that should reduce the cost and complexity of this model by an order of magnitude, but I can't enter a contest with my hopes and dreams, so this is a version built with what I have on-hand. As-built this is a complex project; it involves not just printing and assembly, but either building the code for the controller or uploading the precompiled blob, soldering a protoboard from a list of pin to pin connections, and crimping DuPont ends onto wires to make the cables. The revised version should be complete and tested by next week and the total cost should be under $50 and require no soldering or programming.
This is Arachne, possibly the universes only free and open source eSpinner, designed from the initial concept to be 3D printable. If you have a half a roll of PETG, some old 3D printer parts, screws, and electronic bits and bobs laying around you can probably make it for under $50, and if you could buy each piece that you needed by itself it would be well under $100. Unfortunately, most of the listings I found for the parts are for really ludicrous quantities i.e. you have to buy like a hundred hooks to get the two or so that you need, and it is pretty tough to buy 3" of wire. If you have to buy the entire BOM you will end up with enough extra bearings, screws, and electronic bits left over to fill your spare room with extra bobbins waist deep and still give all your friends an Arachne Starter Kit so they can make one for under $50.
Vitamins (non-printed parts):
1 Display
1 Motor
320mm Poly Drive Belt
Metric Screw Assortment
2 5-pin double row DuPont-type pin headers
~75 mm (3") 8-conductor 22-gauge wire
~75 mm (3") 16 or 18-gauge 2-conductor wire.
~300 mm (12") of cotton twine
a bit of sandpaper, a couple square inches of 180 or so grit, just to remove burrs and printing flash.
a couple small pieces of VHB
Optional
8 M4 x 12 Thumbscrews // Really, you need two for the hooks. I used these pretty much everywhere I used M4 x 12. Makes breakdown and reassembly faster, if that is not a concern then use socket head.
The above listed screw assortment contains all the necessary hardware, but if you have some on hand (or would rather self-source):
4 M4 x 20 Socket Head Cap Screws
6 M4 x 12 Socket Head Cap Screws
6 M4 x 6 Socket Head Cap Screws
4 M3 x 6 Socket Head Cap Screws
4 M3 x 12 Socket Head Cap Screws
4 M3 Nuts
To make the jumper wires:
11 Female DuPont crimp pins
1 5-pin right-angle pin header
1 5-pin single row female DuPont connector
1 6-pin single row female DuPont connector
2 small female spade terminals and something to crimp or solder them to the wire
2 2.54 mm 16 to 20 pin breadboard socket (for the ESP32)
or just skip all of these bits and solder the ESP32 and the wire directly to the protoboard, the motor controller, and the motor.
These are not affiliate links or endorsements for these particular brands, just either the actual parts that I used or as close as I could find online (mostly the jungle website). Almost all the links include far more of the item than you will actually need, some searching or local acquisition at hardware / hobby / electronics stores may allow the purchase of more reasonable quantities. The only thing you may have to be careful of is the dimensions of the square nuts; there are several sizes extant, the ones I linked include the dimensions and are the same as the ones I used.
Printing
All the printed parts are provided in assemblies in the appropriate orientations, print one of each. To make extra bobbins just reprint the bobbin assembly.
PLA should be fine for everything, with the possible exception of the flyer. All the prototypes were printed in PETG with no issues during testing. The entire model should consume about 500g of plastic, and each additional bobbin uses about 70g.
The only parts under significant stress are the flyer arms and body, so spend your plastic here; a bit more on the body and less on the arms. About 5 outer layers and 20% isotropic (gyroid or cubic) infill, but don't get too crazy, rotating mass isn't great.
Using a finer layer height on the threaded parts can help if they aren't turning smoothly, but I did all my testing at either 0.20 or 0.32 and had no problems.
For the included belt joiner: I printed the original prototype out of PLA and it was good for one joining, though I still didn't know what I was doing and had the belt too hot. A second iteration in PETG lasted longer as I improved my technique. A third version printed in ABS has joined many belts and shows no sign of melting.
Assembly
Riser Assembly:
Press a M4 square nut into the rectangular recess on the Brake Screw Retainer (the rectangular piece with the big screw hole in it).
Screw the Brake Tension Screw into the Brake Tension Screw retainer, leaving about 15 mm (5/8") thread exposed. It should turn easily, but not so easily it feels loose or sloppy. If it is not smooth, a bit of sandpaper or a ScotchBrite pad can help clean it up.
Pass your brake band through the slot in the end of the Brake Tension Screw and tie it around one side.
The side of the Brake Screw Assembly with the square nut in it is the top, looking downward on it you should see 45 degree angles on both sides. Slide it into the matching recess at the rear of the Stand.
Turn the Brake Tension Screw about four full turns, wrapping the Brake Line around the threads. Tie a spring to the other side. Set the Stand Assembly aside.
Screw one M4 x 12 screw into the Brake Spring Retainer (the angled screw hole on the opposite side of the Baseplate to the Motor Mount). Do not screw it all the way in yet, a couple turns is enough.
Press four M3 nuts into the hex recesses on the Baseplate and attach the Motor Mount with four M3 x 6 screws.
Press four M4 square nuts into the rectangular recesses at the bottom of the Risers. There are holes on both sides of the Risers opposite each other, the correct holes are the larger ones. The smaller ones are for pressing the nuts back out, if necessary.
Attach the Risers to the Baseplate with four M4 x 12 screws. The Riser with the larger cutout on top goes over the Motor Mount, the one with the smaller cutout goes near the Brake Retainer Screw.
Attach the Motor to the Motor Mount with six M4 x 6 screws.
Attach the pulley to the Motor with the included grub screws. Make sure that one of the grub screws is against the flat of the Motor shaft.
Grab the Stand Assembly you set aside earlier and pass the Brake Tension Spring through the hole in the rear of the Baseplate (next to the Brake Spring Retainer Screw) and pull the brake band through.
Set the Baseplate in the Stand, The Motor sits in the rectangular cutout.
Attach the Baseplate to the Brake Tension Screw Assembly with one M4 x 12 screw.
Hook the eyelet of the Brake Tension Spring over the Brake Tension Retaining Screw and tighten the Brake Tension Retaining Screw enough to capture the spring. You should have enough slack in the Brake Band to pass it over the Rear Riser. If you do not have enough, unscrew the Brake Band Tension Screw.
Using your bit of sandpaper wrapped around your finger (for the Front Riser) or the Linear Motion Rod (for the Rear Riser) remove any burrs from the rounded edges at the tops of the risers. These tolerances are pretty tight, and a small bit of extra plastic here can cause very annoying ticking or scraping on every rotation of the flyer.
Set the Riser Assembly aside. Eat some gummy bears if you have them, if not, I have been told cake will be provided at the conclusion of testing.
Flyer Assembly:
Gently press (and by gently press I mean pound in with a hammer) the Linear Motion Rod into the hole on the Flyer Body. It is intentionally a very tight fit. Tap it in until the sound changes, you will hear it bottom out.
Press two M4 square nuts into the recesses at the end of each Flyer Arm.
Press the Flyer Arms into the recesses in the Flyer Body. The fit is intentionally snug, just push. It fits.
Attach the Flyer Arms to the Flyer Body with four M4 x 20 screws.
Using your bit of sandpaper, remove any burr or seam from the Bearing Spacers (the small rings). You don't have to go nuts, just remove the high spot.
With the orifice sitting on the table thread side up, place a Bearing Spacer, the 6804 Bearing, and the other Bearing Spacer.
Screw the Orifice Assembly into the threaded hole in the Flyer Body.
Screw a Cup Hook into the small holes in the top of the Hook bodies.
Press one M4 square nut into each of the recesses in the Hook Bodies.
Screw an M4 thumbscrew into the hole at the bottom of the Hook Bodies. Stop before it enters the large cutout in the center.
Slide the Hook Body Assemblies onto the Flyer Arms and tighten the thumbscrews (a bit. These are plastic parts, not the cylinder head on a '68 Buick).
Set the Flyer Assembly aside.
Bobbin Assembly:
Press a 608 bearing into the Front Bobbin Flange (the smaller one with the internal threads).
Screw the Rear Bobbin Flange into the Front Bobbin Flange.
Press the Bobbin Bearing Spacer into the end of the Bobbin Assembly, pointy end first.
Press a 608 into the end of the Bobbin Assembly on top of the Spacer you just inserted.
Screw the Rear Bobbin Bearing Retainer into the Bobbin Assembly.
Main Body Assembly:
Retrieve the Flyer Assembly and slide the Bobbin Assembly onto it with the recessed side going toward the Flyer Body and the pulley for the Brake Band away from the Flyer Body.
Place a 608 bearing on the end of the Linear Motion Rod.
Set the combined Flyer / Bobbin Assembly into the Riser Assembly, Orifice / 6804 Bearing side over the motor.
Give it a spin. The Bobbin and the Flyer should spin freely, independently, and quietly. If it does not, see the Troubleshooting Section.
Pass the Brake Band over the Brake Band Pulley and tighten the Brake Band Tension Screw just enough to take up slack.
Display Assembly:
Pull the knob off the Display (if it is on there).
Take a moment to appreciate all the engineering that went into the design of the Nubbin
Put the Nubbin into the hole in the Display Knob (or the Knob will contact the Display Cover and not be able to click)
Attach the two EXP cables to the Display
Set the Display in the Display Stand, carefully routing the EXP cables out the back.
Place the Display Cover on the Display
Secure with four M3 x 12 Screws
Carefully place the Knob onto the Display Encoder Shaft, taking care not to lose the Nubbin.
Though it may be difficult, try not to get attached to the Display Assembly, it is only a placeholder and will be replaced in the near future with an updated model that contains the entire controller PCB assembly.
Set the Display Assembly aside
Controller Assembly:
Build the Electronics Assembly using the included arachne_wiring.txt file. I am so sorry. I am working hard to get a finished PCB built and testedand it isn't that bad, just jumpers on a solderable protoboard (or bits of wire and some solder directly to the pins).
Plug the ESP32 into the sockets on the protoboard or skip to the next step if you soldered it.
Attach the Display Assembly cables to the two 5-pin double row headers (EXP1 & EXP2)
Use the instructions in the included arachne_code.zip file to install the precompiled blob or use the included source code to build it yourself with VS Code and PlatformIO.
Verify that the display shows the menu.
Attach the jumpers to the Motor Driver board or skip to the next step if you soldered it.
Attach the 18-gauge wire to the Motor Driver board and the Motor.
Attach the power supply to the Motor Driver. The one I linked includes a screw terminal jack, though I have not used it seems to get OK reviews. A future version of the Display Assembly will include a hole for a panel mount jack (though in this 5.5 x 2.1 size, so this power supply should continue to work.)
Verify that the Motor spins when you enable it in the menu.
Belt:
Cut a piece of poly belt material about 320 mm (12 5/8"), or a bit longer. It is easier to trim a bit off than add a bit in (though you can do this too, with practice)
Ensure that the Brake Band is in place at the rear of the bobbin to prevent Flyer Assembly flinging incidents.
Stretch the poly band around the Motor Pulley and the Flyer Pulley. It should touch with a bit of slack; you will lose a bit of length when you join it. If you aren't certain about the length for your first belt, aim for too loose, it is easy enough to cut a bit out and rejoin it.
Prepare your preferred belt joining method. If you are using the included belt joining jig, have it ready close by. If you have them, a spring clamp or two will hold the jig together tightly while you wait for the belt to cool, otherwise you can just hold it together manually for the few seconds it takes.
Heat the ends of the belt. I tried a dozen different methods to heat the belt, but I found the best is a heat gun. Do whatever works for you, just get the ends hot enough to melt without blackening them.
In one motion, put the ends of the belt into the joiner and press them together. There should be a small bit of squeeze out if you have the belt hot enough, but not so much that the jig will not close.
Put the top on the jig and clamp / hold it for a minute or so.
Remove the now joined belt. If it breaks coming out of the jig you did not get a good joint, just try again.
Clean up the belt, if necessary, tear / cut / sand away any flash/ lumps / ugly bits.
Stretch it over the pulleys.
Initial Testing:
Power up the controller. Enable the motor. Switch directions. Reduce power, then increase it.
If any of these actions fail refer to the Troubleshooting section.
Usage:
You are on your own here, I don't know how to spin, but I guess now I have no excuse not to learn. :D
Troubleshooting:
I will update this section as soon as I am able to create more interesting failures. It won't be long
Scraping noise when the flyer spins: Deburr the Riser Saddles and / or Bearing Spacers with a bit of 180 grit sandpaper.
No Power: If you are powering the ESP32 from the motor driver 5V output verify 5V at the L298N output and ESP32 5V pin. If no 5V at the L298N, verify 12V in. If powering the ESP32 from a USB cable, verify 5V at the 5V pin on the ESP32.
Motor seems slow or loud: Belt too tight. Lengthen the belt (or just make a new, slightly longer one).
Motor spins but Flyer does not rotate: Belt too loose. Cut a bit out and rejoin (or make a new, slightly shorter one).
Motor does not spin or does not work in one direction: Verify 3.3V at the L298N ENA, IN1, and IN2 pins. For Z at 100% you should see 3.3V at ENA and IN1. For 100% in S, 3.3V at ENA and IN2. If not present, verify at output of ESP32.
Motor spins in opposite of expected direction: Reverse spade terminals at motor or OUT1 and OUT2 at L298N.










Comment & Rating (0)