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 EduKits are compatible with all models of the Raspberry Pi.

Worksheet Licence

cc_by_sa All CamJam EduKit worksheets are covered by a Creative Commons licence.


If you need some information on the EduKit for press use, please visit our DropBox at to download a press release and associated images.

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

      1. I would like to contribute to them, and also make a gpiozero version to make it a little more accessible for younger childeren.

        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. On edukit 3 – worksheet 2 page 3, the diagram has incorrect polarity for Motor A, the photo on page 4 has the correct polarity.

      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.

  2. 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. They are, yes. The GPIO header of the Zero will need to be soldered on, obviously, but there’s no reason why the kit shouldn’t work with the Zero as it’s the same software running.

    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. 🙂


  3. 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()

  4. 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?

  5. 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?

  6. 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.

  7. 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.

        1. Yes, that should be fine. The chip on the motor controller board is very similar, though not the same. Should work in the same way providing you connect it up correctly.

Leave a Reply