About Me

For the past 7 years, Andrew Mulholland, 21, has spent countless hours leading workshops & courses for hundreds of children, with one goal: to get them excited in Computer Science.

Now a final year Computer Science student at Queens University, it all began in 2010 when, at the age of 14, he founded his school’s robotics club. Since then, the club has had over 200 children pass through it, building all manner of projects under Andrew’s careful instruction – from an internet connected pill dispensing robot to a quadcopter made of cardboard! More recently, Andrew has worked tirelessly to bring the Raspberry Pi computer into classrooms across the UK. As a result of his use of this credit-card sized computer to simplify computing education in classrooms, he was awarded a prestigious Gold CREST award by the British Science Association. Furthermore, he has delivered a pilot programme designed to teach secondary school teachers in Northern Ireland innovative ways of using the Raspberry Pi in the classroom alongside STEMNET NI and W5.

He has worked with a number of Northern Irish schools to work on introducing Computer Science to students. Most recently, he was worked extensively with Victoria Collage in Belfast in 2014/2015 with KS3 students on their First Lego League Robotics Competition entry. A competition they went on to win in Northern Ireland and represent the province in the UK finals. He has also worked with Coláiste Feirste in the 2017 FLL season.
On top of First Lego League, he has taught a pilot Minecraft EDU programming with Comptuercraftedu with schools and organised a 3 day series of workshops for year 8 groups on “An Introduction to Programming with Raspberry Pi”

In 2017 alone, Andrew worked with over 1500 students across the UK and in 2018, that number is set to rise further.

For the past 5 years, in addition to teaching (and his own A-levels/ degree), he has worked on a personal project called PiNet designed to make using the Raspberry Pi in classrooms even easier. His free, open-source software helps significantly in schools of all sizes by migrating the storage of data to a central server hosted by each school, rather than on each Pi – this both simplifies management, and saves the school money on extra SD cards, making the Pi an incredibly viable option in classrooms. Furthermore, Andrew has also spoken at several technology and education events, including

Future of Computing conference 2013 (London)

UK Computing at Schools conference 2014 (Birmingham)

BETT conference 2015 (London)

Beltech 2015 (Belfast)

Digital DNA – Digital Futures 2015 (Belfast)

BETT conference 2016 (London)

Raspberry Pi 4th Birthday Bash (Cambridge)

Andrew believes every student in the UK should get the opportunity to try out and experiment with Computer Science, but there is still a long way to go before that can be realised.

Human game controller as part of my talk at Digital DNA 2015

23 thoughts on “About Me”

Just watched your video on You Tube with the USB Rotot ic arm and the Wii controller.

I have a question for you.. What application did you use to supply the Live Video Feed. I have the Arm and Wii working just fine but can not find a good Application for the video. Also can you confrim that it is a Xbox Live camera that you used.

For the live video feed, in that case seeing as I was using just a standard USB webcam (yes Xbox Live camera), I used mjpg-streamer. All my work with it is based off this wonderful blog post which explains everything you will need to know. If you are wanting to use the official Raspberry Pi camera, then it is a different story. For that check out my gstreamer tutorial.http://wolfpaulus.com/journal/embedded/raspberrypi_webcam

Sorry it is me again.. I have made progress.. I have the video stream working on the robot arm.. So far so good..
However I am getting some lag (very smal about half a second) in the video feed to the movement of the Arm. It is not easy to see from your video if you had the same problem..
The only difference to how we have things set up as far as I can see is I am controling the arm via USB not the HBridges which i think you have (do not have an expansion board etc yet still in the post).
Any idea ?
Many thanks in advance
Keith

Remember what Mjpg streamer is doing, it is taking a picture, then storing it, then your computer is grabbing it off the web server. Sadly this technique rather limits your minimum lag.
We found a few things caused worse lag. Using wifi when not near the hub/transmitter. In that setup, I believe the pi was actually plugged in via Ethernet, could be wrong though. The nearest wifi hub though is about 1m away from the pi anyway.
Other thing is overclocking your pi, moving to a faster sd card and dropped the frame rate can help.
We can normally average about 1/3 second lag, at good times, 1/4 second lag so you aren’t far off its limits with the pi.
There should technically be other ways to stream it if you need very very little lag. May want to look into gstreamer for that as with the correct settings, it can do very low latency video. I am not th person to ask for help for gstreamer but chances are there is a V4L (video for Linux, standard driver for most USB cameras, official pi camera does not support it yet) tutorial for V4L.
Let me know if you do get it lower.

Hey Ryan, just a few days ago I released the new documentation site for Raspi-LTSP which can be found here.
It may be along the lines of what you are describing?
If you want to get involved and help with the documentation, please do! I even have a contribution guide 🙂http://pi-ltsp.net/CONTRIBUTING.html

You have done an outstanding job of making the Pi a networked teaching platform. I was wondering if other Pi images can be used such as Kali Linux. I’m teaching a class on using the Pi for Pen Testing using Kali based on OSSTMM and OPST. There will be lots of students and I was going to walk through each step of the install process. Based on your work, it would be much easier if I could network each Pi and have the students boot and install from the server. Is it possible to run another Pi image besides Raspbian on your network server?

Although there is nothing in theory stopping people building their own operating system images for PiNet, I sadly don’t have the time to support anything other than Raspbian, given it is the official operating system and used by 99%+ of Raspberry Pi users.
You may be able to install the tools from Kali from the Raspbian repositories though so you could get it close.

PiNet does not support importing a prebuilt SD card image though, you must manually build it with LTSP.

Thank you Andrew. If I can get it working I’ll send you the results. As you pointed out 99% of Pi users are on Raspbian. At Hacker Highschool, we are the other 1%. If you are interested in learning cyber security for teens, take a look at hackerhighscool.org. Thanks for the tip on preloaded SD cards. I was planning on pushing the Kali images to the users via the network anyways.

I’ve been interested in PiNet even in the alpha stages, but I wonder how well this would work for a clustered environment. Perhaps if data was synced locally to each node, it would save some network overhead while being processed. It would still have to go back to the load balancer anyway.

I love your goals for the software, but would you mind if I tried my luck at making a console-only version by stripping out the student parts of it and using it as an OS for cluster compute? I’ve always found that clusters operate best when the software is kept in sync. Updating individual cluster nodes separately always tends to pose issues down the road too.

Also, is it normal for the Pi power LED’s to be shut off shortly into the boot process? I’d rather have them on. (I wish they would go off when the Pi is powered off too, but that’s a whole other issue) I haven’t played around a lot with PiNet, but does the drive status light flash when a Pi accesses the network image? I’d love to see that too, otherwise it looks like a dead Pi 🙁

Hey, man. You seem like a pretty cool guy, who cares a lot for kids and teaching. However, I am contacting you because I am having a problem with one of your tutorials. I managed to create and connect to a Pi Zero from a USB only. However, is there any way I can connect to the internet from it in order to get updates and install stuff, or would I have to set up SSH with a wireless adapter and use that? Thank you in advance!

I might be able to help. I got pinet running on the Pi Zero W. You need to have the USB adapter that included an Ethernet adapter. You connect the hardwire Ethernet to your switch and then log into the pi. From a terminal use the sudo apt-get updates command followed by sudo apt-get upgrade

This will mean your version of Mu is a bit old. If using on a Raspberry Pi for example, that version in the repositories is a little dated.
You can always grab the most recent copy of Mu over on the http://codewith.mu/ site.

Hi! I’m doing a research project on incorporating Raspberry Pi’s into the public school system within the US. I wanted to get permission to use your guides in my paper. How can I get in touch with you to get an okay? I’m working with a state level department of education so it’s pretty exciting! I’m willing to share the finished product!

Thank you for all your comments and tutorials about RPiZero, RNDIS Ethernet gadget etc. Am I correct in deducing that this ethernet-over-USB facility cannot work with a Pi3B because the USB ports are connected through a USB hub? Thanks.