23 Feb 2019

Brief look into WowCube SDK

Category story

Very brief look into WowCube software SDK.

What is WowCube ? Gaming or kind of puzzle platform, based on Rubik’s cube principle. It uses 8 mini cubes conntected to each other with special magnet locks. Each of mini cube is STM32 bit microcontroller with firmware written with Pawn https://github.com/compuphase/pawn

There are 8 micro computers connected to each other. Imagine how to develop any kind of program to interact between them, its complicated. Official SDK is very weak, only what they offer is small repository https://github.com/wowcube/WOWCube_Emulator_MacOS which contains everthing even commited VCcode and Processing inside for some reason, so I decide to make new one clean version to make simplier.

Lets go step by step:

You need to have installed:

Since firmware used to be launched on each of 8 microcomputers we need toolchain to do it automatically, Makefile will suits here perfectly.

	pawncc pipes.pwn -ogame

	for i in 0 1 2 3 4 5 6 7 8 ; do \
		pawnrun game.amx $$i & ; \

Next step is you have to open ProcessingUI, and start Cube Emulator. Cube emulator interacts with firmware via UDP proto, so you will have to see results of interaction inside emulator, like this:


In dynamic:

Main disadvantage is that you have to write on two langauges, one for developer emulator and graphics interactions, and another for hardware interactions itself. WowCube uses Pawn as a scripting language for microcontrollers, I believe they do something like this inside their core loader:

#include "pawn.h"

int main() {

  FATFS Fatfs;
  ... // here you need to do a platform initialization

  //Mount filesystem
  f_mount(0, &Fatfs);
  // Execute test script
  // Endless loop
  while(1) {




WowCube is definitely interesting prototype, and worth to look into it, but until it have more simple to start SDK it will be hard to attract developers. SDK it self contains Pipes game demo. You can start it with Processing and ofcourse you don’t need WowCube it self, to understand development process.

My unofficial SDK package, https://github.com/noroot/wowcube-sdk-unofficial

Official Site: http://wowcube.com/