CamJam EduKit in partnership with The Pi Hut

CamJam EduKit v2 landscape_smPartner
From this page, you can visit pages for all our EduKits.

The CamJam EduKits are compatible with all models of the Raspberry Pi microcomputer and include worksheets to help you get to grips with the components.

The components can also be used with microcontrollers, such as the Raspberry Pi Pico, and there are worksheets for the Pico available for EduKit 1.

Please go to this page and sign up to our mailing list for updates when we have them.

Worksheet Licence

All CamJam EduKit worksheets are covered by a Creative Commons licence. CC-BY-NC-SA.


If you need some information on the EduKit for press use, please drop us a line.

87 thoughts on “CamJam EduKit in partnership with The Pi Hut

        1. We do plan to develop GPIOZero versions, but I need to take a break after writing the EduKit 3 worksheets, organising PiWars, and working on another BIG event!

          1. I’ve made a GPIO version of the obstacle avoidance. Since OOP strategies differ slightly from standard programming, i’m not sure the best way to break it up.

            from time import sleep
            from gpiozero import CamJamKitRobot, DistanceSensor
            bot = CamJamKitRobot()
            front = DistanceSensor(24,25)
            while True:

      1. As the worksheets say, the polarity does not matter at that stage as we cannot guarantee that the motors are wired up in exactly the same way (i.e. red to the same, black to the same terminals). Therefore we ask you to test them and swap the wires if necessary.

        1. I think I might have the same problem here. Motor A is not working. I have swapped the motors and the one plugged in A would not work. Any idea?

  1. Great robot. Built mine on the excellent 3d printed chassis. I have also written a program to allow for keyboard control of the robot via an ssh link. The two files required can be downloaded from
    copy the zip file to your Robot Pi, unzip and put the two files with your other robot files and run with python3 Use the keys a,w,s,z and spacebar for left,forwards, right, backwards and stop. Based on Worksheet 6– Varying the speed of each motor with PWM.
    If you have tuned your motors for best straight line performance then add the amended values for the dutycycle variables.

    1. I am working in a primary school with a group of y6s – they have built and programmed the camjam3 kit – now they want to control it remotely via keyboard – one of them googled and tracked down your post – but your link is broken – could you please advise?

      1. I may not be the author of the original post but you can control from logging on to the Pi from another computer or tablet or phone that uses ssh over wifi to communicate with the Pi.

    1. Hi Nigel,
      I’m afraid there isn’t a forum specific to the EduKit. We just don’t have the manpower to moderate it. However, I would encourage you to use the Raspberry Pi Foundation forums as they’ve got the critical mass of people to support it. 🙂


  2. Hi am having problem with adding …
    I get an error …name ‘Forwards’ is not defined ….. And the motors do not stop running?
    I’ve gone over all spellings etc and can see no problems. There were no errors before I entered the 5 lines before the final GPIO.cleanup()

  3. Thanks Michael, I’ve gone over it a number of times but can’t see any ‘case’ issues. Not able to do more now, but will go over it again tomorrow night. Has anyone else had this issue?

  4. Hi there, just received the first two EduKits and am enjoying the worksheets. The robotics kit seems to be sold out everywhere, any idea on when it will next be available?

  5. I have a problem with CamJam Kit 3. I am having great fun with it but cannot get the Ultrasonic Module to work correctly. In worksheet 6, the distance it reads just keeps getting larger no matter at what distance an object is placed in front of it. In worksheet 9 it goes into avoidance mode all the time whether there is an object or not. It my module faulty? I have checked the code and all seems to be correct.

  6. Haven’t tested it yet, but just wrote up this gpiozero version of Worksheet 9 code:
    from gpiozero import CamJamKitRobot
    #from gpiozero import RyanteckRobot #use if you’re using the ryanteck robot motor controller
    from gpiozero import DistanceSensor
    from time import sleep

    robot = CamJamKitRobot()
    #robot = RyanteckRobot() #use if you’re using the ryanteck robot motor controller
    sensor = DistanceSensor(17,18) #standard pins for the edukit
    sensor.threshold_distance = 0.015 #how close (in meters) should an obstacle be before the robot tries to avoid it

    def AvoidObstacle():

    sensor.when_in_range = lambda: AvoidObstacle()
    sensor.when_out_of_range = lambda: robot.forward()
    I will not be able to test it as my CamJam kit is at work and i’m stuck at home due to Houston flooding until Monday at the earliest. I did open the python interpreter on a separate pi with nothing connected to GPIO and imported this script without any errors (poor man’s syntax checker).

    Guess I’ll be buying another camjam kit for home. Now that i think about it, it would probably need some sort of signal.pause for it to really do anything. Again, haven’t tested, just coding blind.

  7. Hi, I have got an EduKit 3 and am using a Pi zero, both of which are brilliant. I have worked through the work sheets and am now working through sheet 6. Everything has worked perfectly to this point, however, I am having a problem with the ultrasonic sensor. I have checked and re checked the wiring and coding and I can’t find any errors. The problem is the distance displayed remains between 0.3 and 0.4 and will then randomly display other figures, (0.2, 0.7….0.4) regardless of how far the sensor is from a wall. Has anyone any idea what I could be doing wrong? I am relatively new to this type of stuff. Many Thanks Jez.

  8. Hi guys, when I connect up my battery pack supplied with the kit, nothing happens. No lights, no booting. Not sure if I’m doing something wrong but I suspect the pack or the control board to be faulty (batteries are fine). Any suggestions on what to do next please?

    1. I would suggest buying a power bank as they last longer and are less faulty. However, if you do not want to but one (they are cheap) I would send a email to where ever you got the kit from.

  9. Hi Guys,

    Really enjoying these worksheets, I am just a bit stuck on the Advanced Challenge on Worksheet 6. I have managed to get the buzzer to sound a dot when pressed. I can also get it to sound a dash when pressed by changing the function I’m calling when the button is pressed. The bit I’m stuck on is how to differentiate between the two, how do I do a dot then a dash ? Or am I looking at the challenge the wrong way ?

    Keep up the great work


  10. Hi, After a bit more checking and re checking ‘Ive got the distance sensor working – I had some of the indents in the code wrong……there is loads of resources out there for this kit and was able to check my code against others !!

  11. Hi Guys

    I have left a couple of posts but they keep disappearing. I am working on the Advanced Challenge on Worksheet 6 and I have been able to get the buzzer to sound when I press the button. However, it only sounds a “dot”, I am a bit stuck on how I get it to sound a “dash” when pressed, or am I misunderstanding what is required for the challenge.

    Kits are brilliant by the way 🙂


  12. Is it possible to power the motors from USB (using the +-5v pair). I have built a chassis from Lego with a large battery pack to power the pi but I wanted to avoid having a second battery pack for the motors but don’t want to damage the motors or board.

  13. Ive got an edukit 3 and I want to add 2 more ultrasonic sensors and 2 more line detector modules so that it can more accurately follow lines and doesn’t bash into walls at the side.
    The motor control board supplied only supplies 1x5v and 1x3v3. I need more than this to power extra sensors don’t I? And if I do need more power, how do I supply it?


    1. Fair enough. I think what would be best is if you attach a breadboard and use jumper wires to bring whichever power supply you need out to that. Then, you’ll have more flexibility in using power rails and more workspace.

  14. Out of 15 kits purchased, i have one bad line following sensor, one bad motor controller board, and one bad rangefinder. Verified by switching out sensors/boards from other kits, maintaining everything else (pi, code, jumpers, breadboard, motors, batteries, etc.) the same. Anybody know what i can do about an RMA?

  15. Hi there, can someone help? When I connect the line following sensor in worksheet 4, the pi will no longer turn on, however as soon as its disconnected, pi works fine again. Iv had people check the wiring and have tried different wires and breadboards yet all the same result. Any suggestions? Thanks

  16. Are the Camjam Edukit Worksheets available in another language than english? Or can I get the sources so I can translate them myself? I am planning Camjam Edukit3 class here in Germany in November, and not all the kids speak english at a sufficient level to understand the original worksheets.

    1. We are happy to supply the original documents to individuals for translation, as long as you are able to send the translated ones back so we can put them on our site for everyone else to use.

      I will send you the documents.


      1. I just received the 3 kits and wish to use them in class. Is it possible to have the edukit worksheets sources too, i will translate them in french and give the translations back.

        Thx in advance

      2. Hi Tim. Is it possible to get the originals for kit 2? I want to try to translate it to German as well. Happy to share the results.
        @Silverday, have you made progress with the translation to German of kit 3?

  17. Having a great time reliving my youth by building the robot car! Gone through all the worksheets expect Obstacle Avoidance (that’s tonight) using a Pi Zero. One issue I did have was detecting a printed line. Tried various printers, papers, colors, etc. Just would not see the black printed line. Solved the problem for now by using 3/4″ black, electrical tape. Finds the line and follows the course. Any ideas as to printing a line the detector can see? Would like to do some fancy course – just for fun! Thanks

  18. Hi

    I got a Cam Jam Edu Kit 3 for Christmas and i have built it but it is not moving. I think it is the motor board or battery pack because the code is running with no problems and i have changed the battery. Any sugestions??

  19. Hi, just wondered what is the maximum voltage that can be used for edukit 3 motor controller board. I wanted a power supply that would power both the rpi (via a UBEC) and the motors. I am using a model car rechargeable batteries which are about 11V I haven’t blown anything yet!! Mind you, I had to use PWM control on the motors to reduce the speed using the batteries. Duty Cycle 10 on 20cps seems to give me a manageable speed.

    By the way, the ultrasonic sensor does not seem to work on the version 1 rpi, i.e. the echo is not detected.

    Thanks for designing the kit, keeps this pensioner’s brain going…


    1. Hi Hamzah. Max voltage is 10.5V or thereabouts, so I suspect you’ve got lucky with 11V. I bet it’s quite speedy at that voltage! Careful, though, as the battery voltages are 6V or thereabouts so you’re more likely to strip a motor at that level. Ultrasonic doesn’t seem to work on v1? Weird, no-one else has mentioned it, but we’ll look out for that.

      Glad you’re enjoying the kit! 🙂


    2. Actually, just spoke to Gareth (4tronix, who designed the board, great guy) – he said that because you’ve also got a diode in the circuit that it takes it to just over 11V on the input, so you’re fine. You’re right on the limit, though. Would love to see your robot as a video so we can judge the speed and maybe use photos of your set-up as an example of how to power both! 🙂


  20. Thanks for the super quick reply. Yes it’s quite speedy when using full volts that’s why I decided to opt for PWM control. I will send a video once I get the robot to reverse and turn when it detects an obstruction so that it can roam round a room.

    By the way, the rechargeable batteries are rated at 9.6V but will output 11V when fully charged. Also I am experimenting using scratch too so that my 8year old grandson who has taken an interest can control the robot. That seems to work well too as it can use PWM control too. His interested started when I used his lego set to build the robot.


Leave a Reply

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