Parametric 3D Printable Wheels And Treads

When it comes to robotic platforms, there is one constant problem: wheels. Wheels have infinite variety for every purpose imaginable, but if you buy a wheeled robotic chassis you have exactly one choice. Even if you go down to the local Horror Freight, there’s only about five or six different wheels available, all of which will quickly disintegrate.

To solve this problem, [Audrey] created OpenWheel, a system of parametric, 3D-printable wheels, tweels, tires, and tracks for robotics and more.

Like all good parametric 3D-printable designs, OpenWheel is written in OpenSCAD. These aren’t 3D designs; they’re code that compiles into printable objects, with variables to set the radius, thickness, diameter of the axle, bolt pattern, and everything else that goes into the shape of a wheel.

Included in this toolset are a mess of wheels and gears that can be assembled into a drivetrain. 3D-printable track that can be printed out of a flexible filament for something has been almost unobtanium until now: completely configurable 3D-printable tank treads. All we need now is a 3D-printable tank transmission, and we’ll finally have a complete hobby robotics chassis.

23 thoughts on “Parametric 3D Printable Wheels And Treads

  1. My favourite piece of software these days is Solvespace. I tried OpenSCAD and made a few parametric models but it takes way too much effort to model simple objects with this language. Solvespace with the constraint engine is a few steps ahead, we just need a friendly interface to let the user of the models enter numerical values for the parameters.

    1. Hello, i understand your point, but i prefer coding to clicking on stuff in a gui, i’m less at ease with a GUI for what i do.
      Plus, having to type in stuff forces me to think about my design more, rather than shape it by “feeling”.

      However, on the usability, the goal, once i reach a point where i fullfill all my goals, is to have a few files with extremely obvious variables on top of the file, where a non programmer can easily set the values he wants whereas everything else is computed automatically.

      Here, you would type the desired radius of the wheels, and the length of the track, and everything else is automatically calculated.

      It’s almost there, however some variables may be scattered all around.
      If one wants to adjust things, there are MANY other variables that can be set (how many “arms” on your wheel? the thickness of the wheel? how many screw holes around the central axle? do you want to have arms and screw hole starting at the same point, or shifted at an angle -used to have screws hole sitting exactly between two “arms” for instance-?, etc…)

      In the long run, i’d like to have a web interface generating the openscad script with your values; and since openscad can run in command-line, it will be easy to generate the stl files on the go to download it.

    1. Hello, thank you for your comment, first of all, i didn’t know the name of the part of the wheel you mentioned before your comment. So a spoke it is :)

      As for the shape, as of now, i made a simple module that is called by the wheel module. It is thus really easy to change the shape of the spokes.

      I plan on integrating multiple models for the user to chose from.
      However, i didn’t make any calculation on strength, i just tested it by hand, and i can neither bend, break or deform the weels as of now, so for me it was good enough :) )

      But i’d really like some input on this, as i know very little about those. I simply reproduced what i saw elsewhere.

      About the S shape, would it be to provide some “springiness”?
      I also thought of having each spoke being a double beam, with a small slit between the two.

      One important parameter is also looks. Indeed, i use those for teaching robots (https://hackaday.io/project/9900-rian-simple-and-easy-built-robot-for-education and https://hackaday.io/project/3959-rhasika-a-precise-and-compact-robot-base-rpi ), and i noticed that looks is important to have the students more interested.
      So i was looking towards car wheels designs.

  2. I searched but couldn’t find any file to download for test. I find the hackaday.io site layout confusing to say the least. Project looks nice, but without the source there’s not much to play with.

    1. yeah, the hackaday.io site is horrible to the point that I close it immediately if a link points there. It’s what i call a elevator site. you scroll the heck out of your mouse/pad/tablet for a few lines of words, HUGE buttons and a wasteland of space filling it all up.

      1. Nothing is perfect. Hackaday.io has a lot of good projects to see and the community is pretty incredible. Spend an hour with the site and you’ll get used to the few quirks it has, none of which really affect readability.

        1. I’m gonna disagree, Hackaday.io strongly feels like it was only designed to be pretty, but utterly fails at being functional at a even basic level.

          The irony is that most projects there are the exact opposite.

          Function before form, please.

  3. Mate of mine in the upper apartment is heavily into odd ball electronics &
    compiling lists of 3D print suppliers of enclosures with a patent method of
    adding copper & various indium films to industrial designed enclosures
    then downloaded into really cheap printers.

    The outcomes are surprisingly good, so I’m curious if anyone can add any links,
    info or materials processing aspects which allow conjunction ie 3D printed electronic
    “boxes” with inlays of conductive films, such as Copper, Indium, Nickel/Graphite & even Silver etc ?

  4. Hell, this is the author of the project here
    Thanks for featuring my project here :)
    I’ve made quite some progress on this, however, the code needs a bit of cleaning :)

    As of now, i have a functional drive train, and tyres can be printed out of ninjaflex or semiflex.
    Tracks can also be printed, but those needs adjustments : i’ll space the “cogs” of the threads a bit more,
    since now it’s a bit too tight (i had not taken into account the deformation of the track that makes the cogs closer
    when on the sprocket)

    I intend to make everything cleaner once i am satisfied enough with the tracks performances.
    I know my code should be clean from the start, but for some reason i have a hard time keeping everything
    tidy when doing openscad coding…

    I also printed the drive train, and i have to give it some testing and probably some tweaking
    (there is a gear connected to the motor, and this gear engages a similar gear behind the “wheel”.
    Those two gears may need a slight spacing from the perfect, trigonometric calculated position,
    to take the 3D printing tolerances into account)

    I’ll update the github right now so that people wanting to try have the latest versions.

  5. Ok, i updated the github with the latest code.
    There’s waaay too many useless files in there, but what’s important is the OpenWheel3.scad file, for those who want to try stuff ^^

  6. “Wheels have infinite variety for every purpose imaginable, but if you buy a wheeled robotic chassis you have exactly one choice. Even if you go down to the local Horror Freight, there’s only about five or six different wheels available, all of which will quickly disintegrate.”

    Standards are very useful. Disintegration wheels, not so much.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.