Introduction: Flashing MicroPython on Kano Pixel Kit

About: Hello! My name is Murilo, I am a Brazilian technologist (or a full stack developer if you prefer). I am profoundly interested in education and technology. More specifically when technology is used to build a …

Kano's Pixel Kit is a great piece of hardware! It features 128 super bright RGB LEDs, a joystick, 2 buttons, a dial, battery and a powerful microprocessor as its brains (ESP32).

It comes from factory with a firmware that talks with Kano Code App, an app where you have coding challenges, can browse creations made by the community, stream the creations made on the block based interface to the LEDs and save animations.

It's a great way to give the first steps learning how to code or to have a fun animation display at home. But if you want to unlock the full potential of your Pixel Kit there is a simple and powerful solution: Replace the factory firmware with MicroPython!

This tutorial will show multiple ways you can replace the factory firmware with MicroPython as well as restore the original firmware.

Step 1: Two Versions of Pixel Kit

There are 2 versions of Pixel Kit: The Kickstarter version has a Banana Pi brain and the retail version has the ESP32.

If your Pixel Kit has an SD card you have a Kickstarter Pixel Kit (KPK), otherwise you have a Retail Pixel Kit (RPK).

This tutorial is only for the Retail Pixel Kit.

Step 2: OSX High Sierra, Ubuntu 18.04 and Windows

This is the easiest way to flash your Pixel Kit. Go to https://github.com/murilopolese/kano-pixel-kit-flash-tool/releases and download the latest version of Pixel Kit Flash Tool.

Once downloaded, make sure your Pixel Kit is on and connected to your computer via USB (it comes with a red cable) and run the application.

Click on "Select serial port..." to pick your Pixel Kit serial port. If nothing shows up here, make sure again that your Pixel Kit is on and connected to the computer and click "Refresh ports". If that doesn't work, try changing the USB port on your computer.

On some OS (like Windows 7) you will need a driver to be able to make your computer to talk with Pixel Kit. The easiest way to get the driver is by installing Kano Code App. Alternatively you can manually install the FTDI drivers here or here.

Once the serial port is selected, just pick what you want to flash: Kano Code firmware will reset the factory firmware and MicroPython firmware will install MicroPython (Pixel32 to be more specific).

This can take a a few seconds to a minute to complete.

Step 3: Any OS With Python 3

If you have any operational system with Python 3 and pip, you can easily run Pixel Kit Flash Tool from the source super easy.

You can check if you have Python and pip installed by typing `python -V` and `pip -V` on your terminal/command line. If you don't have Python or pip, download and install it from https://www.python.org/.

Then follow the steps:

  1. Download the latest source code on the github page or using this link.
  2. Unzip the source code and navigate to it using your terminal
  3. Run "pip install -r --user requirements.txt"
  4. Run "python run.py"

After that you should see the Pixel Kit Flash Tool window.

  1. Make sure your Pixel Kit is on and connected to your computer via USB.
  2. Click on "Select serial port..." to pick your Pixel Kit serial port.
  3. If nothing shows up here, make sure again that your Pixel Kit is on and connected to the computer and click "Refresh ports".

Once the serial port is selected, just pick what you want to flash: Kano Code firmware will reset the factory firmware and MicroPython firmware will install MicroPython (Pixel32 to be more specific).

This can take a a few seconds to a minute to complete.

Step 4: Use MicroPython!

You can find all the documentation for what you can do with the MicroPython firmware (Pixel32) you just installed on your Pixel Kit here: https://murilopolese.github.io/kano-pixel-kit-pixel32-docs/

I made other Instructable just for the first steps with Pixel32:

https://www.instructables.com/id/Pixel-Kit-Running...

You might also find many other MicroPython and CircuitPython tutorials online and they are most likely to be compatible with the Pixel Kit! Let me know if you find any problem or if you have a better solution!