Tutorials and guides

Adventures with Arduino: creating an IOT device with a joystick and screen for less than £10

Every now and then I order something online then forget all about it until it arrives. Today one of these WIFI enabled IoT development boards arrived in the post:

Creating an IOT device with a Wemos-D1-Esp-Wroom-02-Motherboard-ESP8266-Mini-WiFi-NodeMCU-Module

I’d ordered it ages ago for less than £10 thinking it’d either make a fun project (Wifi enabled central heating controller?) or a prize for a keen student.

The thing arrived from China with no instructions at all and a quick search online didn’t throw up any beginners guides so this post will try to document my woefully inexperienced attempt at creating an IOT device.

You can buy one here for around £8.

What’s an Arduino?

Arduinos are tiny programmable computers that are more suited for creating Internet Of Things (IoT) devices  than Raspberry Pis because you can run code in real time rather than having  a complex operating system interrupting your code when it should be in the middle of some cleverly timed electronics input / output sequence to magically turn on your toaster or email you when someone presses the doorbell.

The pictured device is not an Arduino – it’s much cheaper and comes bundled with all sorts of additional geeky goodness – but it’s compatible with the excellent Arduino development tools that you can use to write and test code that looks and feels a lot like C / C++. Click here for more info about Arduinos.

Progress so far

I’ve tried to document each step of the process so far. I’ve not created a fully fledged Internet Of Things device yet but this post walks you through the stages of:

  1. Getting Started (setting up the development environment
  2. Running your first program (getting used to programming in the Arduino IDE)
  3. Using the OLED screen (displaying text and graphics on the I2C OLED)
  4. Detecting input from the joystick (polling and interrupts to detect key presses)
  5. Making a game (using the device to make and play a flappy bird clone)

Continue ReadingAdventures with Arduino: creating an IOT device with a joystick and screen for less than £10

Adventures in 3D: How can I create a 3d game without spending a penny?

How to create a 3d game without spending a penny?
How to create a 3d game without spending a penny?

Loads of my students spend hours each night playing 3d computer games. I’ll be honest, if I wasn’t a teacher or a dad, I’d probably be doing the same thing.

My brightest students often ask: “How can I make a game like Fifa / Call of Duty / GTA?” and I’ve always wanted to be able to give them a better answer than the usual “it takes a lot of time, money, effort and skill”.

One thing I’d love to do is set up a student game production company that can design, create and publish high quality games to sell to raise money for good causes (like my retirement fund!)

So this series of videos and blog posts is dedicated to students who are willing to invest the time and effort into learning the 5 skills I reckon you need in order to create a your own 3d games that you can be proud of.

I’m aiming these videos primarily at iMedia and Computing GCSE students at Fulford School in York who want a fun project to apply the skills they’re learning in class to do something fun outside of lessons but I’m deliberately only going to use software that you can download and use legally for free.

Of the 5 skills that are going to be covered in this series, you don’t have to have all of them yourself, I strongly recommend you team up with some friends and share out the roles based on what you’re interested in (and good at!)

I’ll try to keep the videos between 3-5 minutes long so that you can dip in and out of the stuff that interests you. I’m not going to attempt to go much beyond the basics – just enough to give you an idea of what’s possible, to get you started and to let you loose amongst all the other great tutorials available online. Getting started is often the most intimidating stage but once you learn the basics the only limit is your imagination and the amount of time you’re willing to invest.

The first video talks you through 5 tools that I’m recommending you download. All are free and all focus on a different skill. Ideally, you’ll have 5 people in your team, each one with a different piece of software, each one with a different role, but by all means try out as many of these as you want.

On the next page are the 5 skills that I think you’ll need in order to get started creating 3d games:

Continue ReadingAdventures in 3D: How can I create a 3d game without spending a penny?
microbit guitar fx project
microbit guitar fx project

BBC microbit Bluetooth Guitar FX pedal (part 1)

One of my GCSE Computer Science students is a keen musician and is interested in creating a guitar stomp box that you can control with your mobile phone via Bluetooth.

This series of blog posts will keep track of the progress we make as we attempt to use the BLE (Bluetooth Low Energy) capabilities of the BBC micro:bit to control an audio DSP (digital signal processor) to add some cool sounding effects to a guitar.

Unfortunately, BLE is not enabled in micro-python as it takes up too much space to fit inside the firmware alongside the micropython runtime so we’re going to have to use ARM’s online MBED C/C++ tools. This should be a fun learning curve but will ultimately give us greater control over the features of the FX pedal project.

The end result will be an android app that lets you choose different sound effects (like reverb / chorus / delay) and customise how they sound with on-screen controls.

microbit bluetooth guitar fx project
microbit Bluetooth guitar fx project

The android app will be linked via Bluetooth to a BBC micro:bit which will control a DSP board that will do the actual audio processing. The kind people at Profusion Audio Semiconductors have sent a free sample effects of their RA-FX1V effects board that should do the job nicely. Rather than completely re-invent the wheel, we’re going to use Proto Pedal Board kit from Sparkfun Electronics as the basic circuit board with bypass switch and input / output jacks.

Watch this space for updates, resources and ideas as we try and get the project up and running.

Continue ReadingBBC microbit Bluetooth Guitar FX pedal (part 1)