Running an in-house Scratch Jam.

Having run a really successful Pi Scratch Jam in my school for 30 year 9 students, I thought I’d share some ideas, tips and resources from our day. It involved a lot of planning, prep and problem solving, and we had a surprise visit from OfSted that day! They were really impressed with the problem solving, creativity and resilience that the kids showed, as well as the engagement and enjoyment all-round. I was really impressed with the quality of the finished projects.

We’d had a visit to Bournemouth University to try their Scratch Jam where our kids scooped top prize, and they asked us to run an internal version in-house.

The brief was fairly simple: Connect Scratch to the real world and Create something Fun.
This was the original brainstorm that Mike and I did on wrapping paper.

All great ideas start out as a sketch.
All great ideas start out as a sketch.

Originally we’d drafted 6 different challenges:
-Make a giant interactive boardgame
-Make an interactive floor piano.
-Create an e-reader hidden inside a real book.
-Create an interactive Nerf firing range.
-Create a fruit based controller for Pong
-Create a skeleton sensitive scratch games using a Kinect.
-Create a sound and light controlled game.
-Make a tilt-sensitive burglar alarm.

(We ditched the burglar alarm due the kids unfamiliarity with the GPIO, and the e-reader we felt was too challenging as we couldn’t source a suitable screen at the time).  We hooked up and hashed out a quick table of projects and made a shopping list, together with what we thought the programming difficulty was like, including any python handlers or requisitions we needed to make.
Project WRAP

We also made a list of what we’d require from IT services, including projectors, portable speakers, phono leads, 4-way extensions etc.  All that stuff makes the biggest difference on the day.

In  the end, we used a mixture of Pis and Windows PCs running Scratch.  We used Makey Makeys, Kinect and a picoboard to do the real world connecting. (We’ll run a Pi/GPIO challenge next time, but we decided to start with something they already knew.

Here’s my tips list, in no particular order.

  1. Work backwards – Make sure you have a clear goal state that you want the students to achieve in their groups. Work backwards from this to structure your challenges.
  2.  Use code experts to help out with the code challenges in groups. Either get Ks4 or Ks5 students to help out. Teach them to ask questions, not provide readymade solutions.
  3.  Enable flexibility in the challenge – The kids love to be able to be able to solve problems their own way, not a pre-prescribed way.
  4.  Provide structure to the challenges – We used programming goals, construction goals and creative goals.
  5.  Reward problem solving, teamwork – This means that you are embedding and rewarding the skill sets that you want to see develop.
  6.  Have prizes, certificates pre-organized. (Our prize fund dwindled spectacularly, so we had to improvise).
  7. Mix up the teams a little.  I had a STEM team who knew how to code for the Kinect really well in Scratch, so I gave them a project they were unfamiliar with.  Their ideas were much better as a result.
  8.  Share the judgement criteria in advance – If they know what to do in advance, they can plan for it at the start of the day, and there’s less last minute inclusions into the code, something which often breaks code at the crucial moment.
  9.  Fuel – Biscuits were welcome.  Malted Milk were particularly prized for the combination of low crumb, high flavour.
  10.  Build time for a showcase – Sharing their creations is paramount. If they don’t feel like their input is valued or shared, they won’t value the whole activity. We had an hour’s showcase, and had a visiting class and Senior Team from the school.  Watching them jump around with the Kinect-Controlled shooter was priceless.
  11. Bookmark the day with a purpose, and a link to real STEM careers.  I chose to link the day to problem solving, and also different interface designs.  We tried to have industry speakers and visitors to come and judge, but we had a last minute cancellation.
  12.  Share all projects online – We uploaded all of the kids code to the Scratch Website to showcase their work.  For future Code Jams, we’ll upload our code to github.

There were some technical issues, but our school’s technicians are really supportive, and we made sure we’d put our requisitions in the week before, so there was not much unexpected hardware faffing to do.

The quality of the final builds and programs were incredible. The winning team had build a Giant Version of operation called Dogeration, which unsurprisingly, had a Vetinary twist. They hooked up the BBQ tongs to the Makey with wires, and then had different scoring and penalties based on how many times you touched the sides of the cavities. Their prize for the day was to get their project made into a permanent laser-cut wooden version (still under construction).

Here’s the final document that was printed and shared with the groups on the day: It pretty much covered most of what they needed to know, and they could research their code, or instructables using the links.

The Great Purbeck Scratch3 (Word Document – Sorry!)

If you do use it, then give us a shout and tell us how your Jam went down!

I hope this helps other teachers to take the leap and run their own Scratch Jam in-house.  Our next step is to run this in other feeder Primary schools, and use our students as the code experts, and build their skills in mentoring and helping others to come to their own solutions to problems.


Benchmarking the Pi 2 with Minecraft, TNT

We managed to get hold of a Raspberry Pi Mark2! It is purported to have 6x the performance of the Pi B+ but check the great blog post from Eben Upton about how those benchmarks were calculated.

Naturally we wanted to do our own key benchmarking tests, so we set out to compare the B+ and a Pi 2 together.

When we set up our 8 Raspberry Pi model Bs originally, the STEM crew followed Martin O Hanlon’s excellent Python and Minecraft tutorials and Whaleygeek’s python flashcards and started making some very cool scripts, like auto digging and cubes of bombs on demand.

One of the early challenges was to make a 64, 125 and 1000 block sized cube of TNT and detonate it.  Upon detonation of The Big One(TM), the Pi’s processor load chart would max out, and the fps would drop to about 1 frame per every couple of minutes. Eventually, the Pi would come round again, but it generated a lot of heat from the processor, so much so we thought about using heat sinks.

So – we thought it would be a great empirical benchmark for the new generation of  Pis.  We tried to set up 4 different Pis, with the most up-to date build of Raspbian (but ended updating the A+ and B for ages) , loaded the same script in all of them, and executed them in the most synchronised way we had available (pressing the execute buttons at the same time).  We timed how long it took for the processor load to drop below 50%.

It’s obvious the Pi2 has a great deal more grunt, and the extra processor speed and RAM really contribute to performance. You notice it especially when browsing or watching HTML5 YouTube: it’s a feasible computer replacement whereas the Model B was a tinkering machine or sandbox that you could use, if you were patient.

Our next experiments are to get piplay loaded on and perform some emulator benchmarks, and see if it can be built into one MAME Joystick to rule them all!

Taking Homework to the Next Level.

Ella's incredible piece of work showing the magnetic field lines in 3D around a bar magnet.
Ella’s incredible piece of work showing the magnetic field lines in 3D around a bar magnet.

Year 7 student Ella Lewis prodcuced an incredible piece of home learning for Mr Fairweather’s Physics homework (Make a model of a magnet).  Working with her father, she has used a variety of techniques that work exceptionally well in combination.

The best thing about this is that it forms an amazing teaching resource  –   I’d use this to teach about magnetic field lines at KS3/4 as it’s so immediate and clear, better than any diagram, experiment or simulation I’ve ever used in the classroom.

Perhaps she will find the time to put up some build instructions or an instructable to help other students to do the same.

My only wish would be to have two, so you could get students to imagine what would happen if you bought them pole to pole!

Lego Mindstorms EV3 ping pong challenge

Bournemouth University’s STEM outreach program came to visit Purbeck School on Monday, and bought with them 15 Lego Mindstorms EV3 kits. The kits had been made into pre-assembled robots with a Large Servo motor for lateral movement, and a medium motor to lift the arm assembly.  They had ultrasound sensors for distance sensing, and an IR sensor for manual control via the IR Beacon.

The brief of the day was simple: Write code for a Robot to be able to play a game of Ping Pong against another robot.  The challenge turned out to require problem solving, mathematics,  iterating, collaboration, failure, resilience and sabotage.

Mean looking Ping-Pong robots.   Note the Ultrasound sensor at the front.  The whole paddle assembly flipped up when the motor was set to turn.
Mean looking Ping-Pong robots. Note the Ultrasound sensor at the front. The whole paddle assembly flipped up when the motor was set to turn.

The challenge was really well structured, with the students learning the basics of connecting, writing code blocks and downloading them to the brick, and within about 20 minutes of starting, most groups had control of the servo motors, and shortly afterwards, they were able to add another loop to their program to control the flipper.  They had to figure out the correct number of degrees to rotate the arm in order for an efficient flip! IMG_1784

The code challenges were well-thought out, and got the students to learn the rudiments of controlling the robot successfully by thinking about how far the robots had to move by setting rotation limits on the motors, and learning to use logic and loops to make the robots respond to the infrared remotes.  They had time to test the robots out in the test arena,  and make sure that the robots were responsive to input, and could also hit the ball with the paddle.  There was  a key trade-off between Power and Speed at which the paddle moved, that the students had to find to hit the sweet spot.

Customisation was also a large part of the day, with some groups recording audio samples, or drawing their own pictures, or playing short musical sequences at the press of a button.  3 groups had ‘entrance moves’ and intimidating aggressive moves.

Once the matches began, it became evident that there were issues with IR interference from other groups since the EV3 kits limit you to 4 channels, and even in a large room, there was significant crosstalk between the groups.  (There was also a good amount of comedy sabotage to be had).

Playing the great game.  Getting the ball off the end of the table gains you a point.  The IR beacon was used to control the robots.
Playing the great game. Getting the ball off the end of the table gains you a point. The IR beacon was used to control the robots.
A Match in progress.  The board shows the channel choices.  Teams had to reprogram their 'bots to change channels between games .
A Match in progress with teams that finished 2 and 3rd.

There were 20+ matches, the competetive element was very strong and the quality of the sport got much better as the day went on.  In particular, the single-member teams did particularly well, ranking in 3rd and 4th place even though they had no previous experience with the NXT-G programming environment.   There had to be an overall winner, and team Virginia Tech prevailed in the end.

The winning team. Their robot’s unique skill was to shout ‘BANTER!’ during matches. It also played a nice jazzy arpeggio. They managed to overcome significant issues with controlling their robot.

We hope to be involved with Naomi and the STEM outreach team again.  The feedback was really positive from the students, and this would work really well with a younger cohort of students.

Invited to #Picademy!

As a teacher, I end up delivering more CPD than I actually attend myself.  It was part of my job role in my last school, and I’ve continued to do it at Purbeck, but I was ridiculously excited to be invited to the Raspberry Pi Educators Workshop during the half term.  My application was long and thorough, but I really didn’t think that I’d be invited.   I’m looking forward to taking some crazy ideas with me, and speaking to the engineers at the foundation to see what is possible, especially with the new hardware in the form of the Raspberry Pi 2.

We plan to run workshops for our feeder schools based using our set of Pis, and it will be incredible to be inspired by this course and share what we have been doing so far at our STEM club.

Building the Phenoptix mearm from scratch:Sourcing parts and cutting your own

Having already bought and assembled a MeArm kit from Makersify, I decided to use the open hardwire files from thingiverse to laser cut all the parts from 3mm Acrylic.

Thingiverse files.  If your DT department in school is as awesome as mine, they’ll show you how to use the cutter so you can plan and cut your own designs.


download the DXF file from thingiverse and start cutting
Laser cut parts from the DT department, hot off the cutting bed. JCB yellow is a nice touch

I had some trouble with the .dxf files running in 2D design, so I printed the design out on paper first and then did all of the measurements, comparing it to the real mearm that I built in order to make sure the scaling was perfect.  (If not, the servos won’t fit in the holes, and the bolts won’t self-tap)

I also cut a mountboard version for the students to see, and get to measure with vernier callipers to check the dimensions.  (It turned out it had scaled wrong vertically, and the test-print would never have assembled as all the circular holes were ellipses!)


Parts arrived in the post, enough for 4 robots, but we’ve only enough acrylic for one at a time. 

In order to build the robot, you’ll need a bunch of M3 bolts, and some Turnigy 9g micro servos.  I picked up a load of servos cheap on ebay , at £11.99 for 4, which seems like a good deal.   (I would get a spare set, in case you burn the servos out during a build!)

I used to get small batches of the screws, as they were by far the best deal I could find in the UK, cheaper by about £25 than all other dealers.



Once the students had done the inventory, they began to follow the assembly instructions, starting with the baseplate.  Here you can see that the longer M3 bolts are used like standoffs in the assembly.  You can also see the mounting holes to bolt on an arduino for controlling the servos.


We’ll keep you posted on the build as it happens, and then how to control it with scratch on the raspberry pi.