Sawppy the Rover

Motorized model of Mars rovers Curiosity, Mars 2020 For Under $500

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.

Sawppy V1 Schematic.png

Bare bones Sawppy version 1 schematic

Portable Network Graphics (PNG) - 192.78 kB - 03/13/2019 at 06:14


  • 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 17 components

  • Sawppy at Caltech Science for March 2019

    Roger2 days ago 0 comments

    Today Sawppy joined the fun at Science for March 2019, organized by the Caltech Postdoc Association. Since Sawppy didn’t exist yet during 2018’s event, this was Sawppy’s first visit. When Sawppy arrived at South Campus Gate, a quick check of campus directory oriented us to Beckman Mall where the event will be held.

    Part of the journey included crossing picturesque Millikan Pond.

    As with last year’s event, the rover started the day sitting on a table for display. Of course, last year we had only a single rover. This year we have three, two of which were in running condition and could be driven for demonstration today.

    Sawppy attracted a crowd as it usually does, and were driven around by enthusiastic children. Some of them weren’t as gentle with the control as they should be, and about halfway through the day, operator roughness by one of the kids burned out the fuse. I kept telling myself I should have spare fuses in Sawppy’s first aid kit that I keep in my backpack, but I never did put one in. I had to hack a workaround today but by the end of the night I definitely remembered to put extra fuses in the bag.

    Group rover outings are always fun. Today’s special activity is a group climb on a grassy slope at the north end of Beckmann Hall. SGVHAK rover gave Sawppy a head start, but with faster and more power motors, combined with better traction tires, it was no contest. SGVHAK easily outclimbed Sawppy, but the important part was that we pleased the crowd with this little demonstration of rover climbing capabilities.

    (Cross-posted to

  • Sawppy 1.0 Wiring Schematic

    Roger4 days ago 0 comments

    When I declared Sawppy the Rover has reached version 1.0 and posted instructions online, I was fully aware of the fact that the instructions would be incomplete. Not out of neglect or malice, but out of the fact all of Sawppy is in my head and there will be places where I decided something was obvious enough not to require documentation – and learn I was wrong in that judgement.

    Such is the case now. One member of RSSC accepted my invitation to build a Sawppy after my presentation in January, and submitted the feedback that I need to post a schematic of how I’ve wired up Sawppy. I previously submitted this answer as response to a comment on this project page, but more detail was needed.

    The minimum electronics components for a bare-bones Sawppy has [10 * LewanSoul LX-16A] wired in parallel with each other and to [1 * LewanSoul “BusLinker” a.k.a. “Debug Board”] to translate generic USB serial to servo half-duplex serial. That translator board is connected to [1 * Raspberry Pi] via USB.

    I thought this was a good opportunity to try Scheme-It from Digit-Key. It is a web-based electronics schematic editor that purports to let people quickly sketch up electronics schematics for sharing. The electrical wiring for a bare-bones Sawppy version 1.0 should be a nice easy exercise for this tool.

    The terms and conditions for using Scheme-It is fairly typical for a web-based application. A Digi-Key account is required for login, something I already had from earlier purchases for electronics experiments. In exchange for free use of the software, a user also has to grant Digit-Key a license to the schematic. Not a big deal in this case, as I wanted Sawppy to be shared as widely as possible. And finally, Digi-Key reserves the right to take down this service at any time, deleting all of my data. This is irritating but not unexpected. If this is important to me I better make a copy for my own storage.

    Since my sample schematic is fairly simple, it only took about an hour to go from absolute beginner to the schematic I wanted to create. I could (and did) choose to share the project file publicly via a URL, though it appears accessing the project requires logging in to Scheme-It, which required a Digi-Key account as previously mentioned. I could also export to PDF or PNG formats. The PDF export feature was unsatisfactory. Many labels were moved out-of-place making the schematic illegible. In contrast the PNG export looks OK so I’ve posted this schematic PNG to the files section of this project page, as well as Sawppy’s assembly instructions hosted on Github.

    (Cross-posted to

  • Sawppy at SCaLE 17x: The Trouble with Rovers

    Roger7 days ago 0 comments

    My primary obligation for Southern California Linux Expo (SCaLE 17x) was to co-present The Trouble with Rovers with Lan Dang on Saturday afternoon. Which meant when Sawppy’s coupler broke Friday evening I had to scramble to fix it for Saturday. A rush repair job is always going to leave some details to be desired but it was sufficient to resume operation.

    Sawppy will obviously be one of the visual aids present at our talk, but that doesn’t mean it gets to spend the rest of the day just sitting around. No sir, as soon as Sawppy arrived on location, it immediately started working as a roving billboard for both itself and the talk.

    It was not explicitly coordinated beforehand, but the SGVHAK rover was also equipped with advertising for our talk. Both of our rovers were out and about, pulling roving billboard duty, and occasionally our paths crossed in the hallways of SCaLE.

    I was happy with the turnout for our rover session. While we did lose a few people who left partway through the talk, it was more than made up for by the enthusiastic people who followed along and came up to ask questions after. I had a lot of fun explaining details on what we did for both rovers, minutiae that we trimmed from the talk proper but was still interesting to our smaller and more technical audience afterwards.

    Sawppy continued to roam around Pasadena Convention Center, spreading word of my rover project to people who are excited about the possibility of building their own. Some people thought it would be their motivation to finally buy their own 3D printer, others have all the tools on hand and it’s just a matter of prioritization and finding project time. I was most gratified by a group of students from California State University San Bernardino who thinks it would be a great group project. They are exactly the target audience!

    And it’s fun as always to see young children’s faces light up when they see Sawppy, some of whom were eager to take control. My favorite was this 6-year old who loved to drive Sawppy over his own toes over and over.

    (Cross-posted to

  • Cracked Sawppy Steering Coupler Almost Survives Full Day of SCaLE 17x

    Roger03/10/2019 at 20:09 0 comments

    Before I took Sawppy to its first day of SCaLE 17x, I checked over all mechanical bits and found a cracked steering coupler. My first instinct was to repair my rover by replacing the coupler, but I decided against it because it was still partially functional. I wanted to see how my rover design behaves with some partially broken parts, find out how tolerant of faults it would be.

    The answer is: surprisingly well! When everything is in newly assembled condition, the steering assembly could keep its wheel steering angle within a few degrees of the desired position. There is still some error due to flex in the PETG plastic through all component interfaces leading from the servo’s output shaft, through the coupler, through the 8mm steering shaft, through the steering knuckle, through the wheel bearing, the bearing axle, and finally the wheel itself.

    With a cracked steering coupler, the steering assembly could still hold angle within about a 20 degree range, or +/- 10 degrees of the desired position. This isn’t great, but like its Mars inspirations, Sawppy was able to keep running with a damaged wheel. I was able to do the usual crowd-pleasing demonstrations running over backpacks and feet. While steering was a bit wobbly, Sawppy has five other wheels to compensate and maintain most of its steering authority.

    I thought I’d just continue running the rover until something finally gave. And it did, just not the way I expected. Instead of a gradual degradation in rover operation, what finally killed the coupler was a child. About 6-8 years in age, the boy grabbed the steering wheel assembly in both hands and twisted hard. I heard a loud POP and that was the end of the coupler. The boy knew he was going to be in trouble and ran off, the associated adult was apologetic, but that doesn’t change the fact I now have a broken rover.

    Here’s a picture from yesterday, with a partially failed coupler:

    After abuse by careless child, here’s a fully failed coupler:

    Yesterday the coupler was cracked below the set screw. Now the crack goes all the way to the top and there’s no longer enough force to hold the heat-set insert in place. Once the heat-set insert popped out of place, its set screw no longer has leverage to grip the detent I cut on the steering shaft. A steering shaft that spins nearly freely makes Sawppy very hard to drive. I was able to move a little bit at the Tindie x Hackaday Birds of a Feather Session, but Sawppy could not perform its usual rover capability demonstrations at the meetup.

    (Cross-posted to

  • Sawppy Steering Coupler Volunteers For Fault Tolerance Test

    Roger03/08/2019 at 20:39 0 comments

    Whenever I’m getting Sawppy ready for a public appearance, I power up my rover and drive it around a bit to make sure all the mechanical bits are functioning. I did the same for preparation for Sawppy’s appearance at SCaLE 17x and I saw the right front wheel – historically the most problematic part of any rover – is wobblier than I expected.

    This usually indicates a set screw is backing out, something that was much reduced after I started using Loctite on the set screws. But when I reached towards the coupler with a wrench to turn the set screw, I realized this situation is different. The PETG plastic for the coupler has cracked.

    For context, here’s the non-cropped version of the image to show location of this coupler in Sawppy’s front right wheel assembly.

    This is a new failure! And a bit of a surprise, too. My experience with PETG to date has been that it is very tough and willing to flex instead of break like my experience with PLA. It’s held up well through multiple public appearances, driven by enthusiastic children who were none too gentle with the rover. It appears we have finally reached the breaking point for PETG.

    Or… have we?

    The rover is still driving and nominally functioning. System performance has degraded but strictly speaking, the system has not yet failed. The crack allowed more movement in wheel steering than designed, but the movement is still constrained instead of turning freely out of control. I would call the latter case, which happened to Sawppy earlier, an actual failure. This isn’t quite it.

    And now I’m curious about what potential stages of system degradation will be, so I’m going to leave the cracked coupler in place for now. I will build a replacement and have it on hand for a field repair, but the cracked coupler has just volunteered itself for a test of Sawppy fault tolerance. How much further can Sawppy go on a cracked coupler?

    (Cross-posted to

  • Sawppy and SGVHAK Rover will be at SCaLE 17x

    Roger03/07/2019 at 20:02 0 comments

    This year's Southern California Linux Expo (SCaLE 17x) begins today. Four days of talks across multiple tracks focusing on topics relating to the flagship open source operating system in various ways. From small micro controllers to large cloud infrastructure. Last year's SCaLE served as deadline and motivation for completing SGVHAK Rover, but it was only for purposes of show and tell. We couldn't yet do a full presentation as the JPL Open Source Rover project has yet to officially launch until mid year.

    But that is no longer a concern, and we even have spinoff projects like my Sawppy rover to add to the mix. Hence Sawppy will be part of our SGVHAK presentation "The Trouble with Rovers": they're never really finished, and their numbers keep growing. Rovers are such cool projects to work on there's always more upgrades and evolution we can perform to make our rovers better. Lan and I practiced this talk at last month's SGVLUG meetup and hopefully our presentation will be better for it! We'll be presenting Saturday afternoon 4:30-5:30pm in Ballroom G.

    Sawppy will also be present at the Tindie+Hackaday Bring-a-Hack meetup, under their "Birds of a Feather" event umbrella for groups to get a space and meet. It is a free event (with at least a SCaLE Expo Pass) and Sawppy will be there as representative of one of the projects with a page on This will take place Friday evening 7pm-8pm in Ballroom B.

    Beyond those events, Sawppy will be generally hanging out and cruising about the event and the expo floor. There'll probably be some time spent at the SGVLUG/SGVHAK booth, but no official scheduled events beyond the two above.

    (Cross-posted to

  • Sawppy at Brawerman East STEAM Makers Fair

    Roger03/06/2019 at 22:58 0 comments

    Sawppy’s next publicity appearance was at Brawerman East STEAM Makers Fair, a supercharged science fair at a private elementary school. Sawppy earned this invitation by the way of January presentation at Robotics Society of Southern California. The intent is to show students that building things is more than their assignments at their on campus Innovation Lab, there are bigger projects they can strive for beyond the classroom. But the format is, indeed, just like a school science fair, where Sawppy got a display table and a poster board.

    But Sawppy is not very interesting sitting on a table, it didn’t take long before the rover started roving amongst other exhibits. The school’s 3D printer is visible on the left – a Zortrax M200.

    Sawppy was not the only project from grown-ups present. I admire the ambition of this laser cutter project undertaken by one of the parents. Look at the size of that thing. It is currently a work in progress, and its incomplete wiring were completely removed for this event so little fingers are not tempted to unplug things and possibly plugging them in a wrong place.

    The center of this tables had some old retired electronics equipment that kids will be able to take apart. This was a huge hit at the event, but by the end of the night this side of the room was a huge mess of tiny plastic pieces scattered all over.

    I brought my iPad with the idea I could have Sawppy’s Onshape CAD data visible for browsing, but it turned out the iOS Onshape app required a live internet connection and refused to work from cache. As an alternate activity, I rigged it up to show live video footage from Sawppy’s onboard camera. This was surprisingly popular with the elementary school age crowd, who got a kick out of making faces at the camera and seeing their faces on the iPad. I need to remember to do this for future Sawppy outings.

    After Sawppy was already committed to the event, I learned that a Star Wars themed art car was also going to be present. So I mentioned my #rxbb8 project which earned me a prime parking spot on the first floor next to the far more extensively modified “Z-Wing.” Prepare to jump to hyperspace!

    (Cross-posted to

  • Sawppy at Space Carnival Long Beach

    Roger02/21/2019 at 22:25 0 comments

    Space Carnival, held at the Expo Arts Center in Long Beach, California, welcomed Sawppy as one of several exhibits Monday afternoon. It turned out to be part of a week-long LEGO robotics camp for elementary school students. Most of the events are for campers, but the Monday evening Space Carnival was open to the public.

    Since the focus is on LEGO, there were plenty of plastic bricks in attendance. The middle of the room had a big pile of bricks on a plastic tarp and kids were crawling all over the pile building their creations. Sawppy mostly spent time outside of the tarp, occasionally venturing on to some of the colorful game boards for LEGO robots to line-follow and other tasks.

    As usual, I handed controls over for kids in attendance to play with. Running over feet is still more popular of an event than I can hope to understand but, if it makes them excited, so be it.

    Sawppy was not the only non-LEGO robot in attendance, there were also a selection of Star Wars licensed merchandise including this R2D2. I forgot if this particular unit was made by Sphero or Hasbro.

    This event was not the first time I crossed paths with Barnabas Robotics, but it was the first time I got to speak with them beyond the standard sales pitch type of discussions. Since their business is STEM education for students K-12, they have a good feel of what type of material is appropriate for various age groups. It’s possible Sawppy can find a role in high school curriculum.

    (Cross-posted to

  • Sawppy Has A Busy Schedule This Week

    Roger02/11/2019 at 21:14 0 comments

    Since the time I declared Sawppy version 1.0 (mechanical maturity), I’ve been taking my rover out to various events. From casual social gatherings to large official events to presentation in front of others who might appreciate my project. Sawppy has been a great icebreaker for me to start talking with people about their interests, and sometimes this leads to even more events added to Sawppy’s event calendar. This coming week will be especially busy.

    On Monday February 11th from 3pm-6:30pm Sawppy will be at Space Carnival, a FIRST Themed Event on Lincoln’s Birthday. Held at Expo Arts Center, a community space in Long Beach, CA. This event is organized by people behind local FIRST robotics teams. This year’s competition is titled “Destination: Deep Space” and has a very explicit space exploration angle to all the challenges. So even though Sawppy is nothing like a FIRST robotics competitor, an invitation was still extended to join the fun.

    This event will be unique in that I had the option to be a roaming exhibit and I chose it for novelty. I think a rover who is roving will be much more engaging than a rover sitting on a table. It also means I will not be tied to a booth, so I could check out other exhibitors as I roam around with Sawppy. This eliminates the problem I had with Sawppy at DTLA Mini Maker Faire – I had to stay in one place for most of the event and couldn’t see what other people had brought.

    On Wednesday February 13th Sawppy will join a STEAM Maker’s Fair at Brawerman East, a private elementary school. This is a small event catering to students and parents at the school. I believe the atmosphere will be similar to a school science fair, with exhibits of student projects. To augment these core exhibits, Sawppy and a few others were invited. The intent is to show that concepts covered in their on-campus Innovation Lab projects are just as applicable to bigger projects outside of their class.

    And finally, on Thursday Februarh 14th Sawppy will be part of another SGVLUG presentation. A follow-up to the previous rover themed SGVLUG presentation, this will still set up background but will talk more about what has happened since our initial rover construction. This also serves as a practice run for a presentation to be given at Southern California Linux Expo (SCaLE) next month.

    (Cross-posted to

  • ROS In Three Dimensions: Navigation and Planning Will Be Hard

    Roger01/16/2019 at 22:28 0 comments

    At this point my research has led me to ROS modules RTAB-Map which will create a three dimensional representation of a robot's environment. It seems very promising... but building such a representation is only half the battle. How would a robot make good use of this data? My research has not yet uncovered applicable solutions.

    The easy thing to do is to fall back to two dimensions, which will allow the use of standard ROS navigation stack. The RTAB-Map ROS module appears to make the super easy, with the option to output a two dimension occupancy grid just like what navigation wants. It is a baseline for handling indoor environments, navigating from room to room and such.

    But where's the fun in that? I could already do that with a strictly two-dimensional Phoebe. Sawppy is a six wheel rover for handling rougher terrain and it would be far preferable to make Sawppy autonomous with ROS modules that can understand and navigate outdoor environments. But doing so successfully will require solving a lot of related problems that I don't have answers yet.

    We can see a few challenges in the picture of Sawppy in a back yard environment:

    • Grass is a rough surface that would be very noisy to robot sensors due to individual blades of grass. With its six wheel drivetrain, Sawppy can almost treat grassy terrain as flat ground. But not quite! There are hidden dangers - like sprinkler heads - which could hamper movement and should be considered in path planning.
    • In the lower right corner we can see transition from grass to flat red brick. This would show as a transition to robot sensors as well, but deciding whether that transition is important will need to be part of path planning. It even introduces a new consideration in the form of direction: Sawppy has no problem dropping from grass to brick, but it takes effort to climb from brick back on to grass. This asymmetry in cost would need to be accounted for.
    • In the upper left corner we see a row of short bricks. An autonomous Sawppy would need to evaluate those short bricks and decide if they could be climbed, or if they are obstacles to be avoided. Experimentally I have found that they are obstacles, but how would Sawppy know that? Or more interestingly: how would Sawppy perform its own experiment autonomously?

    So many interesting problems, so little time!

    (Cross-posted to

View all 27 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?



lmckeega wrote 02/25/2019 at 03:37 point

Hi Roger,

I am really having a good time working on this project. Your work on it is very inspiring.

I think I have the electronics figured out but have a problem with programming.

I've loaded the program on a Raspberry Pi and it runs fine, but I am having trouble figuring out how to make it work with any motor except roboclaw.  The way I read it, I need to change the  config_roverchassis.json file to replace "robocloas" with "lewansoul". When I do this I get a 'unknown motor control type' error. I also tried to change it to 'adafruit_servo' with the same results. Can someone point me in the right direction?

  Are you sure? yes | no

Roger wrote 02/25/2019 at 06:30 point

Which branch of SGVHAK_Rover repository are you in? The 'master' branch is focused on SGVHAK rover. Sawppy code like the LewanSoul support class lives in the 'development' branch. As for the JSON file itself, please see config_sawppy.json for example. On my Sawppy's local clone of the repository, config_sawppy.json is copied over config_roverchassis.json.

  Are you sure? yes | no

lmckeega wrote 02/14/2019 at 23:31 point

Hi Roger,

I am also a beginner to robotics and the Raspberry Pi. I would like to build a Sawppy Rover and have started some of the printing and purchasing. I don't have a problem with any of the printing or construction, but would like a little more information on how the electronics are configured. Could you include a list of the electronics boards/components that are required? I am a programmer, so feel that I can figure out the programming, but it is unclear what parts I need.

Thank you.

  Are you sure? yes | no

Roger wrote 02/25/2019 at 06:34 point

Sorry I didn't see your question earlier. Judging by your follow-up question, you've figured it out but I'll post an answer for future readers: The minimum electronics components for a bare-bones Sawppy has [10 * LewanSoul LX-16A] wired in parallel with each other and to [1 * LewanSoul "BusLinker" a.k.a. "Debug Board"] to translate generic USB serial to servo half-duplex serial. That translator board is connected to [1 * Raspberry Pi] via USB.

  Are you sure? yes | no

jsa2010 wrote 02/25/2019 at 18:18 point

Thanks Roger this is exactly what I needed, perfect timing! I’m building Sawppy with my kids, and this was the only bit that I wasn’t quite sure of. We still have lots of printing and building ahead of us before we even get there. Thanks for an awesome project! The $ difference between JPL OSR and Sawppy is enabling our 3 kids (elementary, middle, and high schooler) to build and program this at home and really get excited about STEM, robotics and exploration. Thanks again!!

  Are you sure? yes | no

Roger wrote 6 days ago point

I've also just posted a schematic for everyone to reference.

  Are you sure? yes | no

aanandbajaj wrote 02/08/2019 at 23:41 point

Hello Roger,

I'm a beginner to robotics. Do you suggest I start with other smaller projects first before this one? Also, what resources would you recommend to someone who is new to this area?

  Are you sure? yes | no

Roger wrote 02/11/2019 at 21:10 point

While I worked to make Sawppy as easy to build as I could, it is still a robot with a multi link suspension system and moving it requires coordinating ten motors. There are more beginner-friendly robots with just two motors driving wheels with no suspension.

That said, if simple robots are too boring to hold your interest, by all means dig into something challenging enough to motivate you. The "best" robot will be different for everyone. As long as you are learning as you go, because the learning is what matters.

  Are you sure? yes | no

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