:GAME ZIP 64 for the BBC micro:bit - Review

Table of contents

RoadTest: :GAME ZIP 64 for the BBC micro:bit

Author: davidjnorton

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: while not directly comparable as they do not have an LED screen, a number of game controller modules are available for the micro:bit including: Elecfreaks Joystick:bit: https://www.elecfreaks.com/estore/elecfreaks-joystick-bit-for-micro-bit.html SparkFun gamer:bit: https://www.sparkfun.com/products/14215?_ga=2.254643598.740911886.1542724400-2022673437.1542724400 Bit:Commander: https://shop.4tronix.co.uk/products/bit-commander-console-controller-for-bbc-microbit Waveshare Gamepad module: https://rlx.sk/en/microbit/6349-gamepad-module-for-microbit-joystick-and-buttons-ws-14593-waveshare.html Keyestudio Joystick Breakout Board: http://www.keyestudio.com/ks0296.html Micro: bit Gamer Shield: https://learningdevelopments.co.nz/products/micro-bit-gamer-shield-with-joystick-and-buttons Yahboom Gamepad Joystick: https://www.yahboom.net/buy/gamepadbit

What were the biggest problems encountered?: No major problems or faults, just a warning that the default brightness is incredibly bright and can hurt your eyes, make sure to set it lower in code or use a diffuse shield over the LEDS.

Detailed Review:

Overview

The :GAME ZIP 64 module is made by Kitronik, a company that provides a large number of modules for the BBC Micro:bit. The board is designed to transform the Micro:bit into a retro handheld gaming console, encouraging you to code your own games and play them. There are also some example games provided for you to try out and edit.

The board connects via a cartridge slot (edge connector) and adds the following functionality to the Micro:bit:

  • 64 (8x8) individually addressable full colour ZIP LED screen
  • On-board sound via a buzzer
  • 4 directional buttons
  • 2 additional buttons
  • Haptic feedback via a small rumble motor
  • Breakout footprints for attaching shoulder buttons/I2C devices
  • Breakout footprints to add more LED strips/matrix's

The module does require 3 AA batteries and a Micro:bit is not included.

 

 

 

Unboxing and first impressions

The :GAME ZIP comes in clear packing allowing you to see the module while the sturdy packing prevents any damage in transit.

The board is very thin however doesn't bend or run the risk of snapping due to the battery holders and cartridge slot (edge connector) providing stability.

The overall design is very simple and well laid out, every component is clearly labelled with its corresponding pin on the micro:bit.

The construction feels fairly robust with good soldering throughout, I pushed/pulled on the larger components and everything felt very secure.

The packaging features a diagram listing all the pin references which comes in handy when coding.

 

image

 

Design and functionality

The buttons are well designed, they have a little wobble and make a satisfying click and help the retro feel of the board. Most similar products opt for an analog stick instead of 4 button control, however the placement and quality of these buttons provides a much nicer experience. They feel robust enough to take a beating.

The board has a stamped warning 'May become hot'. I stress tested this out by leaving the the module on full white light for a few minutes, the only area that became uncomfortably hot was the back of the board where the LEDs are connected. This isn't where the users hands would be during normal usage and after 5 mins it didn't increase in heat or cut out. During normal usage (playing games) there was no noticeable heat.

The functionally of the micro:bit is not affected by the module, allowing you to access the accelerometer, gyro, compass, buttons, LED screen, radio and Bluetooth (allowing the possibility of multiplayer games, good example in this video)

With the batteries inserted, the board is comfortable to hold, with the batteries acting as something to grip onto, the holders are well designed and the batteries are unlikely to fall out, the plastic ends of the holder seem to bulge ever so slightly with batteries inserted.

The edge of the board can be a little uncomfortable to hold, but cases are available to purchase/ 3d print free of charge (i'll go into detail on this later on)

The board can also provide power to the micro:bit, meaning you don't need a power supply for the Micro:bit. The board features an On/OFF switch, a power indicator LED would have been a nice addition to see if batteries are drained.

 

imageimageimage

 

imageimageimageimage

 

 

Initial Testing

Kitronik provides a extension package to control the module, it provides code bricks to cover all the functionality of the board:

A full breakdown of the extension is available here

image

 

After plugging the the batteries I put together a simple code using JavaScript Blocks Editor to test out the components.

image

This code can be accessed here.

 

The board can also be controlled by using the Neopixel package and digital write and digital read this is for more advanced use and allows for more control and flexibility:

 

image

This code can be accessed here:

If using Neopixel library, you do still need the Set pitch pin to buzzer from the GAME ZIP extension to force the sound out of the buzzer

 

 

LED Display

The display works fantastically, it has very vibrant colours and the code is very intuitive.

Initially i did not include the Set Brightness node, and the results were blinding! This module would work well as a flashlight in an emergency! The LEDS are intended to be used with Lazer cut Perspex  or a White 3D printed sheet to diffuse the light so it makes sense to be this bright, however if working without a shield i found 10 - 20 brightness to be more comfortable.

 

image

Max brightness example

 

 

Buzzer

The buzzer provides a nice sound and outputs at a pleasant volume

I didn't get any sound on the first test as i had not included the Set pitch pin to buzzer brick, by default the micro:bit uses Pin 0 to output sound where as the :GAME ZIP buzzer is attached to Pin 2. This node redirects the signal to the onboard buzzer and allows you to use all the functions from the music tab:

image

This is covered in the lesson plans and online documentation and was easy enough to work out, however it could easily stump a beginner.

 

 

Rumble motor (vibration motor)

The motor really packs a punch when the board in not in a case, you may wish to use analog write instead of the built in function to lower the intensity if you use this frequently in your game.

image

 

Tutorials and support

On the Kitronik web page for this product, a number of resources are available:

  • A datasheet in multiple languages
  • Micro python examples for Pong and Snake
  • Links to 3D print and lazer cutting files for creating your own case
  • A set of 5 lesson plans

 

Lesson Plan

The lesson plans are hugely detailed and Kitronik has really done a good job on these, as a teacher myself i can easily follow the information and everything is clearly curriculum linked and signposted. It has a good progression from first use to advanced projects including engaging exercises and questions to pose to your class, each plan comes with a powerpoint presentation for each step of the lesson. This is a really fantastic resource and would be very handy for someone trying to learn the board on their own. There were a lot of computer science concepts and interesting projects i wouldn't have thought of myself. Lesson plans of this quality would be worth the £40 on its own. The plans are aimed at Key stage 3 (secondary/high school age) however a lot of the exercises can be adapted to a younger age group using the GAME ZIP extension which makes the more difficult concepts easier to implement.

 

Datasheet

The datasheet is very comprehensive, covering all the dimensions, Electrical information, board layout, example code and a warning about using the expansion footprints:

"Care should be taken when using the external breakouts for Pins 19 and 20 as GPIOs, as this can cause issues with the I2C devices on the BBC micro:bit itself (e.g. compass and accelerometer). When using the 3.3V breakout pins, these should not draw more than 50mA each, or 100 mA in total, due to the current limit of the voltage regulator."

The datasheet is very easy to read and a lot of attention has been given to it's presentation.

image

 

Example Code

There are two example games provided:

  • Pong written in micro python
  • Snake written in the blocks editor

It was a good decision to include examples for both coding languages used on the micro:bit as people often have a preference. The examples are very comprehensive, well commented and provide the user with a good foundation on which to create their own games.

The examples may not be suitable for beginners, and it would be good to have a few more game examples pitched at different experience levels.

 

PONG

 

 

SNAKE

 

 

 

 

Another example has been posted in the comments of the GAME ZIP blog

It is a tool for painting images on the LED screen, it is a lot of fun.

Posted by David Fisher: Painter

 

3D printed Cases

Combining the GAME ZIP with a case gives it a really polished and professional appearance, offers protection to the components and makes the board much more comfortable to hold, Kitronik provide a few different options to create you own case using a lazer cutter or 3D printer, the full range is available here.

 

I own a Wanhao duplicator i3 plus and had a try printing a case.

image

 

I printed with medium quality, it took around 4 hours to print out all the sections, in hindsight i wish i'd printed in fine detail as the print needs a lot of precision to fit around the components and snap together, I had to chip a few extra pieces off to get it to fit, and some of the edges came out a little rough. I also used supports which ended up blocking some of the cutouts, i'd recommend printing without supports.

It has a really nice feel to it and instantly transformed the board into a stylish retro product, I'm a big fan of the homemade atheistic of 3D printing so this was a really nice addition. The case does cover two of the battery holders so needs to be disassembled when replacing batteries.

 

imageimageimage

If you don't have access to a 3D printer or Lazer cut covers are available for purchase here they retail for £2.99, many companies will print 3D files for you for a reasonable price.

 

 

Mini-Project

After trying out the example games, I was keen to have a go a creating one for myself, I created 'DODGE THE DOT' a simple game where a red dot falls down the screen and the player must dodge left and right, game play footage below.

It took around an hour to code (don't judge me!) and was a lot of fun to create and play, it was great to play with a much larger full colour screen and playing with the joypad buttons was a much nicer experience.

 

 

 

Classroom use

I took the board along to our weekly code club, as we had a free week where participants can choose what they want to work on. I encouraged a very experienced participant to work with a less experienced participant to see what they came up with. I took them through the test code to show them all the working parts and pointed them in the direction of the lesson plans (which they promptly ignored as it felt too much like 'school'!). Working independently the more experienced participant was able to create a character sprite which moved around the screen, and a dot which appeared randomly which the player should collect. They were very proud of their creation and was adamant they wanted to buy a GAME ZIP for themselves to play with at home.

 

The less experienced participant wanted to use the board for pixel art animation, I explained they would have to light up each pixel one at a time, or use the loop method outlined in the first lesson plan:

image

They felt this would be too time consuming and wished the board had the same functionality similar to those found the basic and game menus:

imageimage

This would lower the bar for entry make the board suitable for all ability levels. Despite the micro:bit's popularity, the majority of second and primary schools i visit haven't used it before and have very limited coding ability, there's often a small handful in each class who really understand it and can confidently code their own programmes. Often we have to start from scratch and give them some really simple to get them engaged and excited, before we can move onto more advanced methods.

 

 

 

Breakout Footprints

I put together a very rough prototype to test the footprints out (small conductive tabs letting you attach additional components). I added a jumper cable between GND and Pin 19, the code to get this working was very simple however i couldn't find any online resource on how to do this. This additional connections are a really nice addition to the board and really give you the opportunity to customise and modify your GAME ZIP, something which will really appeal to people wanting to purchase this.

imageimage

The Jumper cable simulates a shoulder button being pressed, when one end of the wire is removed, the display goes black.

 

 

Conclusion and Future Suggestions

In summary, this is a really fantastic, well constructed and designed board. It may not be suitable for beginners without any support, but a great tool for anyone who enjoys making games, especially with a retro feel. The price feels very reasonable for the amount of functionality provided and the support, tutorials and customisation options are beyond what i'd expect.

It would be really great to have a centralised hub where people can submit their games and play other peoples creations and perhaps a bit more functionality for creating animations and simple game logic.

Anonymous