CamJam EduKit #3 Robot Chassis for the Raspberry Pi

by DanielBull, published

CamJam EduKit #3 Robot Chassis for the Raspberry Pi by DanielBull Nov 5, 2015
3 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps

Design Tools

123D Design

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

26215Views 6928Downloads Found in Robotics


This is a 3D printable robot chassis designed to be used with the awesome CamJam Edukit #3 and ANY Raspberry Pi (all models supported).

The CamJam Edukit #3 is a kit of parts which when used in conjunction with a Raspberry Pi provide all the electronics and mechanics required to construct a programmable wheeled robot with distance sensing and line following capabilities (only a chassis such as this one is required).

Aimed at being a low cost educational tool for teaching robotics and programming, the EduKit 3 has a full suite of worksheets and is great value for hobbyists and educators alike.

For more information please check:

UPDATE 2015-11-08 Support for old Pi's
Added tray for older model A or B
Added tighter breadboard clamp
Improvements to instructions

UPDATE 2015-11-29: Powering the Pi
I've had a few people ask about powering the Pi; I was going to make a blank area for USB power packs but because they come in all shapes and sizes and it would have made the chassis too large for most people to print I decided against it.

However all is not lost, there are a number of options...

  1. Like I mentioned above, by far the easiest thing to do is get a small USB power pack and mount it down one side using double sided tape or blue tack. I found some of the long thin narrow packs work well (see photos above, near the end)

  2. The second option is to get a 2 cell LiPo battery (7.4v) and a buck converter to step it down to 5v. In the photos above I have included an example using a Ryanteck DC - DC stepdown ( https://ryanteck.uk/power/16-dc-to-dc-stepdown-regulator-with-4aa-battery-box-0635648607214.html ). If you use this method you will need to monitor the battery voltage to make sure it doesn't get too low otherwise this will damage the battery, I'm using one of those small low cost integrated LED volt meters.

  3. The third option is to get a single cell LiPo battery (3.7v) and a boost converter to step it up to 5v. In the photos above I have included an example using an Adafruit Power Boost 500C ( http://makersify.com/products/adafruit-powerboost-500-charger-rechargeable-5v-lipo-usb-boost-500ma ). This is particularly useful as it also stops it getting too flat and charges the LiPo when you connect power your normal Pi power pack its microUSB.

UPDATE 2015-11-29: Larger wheel holes
We've had a report that some people are getting fouling between the axles/shafts on the wheels and the holes in the chassis.To solve this I have added a new version of the chassis with 14mm holes instead of the normal 13mm.

UPDATE 2015-11-29: Pi Zero tray!
Its finally here, the Pi Zero tray, using a Pi Zero will give you LOADS more space for all your extras :)

UPDATE 2015-12-04: Updated Pi Zero tray
Added missing SD card slot in the Pi Zero tray.

Print Settings






15% or more


This chassis is designed to be printed in PLA, the shrinkage associated with other materials such as ABS may cause the components not to fit.

I personally printed this with the following settings however you can adjust as appropriate for your printer:

0.4mm nozzle
0.25mm layer height
1 loop
1mm walls (for strength)
17% infill

The only thing I would strongly recommend is you DO NOT use supports as they are not required and they will clog up the holes for the wires and the slots for the trays.

Assembly Instructions

Please follow these instructions carefully as getting components in the wrong way round will be difficult to correct!

(There are a sequence of photos available above to guide you with these steps)

  1. Print the chassis (this will take some time) and inspect for issues.

  2. Start the print for breadboard clamp and the appropriate Pi tray for your Pi. The options are:
    Pi_a_plus_tray.stl - Model A+ only
    Pi2_b_plus_tray.stl - Model B+ or Pi 2
    Pi_a_b_tray.stl - Older Model A or Model B
    breadboard_clamp.stl - Standard breadboard clamp
    breadboard_clamp_tighter.stl - Tighter breadboard clamp

  3. Turn your chassis upside down so that the side which says STICK is facing you.

  4. Do not insert any of the components at this time but familiarise yourself with the layout. The big opening in the middle at the rear of the chassis (where the STICK writing is) is for the battery box, the two long ones either side are for the motors. The large circular shaped recess at the very front is for the bearing and the long funny shaped one between the bearing cut-out and the battery box void is for the line sensor.

  5. On the sides of the motor bays near the back are 4 clips which hold the motor in place. If you look carefully you will see there are fine slots at the sides of each clips, use a craft knife to make sure these are clear so the clips are able to flex slightly.

  6. Take one of the motors and feed the two wires through the hole in the motor void from the bottom to the top of the chassis.

  7. Hold the motor so the yellow gearbox end is at the rear of the chassis (the little yellow tag on the back will poke out) and the wires come out the same side of the motor that the hole is on (its important that the wires should not cross over from one side to the other). Then feed any slack in the wires though and with the chassis resting partially on a bench carefully snap the motor in place being sure not to pinch the wires.

  8. Repeat for the other motor

  9. Inside the battery box opening in the chassis there are two holes which go all the way through, the smaller one is for the wires and the bigger square one (with the on/off writing on the top of the chassis) is so you can access the switch from the top. Feed the battery box wires through the wire hole from the bottom to the top of the chassis.

  10. With the battery box aligned so that the "open" writing is facing you and the on/off switch on the box lines up with the on/off hole on the chassis; insert the end of the battery box with the wires in its place first being sure that the wires are not trapped (pull them through the hole as you do it).

  11. Finally snap the opposite end (marked open) of the battery box in place. If you have done it correctly you should now be able to switch the box and and off from the top of the chassis and easily slide on and off the battery cover without having to remove the battery box from the chassis.

  12. If your battery box is loose; remove it again and affix the double sided sticky tape provided in the EduKit in the cut-out marked STICK and repeat the step above.

  13. Inspect and clean out any swarf from the two screw holes in the ball-bearing holder recess at the front of the chassis.

  14. Pop the ball bearing out of its holder (by sticking your finger through the hole in the back) and insert the holder in the bottom of the chassis so the two screw holes line up with the screw holes in the chassis (you may need to trim the middle plastic post back very slightly if the bearing holder is too tight to get it on).

  15. Its likely that the bearing holder wont stay in place well enough on its own, so get the two small bolts from the EduKit (you don't need the nuts) and with the chassis face down on a solid surface, screw down the bearing holder being sure to select the correct screwdriver and push reasonably hard because you will be cutting a thread in the plastic and the small bolts are easy to damage if the screwdriver slips.

  16. Re-insert the ball bearing in the holder and ensure it spins freely.

  17. On the top side of the chassis, use a small craft knife to trim any excess plastic from around the edges of the slot surrounding the PiWars robot which you will be using for your Pi tray and also clean any excess from around the base of the Pi tray.

  18. Orient the Pi tray so the large recess in the tray for the GPIO is facing the front (bearing end) of the robot and the smaller recesses for the HDMI and power are facing the rear (battery end) of the robot. Insert the tray in the slot, the fit should be quite tight and take some force, be careful not to damage your Pi tray or you may have to reprint it. If you really can't get it in, try very very slightly widening the slot with a craft knife and/or gently sanding the sizes of the Pi tray. If you find it too loose a small piece of paper in between the edges and the slot will tighten it up as you push it in.

  19. Remove any excess plastic from the square slot which surrounds the PiWars text at the front of the robot in much the same way you did for the Pi tray. This will be for the breadboard clamp.

  20. Place the breadboard on the PiWars text and the clip the clamp over the top of breadboard and into the chassis to hold it down. Again if its too tight you can widen the slot with a craft knife and/or sand the edges of the clamp, and in addition there's also a tighter version of the clamp. As an alternative you can stick the breadboard down using by peeling off the sticky back instead of using the clamp.

  21. Insert your SD card into your Pi then insert the Pi into the tray by pushing it down firmly near the edges. If you ever need to remove the tray be sure to remove the Pi first. If you need to remove the Pi eject the SD card and gently prise it out with your finger at the SD card end, be careful not to damage the Pi.

  22. With the battery box switched off place your EduKit GPIO board on the Pi and connect up the motors as shown in the CamJam worksheets and test.

  23. Once you are happy that your motors work, feed one of the line follower jumper wires (socket end first) through the remaining hole on the top of the chassis (between the breadboard and the Pi) through to the bottom. Connect it to the line follower and the Pi as show in the EduKit worksheet.

  24. Repeat for the other 3 wires.

  25. Before fixing the line follower in place first test it using the EduKit worksheet demo programs to make sure your wiring is right. Once all is good label your wires at the Pi end.

  26. Next feed through the wires so there is no slack on the bottom side and carefully snap your fully connected up line follower in place over the stud on the bottom of the chassis (the wires should be at the back of the chassis and the LED sensor at the front). If the stud is too tight to get the line follower on - very gently squeeze the stud with a pair of pliers to make it smaller. If it's too loose, with the line follower in place, use a soldering iron to spread the plastic out slightly to hold it in place.

  27. Finally insert your wheels onto the motors as far as you can (be sure to line up the slot), then pull them out slightly so they do not foul with the chassis and away you go!

  28. If you wish to use the ultrasound sensor insert this in the very front middle of breadboard pointing forwards like eyes. You should be able to push it in far enough that the breadboard clamp supports the ultrasound board and keeps it pointing forwards.

  29. Enjoy!

More from Robotics

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Hi Daniel! Before I pester you with a bunch of questions, I would like to say thank you for sharing your designs with the world!

I have a Raspberry Pi 3 (RPi3) Model B. According to the previous comments, the RPi3 B should be compatible with the Pi2_b_plus_tray. Were you ever able to get confirmation from other users that this assumption is correct?

Your designs will be my first attempt at using a 3D printer, so I'm still a little shaky on exactly what files I need. If I understand your instructions correctly, I believe I need the following 3 files to make a chassis that is compatible with the RPi3 B; (1) Pi2_b_plus_tray.stl, (2) Chasis_larger_wheel_holes.stl, and (3) breadboard_clamp_tighter.stl. Is that correct? Am I missing anything?

Thanks in advance for any help!!


Unfortunately nobody has confirmed to me if the Pi3 fits or not but it should fit.

The list of files is correct, if this is your first time using a 3D printer start with the smaller parts first as the main chassis is tricky because its so large. You could for example print the Pi tray first and check it fits :)

I like the bump switches on the one version. I will try this out myself. Do you have the code snippet that explains where you added this capability in 9-avoidance.py?

To be honest I wrote my own code from scratch to teach myself python just using the supplied code for ideas. After all that's the purpose of the robot :)

Hi Daniel,
Excellent chassis!
I am working on modifying your Pi Zero tray to include a cutout for the camera connector because the connector sticks out of the edge of the board by about 1.5mm or so - using the free AutoDesk 123D Design - once I have it right can I pass it onto you to include with your files?

I have printed the main chassis in blue ABS and it took about 10 hours to print on standard quality with 10% fill on a Da Vinci 1.0 3D printer.
Quality of finish started off OK then got worse as the job progressed and this I put down to printer not being able to print the fill at its full speed. Also the edges started to curve up because it did not want to stick to the platform too well.
When I tried to insert the motors, some of the corner holders snapped off because the inter-layers were very weak.
Using sugar and water seems to be working better as a platform sticky substance, on the trays I have printed.
I printed the breadboard holder in excellent quality and a the finish this time was very good but print time was a good bit longer.
I also have some PLA that I will try out too.
I am really just getting started with the 3D printer, so its all a bit of trial and error.

I also printed in ABS and had exact same problems. I left it in acetone vapor for some time and it got stronger.

Yes please pass on the modified Pi Zero tray as I don't have a Pi Zero wit the camera connector so I've not been able to do it myself.

With reference to the chassis print, ABS has a tendency to shrink causing the curling you described especially on large designs. This means its not suitable for printing this chassis. I strongly recommend you use your PLA instead and your problems will probably go away.

Good luck I hope it works out for you :)


Hi Daniel,

 My son took a flash drive to his school to have the teacher print the various parts needed to create the robot.  The teacher has made several attempts to print but has reported to me that after the base forms the upper layers fail to hold, she forwarded me a couple of pictures which show a mess of filament in the vague shape of a rectangle.  A bowl of spaghetti springs to mind, I wish I could attach a picture.
I have no experience with 3D printers, and assume the school knows what it is doing when it come to the operation of the printer, can you give any advice as to what may be going wrong?  I know this would be a lot easier if I weren't just a intermediary between the school and you.


Hi Matt,
Without knowing what printer the school has or seeing the photos its almost impossible to tell but my best guess is it sounds like the layers are splitting due to warpage. Check they are using PLA and not ABS (which will almost definitely warp when trying to print this) and also make sure they have a copy of the instructions from this website which may help.

Let us know how you get on...

Hi Daniel,
do you have a pi tray for raspberry pi Zero 1.3 which has a camera connection at the opposite side of the micro-SD card slot. Therefore, it does not fit into the current pi zero tray.

Hi Dirk,
Unfortunately I don't own a Zero 1.3 so I've not been able to update the design. However a couple of people have said its fairly easy to modify the one on there using a sharp knife (take care).

How big is the chassis, i would like to print this but only have a lulzbot mini and I am not sure the chassis will fit, the print bed size is 6" cube.
It looks great.

It maxes out a 200mm x 200mm bed unfortunately Nigel. I just measured and it wont fit in a 6" cube :(

thanks for the info

Looking to build this using a RasPi 3, but I did not see a tray printer file for a 3. Will you be making one? I've seen a couple of videos using this chassis and the robot look great!

I don't have a Pi3 personally but its apparently identical to the Pi2-B so the Pi2-B tray should fit. Let us know how you get on and I'll update the documentation.

I will upload some pictures later but I just wanted to say a big thankyou. I have only just got my printer and this is pretty much the first "real" thing that I have printed and I have to say superb design pretty much all the parts just snapped into place first time. Great Job.

That's great news :)
You did really well to have this work first time as your first real print, its quite challenging :)

It certainly takes a long time!

I have had several failures with bits not fitting.
I printed one with PLA, increasing the X and Y scale to 102% , left the Z at 100. Printed on a raft with 0.65mm separation from final layer, at best quality my Geeetech prusa i3 would manage, and IT IS A THING OF BEAUTY, in white it looks just like the one in Daniels pictures.
The printer is unmodified, but I am using Simplify3d software.

Anybody else have trouble getting the clamps to fit in the slots? Just wondering if the problem is an intolerance on the model or inaccuracy of my printer.

I have had several failures with bits not fitting.
I printed one with PLA, increasing the X and Y scale to 102% , left the Z at 100. Printed on a raft with 0.65mm separation from final layer, at best quality my Geeetech prusa i3 would manage, and IT IS A THING OF BEAUTY, in white it looks just like the one in Daniels pictures.
The printer is unmodified, but I am using Simplify3d software.
If you increase the scale on all parts (uncheck the constrain so you can alter X and Y without changing Z) , everything should fit. Breadboard, pi case etc.

What sort of problems are you having, too tight or the dimensions?
It may be shrinkage of the material, are you using PLA?

I am using PLA. I'm a novice so there could be a setting I have wrong. I've only printed the A clamp and only once. Have 2 copies of the chassis (discovered my offset was wrong so only 2 look right). I thought about taking a knife to it but thought I'd see if others had more than minor difficulty getting t them in.

If your Z height isnt quite right, IE the nozzle is a tiny bit too close to the bed, the slots have a lip on them and you wont get the trays to push in but its easily rectified with a knife.

Ok, got a good clean print of the chassis and a good clean print of the B+ clamp. The clamp seems to have a lip on the very first layer. Getting past that lip seems to be the problem. As far as i can tell, that lip is not present in the model, so this would seem to be a printing problem and i'll probably have to just clean it up with a knife. Problem is that i have 13 of these clamps to do, plus 13 breadboard clamps. Carving each one by hand kind of defeats the purpose of printing it out (at least to my stakeholders). If i turn the clamp upside down, it fits in the groves very snugly.

Any advice on getting my printer to not print that lip (assuming I'm right that the lip is not present in the model)?

Yes it sounds like what I said before, your nozzle is slightly too close to the bed on the first later causing it to squish outwards. Adjust your Z-height and you should be able to solve it.

Sounds good. My printer has an offset macro that was set at 0.8. I've set it to 1.0 and tried again. Luckily my boss is paying for the filament, so i can "test" as much as i need to get it right. ;-)

Yeah that will be it. The side effect of that is you will get less bed adhesion though depending on what your bed is made from.

Glass heated bed with hairspray meant no problem adhering. The print is great with 1.0 offset. Actually, i may tune it down to 0.9 (halfway between where i was and this working one). I still got a little lip with 1.0, but it wasn't enough to give me 100% confidence that the clamp will stay in. Either way, z-offset fixed my issue. Thanks Daniel!

No problems. You could always add a little glue to hold it in place if its loose.

Will the new Pi Zero 1.3 fit in the Pi Zero tray as well?

Unfortunately I don't have a Pi Zero 1.3 so I can't confirm but my guess is you may need to use a sharp knife to cut away some plastic on the camera port end to make it sit flush.


This is just so great! I would like to print it and I asked for a quote from a shop. I was told that the chassis, the breadboard clamp and the pi zero tray would take about 9 hours to print. Do you think this is realistic?



Yes, that would seem about right to me. I print the chassis on my Robo3D+ and it actually takes 11 hours for just the chassis. I've done 9 of them in a row and they're all around 9 hours. Novice printer here, so there may be optimizations they're doing that I'm not to get it down to 9 hours.

This is excellent. I am teaching my son, who is 6 years old, the fundamentals of robotics and this is perfect to allow him to use the robot kit and understand the electrical components without getting frustrated in designing a chassis as well. Thanks a lot!

Great stuff, I hope he enjoys himself :)

I think the pi-zero holder needs a small cutout to accommodate the micro sd card. A friend just printed the setup for me. Looks cool!

Comments deleted.

Oh you're right!
What a fool I am I totally forgot!
I'll get that sorted shortly.

Hi Robin, I just updated the tray. Unfortunately I don't have time to print it at the moment as I'm getting packed for PiWars but fingers crossed it should be OK. Let me know if you find any problems.

I forgot to mention I tested this and its fine.

Did you see that the pi zero has come out.. Price $5! This should provide more oomph for batteries! Of course we need a pi zero https://www.raspberrypi.org/blog/raspberry-pi-zero/

Yes I'm getting mine on Saturday, I will be creating a tray for one as soon as I get it :)

took 5.5 hours on a maker bot replicator 2 .. waiting for the kit to arrive .. thanks for creating the design!

Yeah it does take a while to print due to the size. I think its one of the largest prints I've done in a while.

This looks absolutely fantastic, Dan! Well thought out design, and goes perfectly with the ethos of the kit of building our own chassis.

Thanks Tim!
Even with this chassis there are still some challenges left as you may want to go that extra mile and power the Pi without a wire :)

It is of course not possible to include a holder for a USB battery pack in the design as no two battery packs are the same. I was going to make a blank area for packs but that would have made the chassis too large to print :( What this means is people will have to use their ingenuity to come up with their own way of doing it if they want it fully portable ;)

One way would be to edit the Pi tray in some way, another would be to do something similar to what I did in the last photo which is use a small LiPo and something like the Ryanteck DC - DC stepdown ( https://ryanteck.uk/power/16-dc-to-dc-stepdown-regulator-with-4aa-battery-box-0635648607214.html ).

Have fun everyone!

I like that regulator! Nice one for Ryan

We need to persuade him to sell it without the battery box ;)

I've done a few more examples of how to power the Pi in an update on the front page.