MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now

Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

WE-R2.4 Six-Axis Robot Arm

by LoboCNC Jan 4, 2019
Download All Files

Thing Apps Enabled

Please Login to Comment

Hi LoboCNC,

Got a couple more questions I'm hoping you can answer. Does your MPlab program for the PIC18F25K50 chip rewrite the LED functions of the chip? I felt like I had everything right on programming with the PicKit4 using MPlab "Make and Program Device" function appeared to work correctly. When I connected everything together, I did not get any lights on my Tic500 and I was unable to figure out how to make the TicStepTest utility connect to the board and drive the motor. The USB-TTL adapter you suggested worked great and connects as COM4 so I chose that option, but I am not sure how to make the module and address stuff work to connect to the motor. I only connected RX and TX wires from the USB-TTL adapter to the board along with power supply and motor connections..... Am I doing something obviously wrong?


Hey, great project! Is it possible to control the arm with Tic boards over Arudino?

Yes, the Tic controller boards with my custom firmware can be controlled from any standard TTL level (5v signals) serial port, although you'd have to generate the software for driving the arm.

Working on ChiliPeppr workspace for this robot arm. Making progress...

Very cool! Where's the best place to get basic information on exactly what Chilipeppr is and how and why you'd use it?

Here's a walkthrough video of how ChiliPeppr is used to control CNC machines. The idea is that this robot arm will run Gcode as well and thus you can just extend ChiliPeppr to send that Gcode to the robot arm instead of just to a plain old CNC machine.


ChiliPeppr is an open source environment to create front-ends in the web browser for hardware machine control.

Even the Arduino web development environment uses the ChiliPeppr Serial Port JSON Server (SPJS) becase it's so rad, which is the app you run on your desktop/raspberry pi to talk to serial ports and expose them via a websocket to the browser. I don't think we'll need Serial Port JSON Server for this project since I think I can have the ChiliPeppr Robot Arm workspace talk direct over websockets to the 6 ESP32's I'm builiding into the robot arm, but for now SPJS is helpful because it lets you send TCP and UDP packets from the browser to the ESP32's and back.

The other video to watch is what Cayenn is, which is a protocol I created as part of ChiliPeppr to talk to ESP8266's or ESP32's from Gcode in a distributed way. https://www.youtube.com/watch?v=SlHhcErWCDQ

This is the technique I'm looking to use to write Gcode that then gets uploaded to each ESP32 and then run in coordinated, yet distributed, fashion.

Again, amazing work! Thanks for the video.

hello, I'm designing a 3d printer for a job from my college, I'm thinking of putting a 3-color diamond hotend! I wonder if in the actuator it would withstand the force of the extruder by pushing the filament to the hotend without the actuator losing the alignment, and spoiling the quality of the 3d impression, or even being imperfect or faulty. summarizing, will the actuator support the kinetic force of the filament that is forced on the hotend without there being any misalignment in the actuator that will be attached to the hotend? thank you very much...

I'm new to 3-D printing and have very little experience with robotics, but I am going to give this a go one step at a time. First I'd like to just try building one of the large actuators and playing around with programming it on my computer with the TIC controller. I'm hoping this might get me spinning some motors and seeing how everything works before I have to get too deep into firmware modifications and custom software. Any advise anyone can provide on my journey would be greatly appreciated. I've ordered a TIC controller, NEMA 17 motor, and can pick up the screws and wires local. Can you please recommend a power supply and/or share the make and model of the one you are using in this design? What else am I missing to get started?

Good decision to tackle this project incrementally, especially if you don't have much experience. As for the power supply, I am using a generic 75w, 19v laptop supply. These are insanely cheap (<$10) and pretty widely available.

Hoping you can answer a question for me. How did you connect the Tic T500 to the computer and have it recognized as a COM port to be tested with the TicStepTest program? I thought wiring a USB cable into the serial connection ports would do it, but it is not showing as connected to the computer when I do it that way.


The TicStepTest program I wrote is only for use with the custom firmware I also wrote for the Tic T500. If you are using the stock Tic T500 firmware, you need to use Pololu's test software found here: https://www.pololu.com/product/3135/resources

Using my custom firmware is quite a bit more involved and requires you to re-flash the PIC18F25K50 microcontroller using a PicKit 4 programming tool from Microchip.

Okay Thanks! I have already been playing around with the Pololu software. I thought I might be able to play around with your program without the new firmware while I waited for the PicKit tool to show up. I ordered the PicKit4 tool a few days ago so I should get that in the mail any day. I'm hoping I'll be able to follow your instructions and the online manuals for the PicKit4 to get the firmware installed. From there, if I connect my spliced USB cable into the serial TX, RX, Ground, and V-out pins on the Tic T500, will it show up as a COM port on my computer?

Just curious, is there any other software that would allow me to write and run motor programs?


You can't really just use a spliced USB cable and connect to the RX, TX and GND -- USB and standard asynchronous serial TTL are completely different beasts. Also, any software for driving motors would have to be written explicitly for what ever controller boards you are using as there is no standard for motor commands (outside of controller boards that run a g-code interpreter). You could check the Pololu forums to see what other software might be available for talking to their standard Tic controllers.

Sorry if I’m being dense. I suppose the more direct question would be, how are you connecting your tic to the computer once you’ve reprogrammed the microchip?

Oh, sorry, I forgot to mention how you actually do connect. You need to get a USB to serial TTL converter like this one:https://www.ebay.com/itm/6-Pin-USB-2-0-to-TTL-UART-Module-Serial-Converter-CH340G-Module-STC-5V-3-3V/223171155058?epid=19007644191&hash=item33f6099472:g:vuIAAOSwFzZbsoN6 There are a bunch of different versions using different converter chips, but you want one that will operate with 5v RX and TX signals.

Hi LoboCNC,

Again, I greatly appreciate your responses.

Is there any reason it would not work to just program 1 tic and run one motor using your TicStepTest program? I just wanted to make sure I could do everything on one before I went further.


Yes, definitely - start by reprogramming just one TicTep and then play around with the TicStepTest program. It is a very general program that can deal anywhere from 1 to 10 axes.

Well.... I think I just cooked my pickit4. Thought I had everything hooked up right, but when I powered on it flickered, turned off, and stunk like burnt electronics. I thought Pickit pin 1 goes to RST pin on Tic500, pin 4 to PGD, pin 5 to PGC, Pin 2 to the power supply, and Pin 3 to ground, but it fried when I turned it on. I'm guessing I pin 2 was supposed to be the power supply for the chip? Doh!


Ouch! Yeah, you have to be pretty careful in hooking up the programmer. Pin 2 is an output power pin that you can optionally use to power the Tic board from PICKit4 (the power comes from your USB port). Hooking this up to a separate power supply will definitely fry things. Also, you do not want to connect pin 2 (Vdd) to the Tic board at all if the Tic board is powered separately. Just for reprogramming, I sometimes have the Tic board powered by the PICKit4, but don't try to run a motor this way! In any case, make sure to follow the PICKit4 documentation very carefully.

I just want to give a big shout out to microchip.com. I emailed them and told them that I screwed up and wired it wrong. I asked if they sold the microchips on the board so that I might replace the one I burnt or if they could repair it, and they just responded with an email saying a new one was on its way. Unfortunately, I had already bought a replacement, but I still really appreciate the service.

I've been trying to get one of the small motor's from Moon's to run off the Pololu software, but I keep getting safe start violations on my Tic500. I've tried a lot of different current limits and speeds to no avail. Any pointers you have for getting the Moon's motors to run?


Nevermind... not sure what was up but I took it apart and ran it without the planetary gear attached and it worked fine. Usually when there was too much force, the motor would try to go so I really don't know..


Cool project! would it be possible to get the editable CAD files? I would like to explore the design a little bit and also adapt the base of the arm to my already existing inspection platform.


The CAD file are posted in STEP format in the file WE-2.4.STEP.ZIP.

Comments deleted.

I have an idea-why printing entire arms? U can use very cheap(1m long 110mm diameter=about 1-2$) and tough(comparision to printed parts) hydraulic PCV pipes for straight part of arm. This will save a lot of printing time and filament. I think u can use PCV 90' "knee" for joints body too, just fit gears and motors inside. PCV pipes are cheap, common, tough and standardized by dimensions.

Sounds like an interesting design challenge! My gut feeling is that it won't save that much printing and would end up being bulkier, but I'd be happy to be proven wrong.

I can try, but now i have a big project on desk for next weeks(or months-will see). You are right, this can be a bit heavy with pcv pipes as body.
I don't have slicer here(i am at work now :P ), but i think we can save about 50% filament and printing time without straight parts of arm(50% of printing time/filament for these parts, not for entire machine).

I tried to make this arm and had made the largest actuator and it works well, but I found it is hard to assemble the shoulder plate or the upper arm to the ring of the actuator, because of the toleration of length of screws, if it is too long it will conflict with the planet gears, if it is too short it can not touch the thread in the nuts. Did I do something wrong or you have the same problem?

I designed the mating parts so that standard length imperial screws would just grab the nuts but not protrude into the gearbox. Are you using 3/8" long 6-32 screws?

The imperial screws and nuts are not common used here so I modify the nut and screw used in the largest actuator to M5, the screws I am using is 10mm long, I cut it a little it can work, but I still think is it better to make the plate in the actuator more thicker, then it will have more tolerance, but that has to modify a lot of other parts and not sure is it a solution?

Rather than just making plates thicker, what I really need to do is make a metric version for (the rest of the world) that uses common metric screw lengths.

Wow, that is very good. I love this design, thank you very much! I think I have to take a month to build this arm.

What gauge wire do you think you need for the motor power wiring? I'm running all steppers at 24V so that doesn't need very high gauge, I think, since the stepper driver does the chopping. The NEMA 17's need more power than the micro steppers, so I assume I could even reduce gauge from joint to joint. Thoughts?

I ran 24g wire for power. My controllers located at the joints and am driving nominal 3 or 5v motor with 24v, so the current draw is pretty low. Also, with the bigger motors towards the base, most of the current is dropped over shorter lengths of wire. I'm running a 4-wire bus and I'd love to use this cabling (https://www.digikey.com/product-detail/en/alpha-wire/78072-SL005/78072SL005-ND/4988193) which has a jacket diameter of only 0.162". The 2-wire version is only 0.112". Dropping down to 26g (0.102") or 28g (0.094") would save you a tiny bit more, which I'd only do if it was really necessary.

Can I convert the robot arm to a 3D printer? Tolerance doesn’t matter for me!

You could, but it would be a ton of work and it probably wouldn't work very well.

Jeff, my video of your robot arm is going viral on Youtube right now. Wow. I didn't realize how much excitement there would be for a quickie video I whipped up on a Saturady, although, then again, I love your design too. https://www.youtube.com/watch?v=tEbJV32GyYU

The video is excellent. I hope you do more as build progresses as I am very interested in making this arm.

It's an excellent video - thanks for doing it. Would you mind me adding a link to it in the main Thing description? Very interesting about it going viral. I guess you never know what will pique people's interest.

I would love for you to add the link. Yes.

Hi, can the custom firmware support record-replay? Move the arm to record, then replay those movements.

With open-loop stepper motors (no encoders) there is no way to tell where you have moved the arm to record the position. Also, the compound planetary gearboxes are not really backdrivable, so you can't really move the arm around by hand, anyway. What' I'd like to do is put on a 6-axis force sensor to allow you to guide the arm around by hand with the motors actively driven - that'd be the best way to implement record & replay.

hola cuando estará completado este proyecto para poder descargarlo?

You can download the parts now and print them. On a project like this, there will always be some changes with improvements to various parts, but what is posted now is certainly functional.

Full video walkthrough of my assembly of the actuators and robot arm.

Excellent video! I'm amazed that you've gotten so far on this project so quickly, especially with your renegade nut mishap. I'll look forward to seeing what you do with for your controller.

Well, your design and description is really slick. I ordered all of the screws and stepper motors based on your specs so it helped that I perfectly mimicked your parts list. I've definitely leaned on the CAD design in Fusion 360 as well to figure out how to put all of it together as well (would still love the latest update of the CAD though. I tried your newest files you said you posted, but there was nothing different in there.) I have been running my printer non-stop for about 10 days to get to this point.

I am writing code right now for my ESP32's which I'm going to put in each joint. Each ESP32 will receive Gcode from ChiliPeppr via Wifi so I will be able to just run 2 wires to each joint for 24v power. I'm pretty excited for how that can come together. A typical chunk of Gcode would look like: "G1 F200 X2000 Y3000 Z500 A234 B111 C222 D300" where XYZ are base, shoulder, elbow. ABC are the wrists. D is the gripper. The units are in steps, not degrees. The feedrate is in steps/s. You would train the Gcode by a joystick I'd attach to each joint talking direct to the ESP32. Then you're training it like a UR3 but of course from a joystick rather than pressure sensing on the joint. The step values are sent back to ChiliPeppr on-the-fly as you train and then ChiliPeppr records the position for each axis to create the trained location.

It's all theory until put into practice, but your design is awesome and it's something I've wanted to do for a long time but never had the time to do the CAD design for.

Comments deleted.

How to start the system, please provide wiring diagram for connections, write how to control the robot.
Your movie is very good.

Comments deleted.

Got an actuator and arm going with a hall effect sensor as potential endstop. https://www.youtube.com/watch?v=yCEXC0kEk3Y

I want to know how the previous limb of the arm is connected next arm for the movement of the robotic arm
there is no clue how the motor is going to work or attached

If you look at my Robot Actuators thing (https://www.thingiverse.com/thing:3293562) you will find more details on assembling the motors to the gearheads.

Robot Actuators
by LoboCNC

When You make your full manual, could you aslo add a price-range to see how much 1 of them costs? Because I see some real possible production assembly libes with this, not heavy industry but imagine a 3D-printer assembly line, just the nuts and bolts part of the frame could get you some pre-mounted frames over-night, all you need to do is add the electronics and the wiring, and sell your 3D-printers or anything else that could be repeated indefinitely

Yes, I'll definitely add cost estimates.

This is an awesome project. I'll be following with keen interest. :)


I have started primt this project, but, i am beginner in electronic, do you have a forum for this project?

Unfortunately, there is no forum for this project yet. Regarding the electronics, I've written up documentation on the modified firmware used for the Tic T500 boards, but the hardest part is actually getting my modified firmware flashed onto the board. You could try contacting Pololu and ask them if it is possible to buy the board with my firmware pre-flashed onto the board. I've talked to them about doing this and they didn't seem interested, but if enough people inquired, they might change their minds.

I am building this arm now. Several parts to print still.

On the electronics side of things.. I designed a very small pcb (more or less the size of a DRV8825 Pololu board basically) that carries a pretty high frequency 8-bit D-type shift register, as well as pin headers for the Pololu DRV8825. The 8 bits are step, dir, enable, m0-2, and 2 LED's (cause why not, I have 8 bits and was only using 6!) Each motor gets a shift register & drv. I'm going to daisy chain them together so that the control board just has to shift out one byte per motor (using the SPI of Teensy) and then toggle the latch pin on the bus.

From my quick math it should be really easy to get >20kHz step rate or more. It just needs 3 control lines: data, clock, and latch. One more wire than tx/rx, but still pretty manageable. Boards will be here in a week, I'll let you know how then turn out.

Just bought all the steppers. About $60 from onlinestepper for the 3 NEMA 17's with shipping. About $80 for the 4 small 35PM048S8-08001 from Moon's. Adds up but excited to get this going. Given that the small steppers don't have flat shafts, how are you attaching those to the plastic? I haven't printed those parts yet.

For the small motors, I used a 3mm drill bit to clean up the bore on the gear and then secured it with a drop of superglue. You have to be very careful, though, not to get any glue in the shaft bushing.

I just printed the base. Looking good. Nice work on this Jeff. I attached a photo of my print with the NEMA 17 stepper mounted.

How do you do all the axes homing, do you have any idea?

The plan for homing is to run each joint up against a hard-stop joint limit. However, some of the details of the hard-stops are still listed in the "Stuff Still to Do...." section.

Comments deleted.

Hi! I was wondering what the estimated total cost is for the robot... also, is it compatible with Mac OS X?

Overall, this project will end up costing $300-$400. The rough breakdown is: motors ~$10 ea, controller boards $20 ea, PIC programmer $50, filament ~$25, misc hardware ~$25, shipping and all those other little things ~$50.

The only software that currently exist for running this robot is my very rudimentary TicStepTest program which only runs under Windows, so you'd need to be able to boot into Windows OS on your Mac. I'd love to see someone implement control of this robot using ROS, but that's beyond me at the moment.

Thanks for the reply! Unfortunately, no Mac support is a huge drawback for me :(

Amazing work, not just visually, but mechanically as well. Thanks for sharing!
I have a few questions:
How much is the payload and repeatability?
Have you heard about the Mechaduino nema17 stepper driver? It has a magnetic encoder and motor current sensing, so you can have torque control; with these you will be able to build a collaborative robot arm, which means you can program gravity/friction compensation, teach mode, collision detection etc.

As for the payload, the shoulder and elbow joints are good for about a pound at full extension. Right now, the wrist joints Are the limiting factor as the little 35mm steppers barely overcome the startup friction of 3D printed gearhead. When the gripper is extended, the first wrist joint (J4) and only lift about 1/2 lb. The tricky part is getting the 40p gears printed cleanly enough for both low-friction and low-backlash. I'm using a 0.35mm nozzle, but I really need to try reprinting with a 0.25mm nozzle. I'm tempted to get SLS versions of the wrist actuators printed, but that takes this out of the realm of a DIY hobby project.

As for repeatability, I haven't measured this with any accuracy yet. However, unidirectional repeatability (approaching a point from the same direction each time) is maybe about a millimeter, and less so for multidirectional repeatability (even with a gravity bias on the joints.)

Hey, thanks!. Yes, I am familiar with the Mechaduino (I've got a couple floating around). I'm definitely a big fan of closed-loop stepper control, but there are a couple of reasons I didn't go that route: I needed something to use with the smaller 35mm tin-can wrist motors that don't have a good backshaft for the encoder magnet, the board is a little bigger than I'd like, I would have had to do a lot of modification to the code to support coordinated motion and 4-wire bus communications, and they are a little more expensive than I'd like for a hobby project.. The bigger thing, though is that the 3D printed compound planetary are non-backdrivable which makes many of the features you mention extremely difficult to implement effectively. (I've used to have a company selling force-controlled robots many many years ago.) For a more serious robot development, though, I'd definitely go to the extra effort of closed-loop control.

Hi LoboCNC, I would love to make a build with closed-loop control for more precise movements than open loop. I have more experience on the software side of robotics and less with hardware. So I have a few questions on modifying the structure of this design.

  1. First off, in your opinion, how much would the "extra effort" to convert this project to using closed-loop control be in terms of structure/motors?

  2. Do you have any recommendations for motors for closed-loop control that would work best with this design with little modification to the structure of the arm? Possibly swapping out the 35mm tin-can wrist motors for more expensive ones with feedback?

  3. You mention that "3D printed compound planetary are non-backdrivable". Is this design by choice? If so, why? And, if I wanted to modify the actuator to allow for backdriveablitiy, do you have any recommendations on doing so?

Good questions:

  1. Mechanically, I don't think it would be too much effort if you used something like the Mechaduino controllers mentioned above. THe bigger issue is cabling. You really only want to run a single cable with as few wires as possible up the arm.

  2. The Mechduino controllers work well with NEMA 17's, so no change there. On the wrist joints, you could use a flat NEMA 14 like this one: https://www.omc-stepperonline.com/nema-14-stepper-motor/round-nema-14-bipolar-09deg-5ncm-708ozin-05a-85v-%CF%8636x12mm-4-wires-14hr05-0504s.html

  3. In theory, the compound planetary gearheads should be backdrivable, but given the high ratio and the relative imprecision of 3D printed gears, you'll probably break teeth before you could make it backdrive. I'd love to have a more backdrivable gearhead, but that's a tall order with 3D printed gears in a small package.

Thank you for the quick response! I will be sure to let you know how the project goes.

Thanks for the detailed answers!
Having a force-controlled robot company sounds awesome, can you share more info about the robots you used to sell?
I'm planning to build a 7axis(4 torque controlled stepper + 3 torque controlled smart servo) open source 3d printable robot arm based on the Barret WAM arm, I planning to use timing belts and differential cable drives, hopefully with this design i can have a fully torque controlled collaborative arm. I have no experience in building robot arms, so what do you think, is this a good direction?

The company was Zebra Robotics, and back in the early 90's I sold a handful of force controlled robots to mostly university and corporate research labs. The arm had a 6-axis wrist force sensor and I used a novel stiffness model approach where I mapped desired forces into deflections of the actuators. Here's a link to an ancient video I did: https://youtu.be/7dl0U3rq9Ss

Regarding your proposed project, designing a robot arm is tricky enough, but designing one for low-level torque control is even more ambitious because you need a full dynamic model of the arm, very low friction actuators and a low-mass arm. A simpler approach is to use a 6-axis force sensor, although this doesn't help you detecting collisions at, say, the elbow.

Thanks for sharing the video, awesome robot arm and demonstration, this tech is pretty advanced even with today's standards.
If I have the time, I'll make the robot arm without the force sensing capabilities, then I'll start figuring out how to add the torque sensors.
Thanks for the advice!

I will be grateful for your help in flashing.

Another option that occurred to me regarding re-flashing the firmware, you could try contacting Pololu and ask them if it is possible to buy the board with my firmware pre-flashed onto the board. I've talked to them about doing this and they didn't seem interested, but if enough people inquired, they might change their minds.

Here's a video that might help you get started with reflashing the Tic T500: https://www.youtube.com/watch?v=81ho9Y28dXI. Note you'll also need to refer to my firmware modification PDF file to see where to connect up the pins PGC, PGD, Vcc, GND and Reset.

Thank you very much for the movie.
I still have a question - is Vcc, it means Vin or 5V (outside)? Mark on the Tica board.

When connecting the PICKIT 4 to the Tic T500 board, you should connect the PICKIT's Vdd to the Tic's +5v (out) pin, and the PICKIT's Vpp to the Tic's RST pin. Also connect GND to GND, PGD to PGD and PGC to PGC.

Thanks for the tips.
Now I will know and I will not make a mistake.

After reading your pdf, I have a question about addressing.
Can you write to me punt after point as you approach the addressing of individual points.
I mean, how should the host and other modules be set up. Can you send me an example
print scren settings. I think I can have a problem here, that's why I'm asking. (how to set up the host, and set other modules)?

When I get a little more time, I can work on a tutorial setting up the host serial port, programming and configuring the modules, etc..

In that case, I will wait patiently for your toturial, I hope you will find moments in the near future.

Thank you for your response.
I have looked through the files and I have to say that the biggest difficulty for me is loading the tic firmware.
Are you able to write a short instruction for this fragment, how to do it step by step (eg connecting wires, which file to upload?), Or screenshots?

Yes, having to re-flash the microcontroller is unfortunate. Firstly, you will need a PIC programmer - probably the PICKIT 4 (https://www.digikey.com/product-detail/en/microchip-technology/PG164140/PG164140-ND/8536593) is the cheapest and easiest option. Microchip (who makes the PIC processors) has a bunch of video tutorial - I'll have to look around and see if I can find one most closely applicable.

Thanks LoboCnc,
I will post a picture when I build this.

Hi, I would also like to participate. Please post the STEP file.

Can you publish an electrical connection, diagram?

Here's a link to a shared Google Drive folder with documentation on the modified Tic T500 controller boards, and also the firmware source code and Windows test utility program. The PDF file in there includes connection information. Let me know if you have any questions.


This is a very nice design.
I would also like to participate. Please post the STEP file.

Any chances getting anything more then just STLs? I would love to participate.

Sure! I'd be thrilled to have any help or input on this project. I'm using Solidworks 2011, so I could post those files or I could post STEP files - which would work for you?

STEP will do. I work with Fusion 360 (Solidworks was out of reach financially =) Usually it is good with importing whole assembly thing from Solidworks.

A step file of the entire assembly has been posted. I welcome the shared enthusiasm!

This is incredibly cool.

Have you thought about an approach based on Trinamic drivers-- since they have programmable current per phase and stall detection, so you can detect when you lose steps and also detect when you have reached endstops for homing?

Thanks for your comments! Yes, stall detection would be pretty handy, but the Tic controllers had the right form factor and I had the ability to reprogram them with code to support coordinated motion with distributed controllers.

About the Gripper
What about using a Linear Actuator and a cable (like a bicycle brake caliper)?
In my opinion that would get the noisy stuff off the arm and also might be stronger then any motor you could put on the arm.
Running the cable might be a problem though...
All in all it seems like a well done project, Good Work

A brake caliper gripper sounds like a good idea, although the cable sheaths are really stiff. I could see this working for a particular application but it might be a bit cumbersome for general use.

There are "ceramic bike cables" https://www.vertebr.ae/, maybe 3D printed shell will be elastic and stiff enough ?Just drooping an idea...