Sawppy the Rover

Motorized model of Mars rovers Curiosity, Mars 2020

Similar projects worth following
Sawppy is a motorized model whose layout and proportion mimics that of Mars rovers Curiosity and Mars 2020. It faithfully reproduces the suspension kinematics of real rovers and is intended to be a hardware platform for future software projects in autonomous operation. Go forth and boldly explore the back yard, Sawppy!

Sawppy the Rover was inspired by JPL's Open Source Rover project. Most of the differences between Sawppy and its JPL inspiration were motivated by a desire to reduce cost and complexity. JPL's rover is designed for education, to be assembled by a school team and give a robust foundation for structured curriculum. Sawppy is more suited for individual hobbyists like myself who are happy to tinker and willing to make some trade-offs to lower cost.

The budget was $500, and getting there required the following changes:

These two major design goals can be summarized as: Servo Actuated Wheels, Printed Interconnect For Extrusion. The acronym SAWPIFE led to the nickname "Sawppy".

See the "Links" section for pointers to additional information:

  • Live Onshape CAD file: This is where I'm tweaking and building Sawppy in full public view. Be warned the live file has upsides (latest ideas!) and downsides (latest idea doesn't work!)
  • Github: This is where the assembly instructions currently live. It also has a snapshot of Sawppy components in STL file format. These parts may lag behind the live CAD data, but they have been printed, installed, and proven to work on my rover.
  • Build Blog: The history of Sawppy, including stories of design goals and lessons learned from failures.

It's been a few months since I declared Sawppy version 1.0 (mechanical foundation) complete and it's very exciting for me to see people build on top of what I've released to the world!

  • Bob Krause (Inventor Studios): A few of Sawppy's parameters were changed for this variant. Instead of just manually editing individual numbers, Bob & crew put in the work to make Sawppy more configurable. Updates to specific parameters are automatically propagated to affected parts. See comments section for Bob's description.
  • Quinn Morley Mars Drill: This project explores the idea of robots drilling for water on Mars. A scaled-up variant of Sawppy serves as the initial testbed mobile drilling platform.
  • Daniel Perron's Wood Beam Variant: When I designed Sawppy, I didn't know how easy or hard it would be to procure parts outside the United States. According to Daniel, the Misumi extrusions are really expensive in Canada. But he is resourceful with experience in woodworking, giving us a delightful variant.

  • 3 × 1 kg spool of 3D printer filament Exact amount of filament used will depend on slicer settings, see "Instructions" section.
  • 10 × LewanSoul LX-16A Serial Bus Servo Design also can be adapted to use Dynamixel AX-12A or Herkulex DRS-0101
  • 3 × Box of 100 M3 * 8mm hex bolts Fastening 3D-printed components to aluminum extrusions
  • 3 × Box of 100 M3 hex nuts Fastening 3D-printed components to aluminum extrusions
  • 3 × Box of 100 M3 washers (< 10mm diameter) Fastening 3D-printed components to aluminum extrusions. Design can accommodate up to 10mm diameter washers, larger washers will require modifying CAD file.

View all 16 components

  • Sawppy Post-Faire Cleanup

    Roger12/04/2018 at 00:54 0 comments

    When I work on Sawppy, I test and run indoors. At DTLA Maker Faire Sawppy ran all over, both indoors and out. Most of the time people were playing with Sawppy on a piece of artificial turf at Maguire Gardens. This is an outdoor space where people would walk their dogs, raising obvious sanitation concerns running Sawppy on my home carpet after the event.

    Well, after a long day of work, who doesn’t enjoy kicking off their shoes and soaking their feet? I could give Sawppy the same royal treatment. All six wheels were removed and soaked in a tub filled with a mixture of water and household bleach. A retired toothbrush was used to scrub off dirt particles clinging to the wheel. Hopefully this removed most of the contaminants Sawppy might have picked up during the event.

    It was also a good time to perform an inspection to see how Sawppy held up mechanically. In addition to the set screw mentioned yesterday, a few chassis mounting screws have fallen out and need to be replaced. I designed plenty of redundancy in these mounts so there was little risk of Sawppy falling apart.

    After a few hours of soaking, the wheels were hung up to dry like old socks. What has six rover wheels but is not a rover? This laundry rack.

    (Cross-posted to

  • Sawppy at DTLA Mini Maker Faire

    Roger12/03/2018 at 04:50 0 comments

    Yesterday Sawppy went on an adventure to the downtown Los Angeles Mini Maker Faire. There Sawppy found a receptive and appreciative audience. There were a lot of enchanted kids, interested parents, and other makers who might be building their own Sawppy rovers.

    The morning started out with Sawppy sitting on a table alongside a few different builds of JPL open source rover. Eric’s build is on the left in black and white, Santa Susana High School build is on the right with purple printed parts.

    Taking Sawppy around and talking to individuals about Sawppy was a lot of fun and something I’ve done in other contexts before. I have hopes for a few of the contacts to develop into something cool for Sawppy’s future. What’s new this time was that I also signed up to give a short 15-minute presentation about Sawppy and that took more work and preparation. Thanks to the 2-minute “lightning talk” opportunities at Hackaday LA the past few months I’m less nervous about public speaking than I used to be, but I still got pretty stressed about it. I’m sure it’s a matter of practice and the more I can take advantage of such opportunities the better I’ll get.

    Outside of the presentation, Sawppy and I spent most of our time on the astroturf across the walkway from the officially assigned display area. It was a hilly part of the park which meant there were no tables or booths set up there, and it was a good place to demonstrate rover suspension in action. I had a spare phone set up to be Sawppy control and handed the control to anyone who wanted to pilot Sawppy for a bit.

    Most were content to run around the turf. Some of the little ones tried to run Sawppy into their siblings. A few ran into the bushes beyond the turf for a more rugged demonstration of Sawppy chassis. A perpetual favorite is to have Sawppy climb over shoes.

    Thanks to refinements to improve robustness over the past few months, Sawppy came out of the experience with only a slightly wobbly left rear wheel that was easily repaired by tightening the set screw on the left rear steering servo coupler. A great improvement over earlier outings!

    (Cross-posted to

  • Sawppy Will Be At DTLA Mini Maker Faire

    Roger11/26/2018 at 19:45 0 comments

    The Downtown Los Angeles (DTLA) Mini Maker Faire, hosted at the Los Angeles Public Library central location, is coming up this weekend and my rover Sawppy will be among the many maker projects at the event.

    Sawppy will be one of several rovers present. JPL’s Open Source Rover team should be there with their original build, SGVHAK will be there with the beta build rover I contributed to, which inspired my Sawppy and they’ll all be hanging out together.

    The JPL team will also be giving a brief presentation in the KLOS Children’s Theater upstairs about their rover project, followed by an even briefer presentation by me on building Sawppy. Both of these talks are listed on the workshop schedule though (as far as I know) there is no hands-on workshop activity planned. Sawppy will be present and running for people to see up close, but no assembly (and certainly no disassembly!) is planned. I may bring an extra corner steering unit for people to play with, and they’ll be welcome to take that apart and put it back together, but not much beyond that.

    (Cross-posted to

  • Sawppy Sees Brief Internet Fame

    Roger11/20/2018 at 19:05 0 comments

    A few days ago I noticed a sudden spike in internet traffic to Sawppy – page views on my personal blog, Sawppy’s project page, the Github repo, and YouTube video all rose dramatically. It took a little digging around various statistics reporting pages to figure out where the interest was coming from. Answer: someone had submitted Sawppy to Hacker News giving Sawppy a brief taste of internet fame.

    Given the general attention span of the internet at large, the traffic disappeared just as quickly as it came. But in that brief moment in time, a few thousand people spared a few seconds (or more) of their lives to look over Sawppy and that’s more than what I had before.

    And this bit of exposure might lead to other interesting projects down the line. It seems to have caught the eye of someone with interest in the Pi Wars robot competition. Sawppy’s current configuration is indeed controlled by a Raspberry Pi, but according to contest rules Sawppy is too big to fit as-is. I’m not sure a six-wheeled rocker-bogie suspension would be useful for any contest objectives (challenges) in Pi Wars. But it would absolutely make my day if I see one of the competitors downscale Sawppy to fit in the size envelope, thereby creating a “Sawppy Jr.”

    (Cross-posted to

  • Daniel Perron's Sawppy

    Roger08/10/2018 at 19:55 1 comment

    I saw that had an article on JPL Open Source Rover. In the comments section, there was a comment by Daniel Perron (who had also commented on this project page) mentioning Sawppy. I think Daniel should have a project page for his own Sawppy but I haven't seen one under his account

    Which is a shame, because his rover is making good progress and his work totally deserves attention. So I'm going to draw attention to his build on my Sawppy page here.

    Here's a scaled-down copy of the image he linked from his comment. From this picture I can see a few changes from my design. The biggest change is in the structural beams. Daniel is using something other than the Misumi 3-series 15mm extrusion that I used. I'm curious to see how well these beams work. Their uninterrupted square profile should make Daniel's Sawppy more rigid than mine, and more rigidity is always good.

    And here's his YouTube clip showing his travel motor turning a wheel under control of his own servo control code.

    I'm super excited to see another Sawppy taking form. Your rover looks great, Daniel! Great job and I look forward to seeing your future progress.

  • Path to Sawppy is Paved with Plastic

    Roger07/17/2018 at 19:42 0 comments

    The behind-the-scenes path of Sawppy's design and fabrication was told one small (~300 words) story at a time on the build blog, and the storytelling has finally caught up to Sawppy's current version 1.0 status. Now that Sawppy is running around, I'm going to put a pause on hardware iteration for a while and focus on software.

    To celebrate this milestone, here's a group picture of Sawppy, plus all earlier iterations of 3D-printed components, with empty spools representing filament consumed.

  • Serial Bus Servo Overview

    Roger07/06/2018 at 19:37 0 comments

    As part of researching into how I can build Sawppy, I evaluated several serial bus servos. This information is useful for all kinds of projects, not just motorized Mars rover models, so an overview has been shared to the entire community.

  • Mechanical Assembly Instructions Posted

    Roger06/17/2018 at 18:57 0 comments

    The mechanical assembly instructions have been posted!

    For visual reference, the guide has all the pictures I took while I reassembled my rover with parts printed in PETG.

  • Moving Build Instructions to Github

    Roger06/14/2018 at 21:00 0 comments

    While continuing to add to Sawppy build instructions, I seemed to have run into some kind of limit on the infrastructure. As I continued to add pictures to later assembly steps, the pictures from earlier steps started disappearing!

    I can recover them, I'll just have to retrieve the originals from my camera's memory card and redo all the photo cropping and resizing. But with this loss of data I'm moving Sawppy build instructions elsewhere. I like the format of but their platform spinoff starts at $20/mo and that's more than I can justify for this hobby project. I'll keep looking for other alternatives.

    In the short term, I'll put instructions on It's a bit of a square peg in a round hole but I have more confidence pictures won't surprisingly disappear from my Github repository.

  • Instructions Being Posted

    Roger06/04/2018 at 02:55 0 comments

    Now that I'm satisfied with the rough draft printed in PLA plastic, I'm printing a final draft in more durable PETG plastic. And also printing slower for better accuracy and detail. As these PETG parts come off the printer, I'll take pictures to illustrate assembly instructions. 

    Keep an eye on the "Instructions" section of this project page, it will grow over the next few days/weeks.

View all 13 project logs

  • 1
    New Home for Sawppy Build Instructions

    After a loss of data event for instructions posted to, Sawppy the Rover's build instructions are now hosted on Github.

View all instructions

Enjoy this project?



Bob wrote 11/29/2018 at 18:16 point

Roger, this is an exceptional project. 

I've been following developments since your first post announcing Sawppy back in May. We ordered the components soon after, though didn’t start printing the parts from the public OnShape design until about a month or so ago. The printing and assembly processes were very straight-forward with only a few mild surprises.

The aspect of this project that caught our attention is how we’ve been able to bring into our lab off the shelf raw materials like uncut lengths of extruded aluminum beams, nuts and bolts from McMaster-Carr, FDM filament, and very straight-forward drivetrain components and control systems to construct a functional bot of this scale.

I'm a life-long techie. We've taught 3D design classes and camps in East Bay schools, and been working in our garage-based 3D design lab for about 5 years. And yet, we've learned so many tips, tricks, geometries, and processes from this project.

The community that's developed around our lab is composed primarily of teenagers who design and race drones, hack scooter and skateboards, and design useful objects that they sell on eBay to earn what they need for the 5 to 10 projects they have going on at any given time. Many of these kids are also involved with FIRST robotics competitions, FTC and FRC. So when they saw the Sawppy rover come together, they didn't see a Curiosity model as much as a set of design toolkit on which to base their next generation competitive robots.

So... We've begun evolving a copy of the OnShape Sawppy design document. So far, all the changes we've made in our version is backward compatible with yours. Our focus at this point is to increase the configurability of the design, as you can see in the list of changes we’ve made so far that’s included below. 

* Wheel width can be changed
 - Wheel width changeable
 - Steerable knuckle width varies with wheel width
 - Fixed knuckle width varies with wheel width
* Wheel rim and tire can be printed as separate parts of a dual-extrusion printer job
* Beam width & height can be changed
 - All 3D printed components that accept beams varies based on beam dimensions
* LX-16A brackets now accept heat-sets so that servos are held more tightly

* The geometry of the LX-16A bracket changed. 
 - The orientation of the servo is rotated 180 degrees to fit narrow knuckles and narrow tires.

The area we’re focusing on next is support for drive-train and control systems that will move the bot much (much) faster than the LX-16A servos currently allow. The first step in that direction is to design in FTC-compatible (First Technical Challenge) components, which we have an almost endless supply of parts laying around the lab. Driving a bogie suspended robot around on rough terrian at high speeds will likely require adding shock dampeners to the suspension. 

Our longer-term aspiration is to create a more flexible robot design tool that allows designers to create robots with different dimensions, drive-trains, suspensions, control systems, and accessories.

We’ve made our copy of the OnShape document public. It’s named SawppyRover.neobobkrause. You can link to it here…

We would like all changes made to your design to be shared and merged so that there continues to be a single design used by all, if you're open to that.

Roger, thanks once again for all the work you put into this design and for documenting the design and releasing it to the community. It’s awesome.

- Bob Krause

Inventor Studios

Berkeley, CA

  Are you sure? yes | no

Roger wrote 11/29/2018 at 19:46 point

Wow, Bob, this is fantastic! I love the changes made to make Sawppy parameters more configurable. I'm open to the idea of having one integrated CAD file, but I just spent 15 minutes on Onshape documentation & forums and failed to find a way to merge changes made in a copy back to the master. (A "pull request" in Git parlance.) I'd love pointers to documentation to do so if you know of any.

In the meantime, I'll add links to your variant's Onshape CAD file. Have you guys documented your project on or elsewhere? I could add links to that, too.

I was just in the SF Bay area last week, I should have stopped by Inventor Studios. Oh well, maybe another time.

  Are you sure? yes | no

Bob wrote 11/29/2018 at 20:05 point

OnShape is a useful tool, though it's still just a shadow of its big brother Solidworks. OnShape has the capability to merge forked versions within a single document, though not across two documents, even if one document started out as a copy of the other. 

The good news is that I made a copy of your original document on 10/2/18. It appears that you haven't modified your version since 9/17/18. So if you're comfortable with the changes we've made, we could just use our version as the master version going forward.

From this point on, you could make a copy of my document that you would own, then control edit permissions for designers who you approve (like us). Then you and I and any other approved designers will make changes to this single document. The checkin process each team would go through would involve merging its changes with any other changes that have been checked in.


  Are you sure? yes | no

Bob wrote 11/29/2018 at 20:43 point

Here are some shots of some wheels and knuckles we've printed that are narrower (65mm). One wheel has a TPU tire on a PLA rim. The other rim was printed using transparent PETG. The third photo shows the narrow fixed knuckle from the inside. Also note that the orientation of the servo has been rotated 180 degrees.

(Can images be added in comments?)

  Are you sure? yes | no

Bob wrote 10/09/2018 at 14:44 point

Is there any firmware for the rover? Even an incomplete codebase would be valuable and allow builders to evolve the code forward.

  Are you sure? yes | no

Roger wrote 10/10/2018 at 00:55 point

I'm working towards making Sawppy work with the open source Robot Operating System. As an interim solution, my rover is running the code I wrote for SGVHAK Rover but configured to send commands to Sawppy's LewanSoul serial bus servos.

  Are you sure? yes | no

Bob wrote 10/10/2018 at 01:15 point

Roger that. ;-) 

I'm still printing. And given everything else on our plates, may be for awhile. We'll first print your reference design and get it running with the LewanSoul servos. But we're really here to explore how a modified rover architecture would handle itself in the FIRST Robotics ring. Yes, that would involve looking at rigidity, drive train, firmware, scalability, configurability, durability, stability, and 5 other flavors of 'ability. But have you seen Erector Set pieces and decade-old electronics most commonly used on FTC bots?

Thanks for putting your design out for all to explore. You've done a terrific job. It's exciting to have the OnShape geometry available to configure. As somebody coming at this as a 3D'er, we really like it when we have full control of the geometry to configure based on our needs.

  Are you sure? yes | no

Quinn Morley wrote 09/15/2018 at 15:42 point

Roger, how much scale-ability do you think there is to be had by merely changing the length of the aluminum extrusion and changing the wheel diameter? I want to create one approximately the same size as Curiosity to use as a testbed. 

  Are you sure? yes | no

Roger wrote 09/17/2018 at 20:06 point

Sawppy is approximately 1/4 scale of Curiosity. When scaling up, the first limitation will be the servo motors I used. I tried them with a 1/3 scale wheel and they struggled to climb modest obstacles, so an actual-size rover will need more powerful motors. I haven't experimented beyond 1/3 scale so I don't know for sure what else will be problematic, but here are my guesses: 

(1) 15mm extrusion beams start twisting along their axis. Possible solution: use larger extrusion beam profiles like 60mm or alternate structural members.

(2) 3D printed connectors deform under load. Possible solution: print with very rigid materials like carbon fiber infused nylon.

(3) 8mm steel drive and steering shafts start bending. Possible solution: larger diameter shafts and corresponding larger bearings.

Personally my 1/4 scale rover already takes up too much space at home and barely fits in my car's seat for transport. I admire your goal of going full size, that's huge! (I mean that both as a compliment and literally.) Whether you end up using my Sawppy design or not, please document your project online. I'd love to watch as it progresses.

  Are you sure? yes | no

Quinn Morley wrote 09/18/2018 at 07:29 point

Great answer. I'll think about the wheels and wheel motors. Your plastic parts may work if we scale them up for 60mm extrusion, they should have a much higher stiffness. Different motors, shaft diameters etc would be the biggest obstacle. I'll post the project when I get started. I really appreciate your feedback and love your design! Thanks again.

  Are you sure? yes | no

Dongwon Lee wrote 09/14/2018 at 06:09 point

Hello. Thank you for nice 3D modeling of Mars Rover. I started to print out each parts. I'm considering electric configuration. First of all is power. How much power will be need per 1 servo?. I will use 5200mAh 2S 30C battery..  the other thing is motor/control balance. 10 servo+ 1 controller  or 5 servo + 1 controller at each left/right side .. which one is better?

  Are you sure? yes | no

Roger wrote 09/17/2018 at 19:38 point

Your battery will be more than adaquate. The LewanSoul LX-16A servo I used drew a little over 1A when stalled at maximum effort. In the worst case (and hopefully very unlikely) scenario with all ten servos stalled, that's over 10A. Let's say 15A to be conservative. A 5200mAh 30C battery can withstand peak draw of 5.2A * 30 = 156A, so your battery can provide peak power over ten times what's needed.

  Are you sure? yes | no

Roger wrote 09/17/2018 at 19:42 point

All the motor control power management circuit is built in to the LewanSoul LX-16A servo so each motor has their own controller. The LewanSoul "debug board" controller is primarily a serial communications translator so a single one will be fine for the entire servo network.

  Are you sure? yes | no

todbot wrote 07/09/2018 at 22:15 point

Hi Roger,  it was great chatting with you at the SGVHAK BBQ. We talked a bit about traction add-ons for Sawppy's wheels.  I'm sure you've already considered this, but I've always admired the O-rings on the original Big Trak as a cheap & repairable solution. I found these 4" diameter ones on McMaster that are 50 for $12.

  Are you sure? yes | no

Roger wrote 07/12/2018 at 23:56 point

That's a nice and inexpensive venue to explore. I'll start brainstorming what kind of rover wheel I could build with these rings. Thanks for the pointer!

  Are you sure? yes | no

Daniel Perron wrote 06/05/2018 at 11:23 point

I love what you did and  I start to made my own  with my 3D printer. All the wheel are done using PETG and I'm doing the  boogie wheel right now. I'm missing the aluminium extrusion dimension but I will use wood stick cut from my bench saw instead.  I still missing a lot of 3D printer parts so I suppose that the dimension will show itself when I put all pieces together.  I did create a python3 class object for the LX16A.  I will refine that class to add the missing catch exception handler.    

  Are you sure? yes | no

Roger wrote 06/05/2018 at 17:20 point

Thanks for letting me know you're building one. It's very encouraging to hear! As you've noticed it's still a work in progress with incomplete information, but I'm happy to expedite filling in information holes on request. Since you would like aluminum extrusion dimensions, I've filled in the "Components" section with extrusion beams and their lengths. Let me know if you need anything else.

  Are you sure? yes | no

Daniel Perron wrote 06/16/2018 at 02:34 point

I start to learn little by little onshape.  I did change your servo coupler. I'm using 12mm M3 flat head hex screw and I change the length of  the servo coupler  to 8mm instead of 10mm. This way I could use the 12mm screw to attach the  coupler  with the provided adapter to the LX16A motor. I also grind a part of the wheel to be able to  tight the lock screw of the wheel using allen key.

  Are you sure? yes | no

Roger wrote 06/17/2018 at 19:10 point

Great work! Have you considered creating a page for your Sawppy build? I'd love to see you detail your modifications. Why you made them, and how well they worked. Together we will keep improving the design in the spirit of open source!

  Are you sure? yes | no

terence.d.healy wrote 05/17/2018 at 15:18 point

Excellent rover and very nice work.  I'm very interested to hear how you are using the servo motors rather than gear motors with encoders. Can you tell us about the software a bit? Do you use ROS - if so, what computing hardware? 

  Are you sure? yes | no

Roger wrote 05/17/2018 at 16:29 point

I do have ambition to put ROS on Sawppy and give it some autonomy, but for now I'm still working on the chassis hardware. At the moment Sawppy's brain is a bare-bones piece of software that allows simple tele-operation and runs on a Raspberry Pi. (Translation: right now it's just a very expensive remote control car.) Code is up on Github, search for "SGVHAK Rover"

  Are you sure? yes | no

John Whitten wrote 05/16/2018 at 19:21 point

Awesome. I am both intrigued and jealous. I applaud your good efforts and eagerly await your next developments. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates