Oxocard: learning to programme with a Swiss minicomputer
Product test

Oxocard: learning to programme with a Swiss minicomputer

David Lee
31.1.2023
Translation: Patrik Stainbrook

Have you heard about the credit card-sized computer that can run your custom programs or the samples it comes with? It can become a miniature game console, a meter, or whatever you want it to be. When trying it out, I was particularly taken with the pricier model.

Oxocards are programmable minicomputers. They were invented in Switzerland, more precisely by Oxon AG, a small company from the canton of Bern. Oxocards are primarily designed to teach programming. So far, there are four models. I’ll leave out one of them in this review, the Oxocard Blockly for kids ten and up. The other three in question are recommended for ages 14 and up. With them, even complex programs can be realised, exciting even for both youngsters and adults.

The Oxocard Science, Galaxy and Artwork, also known as Oxocard Mini collectively, are the size of a credit card. They all feature a square screen sporting 240 × 240 pixels and a side length of 2.5 centimetres. Then there’s five keys – four directional keys and one button in the centre. The cards draw power via a USB port on the bottom.

Programming is – thankfully – not done on the Oxocard itself, but in a web-based editor. You can use your notebook or desktop computer. The minicomputer is connected to the editor via Wi-Fi. Programs in the editor can be transferred directly to the Oxocard and run at any time. If you’re someplace without Wi-Fi, a USB connection is also possible. However, the computer needs a one-time driver installation to do this, and the card may need a firmware update (which, of course, won’t work without Wi-Fi).

Why do I need my own hardware?

My first question: why do I even need a card if I’m programming on my regular computer anyway? Wouldn’t it be better if I could run programs right there too – on a nice big 4K screen?

There are a number of reasons for why such miniature hardware is justified. Firstly, programs can be permanently stored on the card so that they work independently from the editor. By adding games, for example, it can become a small, simple handheld console.

Secondly, all three cards have a 3D accelerometer built in. This way, games of skill that won’t work on your «normal» PC run flawlessly.

One of the three cards, the Oxocard Science, features numerous other sensors. You can measure temperature, air pressure, humidity, CO2 content, light and infrared intensity, sound level and dominant sound frequency.

Oxocard, Gooseneck cable, Charger.
Oxocard, Gooseneck cable, Charger.
Source: Photo by David Lee

Setting up the Oxocard

The manufacturer supplied me with a powerbank called Oxocharger and a so-called Gooseneck USB cable. The cable in particular is quite convenient. It can be bent into a certain shape and holds any position – similar to the arm of a reading lamp. The powerbank is heavy enough to hold up the card using the USB cable. Oxocard consume very little power, and a battery pack is estimated to last several days.

This simple but pretty example illustrates random numbers.
This simple but pretty example illustrates random numbers.
Source: David Lee

The device is connected to a home network in two steps. First, you take a picture of a QR tag from the card’s screen, which creates a Wi-Fi Direct connection. Then you transmit your Wi-Fi password to the card. The card will connect to your network and download firmware updates as needed.

After that, you open the web editor. Before getting started, you need to connect the editor to the card. To do this, you enter a three-digit code displayed on the card. You only have to do this once, unless you own several Oxocards.

Numerous examples

The editor provides numerous sample programs, all of which can be tried out with one click. Your way forward lies in modifying these programs to understand what each command and value does. For many programs – especially the basic ones – there’s a tutorial that explains the program step by step.

Programming is done in Oxoscript. It’s true, Oxon invented a programming language specifically for the cards. Oxoscript is strongly based on Python. If you learn Oxoscript, you’ll quickly get along with Python later on. Python itself is too power hungry for these minicomputers.

I think the sample programs are very well done on the whole. For example, the dry but important topic of random numbers is visualised with pretty circles. Nevertheless, the program in question remains very simple with only seven lines.

My hand covers the light sensor – the plant is unhappy.
My hand covers the light sensor – the plant is unhappy.
Source: David Lee

In addition to the basics, there are further sample program for the three cards. The «Galaxy» card is geared towards games and contains the three classics Asteroids, Lunar Lander and Miner, as well as numerous demos. «Artwork» is similar, focuses more on graphic effects. «Science» offers examples of what you can do with sensor measurements. Take one program, which gives you indications as to whether an apartment should be aired out. Or a flower that indicates whether it’s happy by using facial expressions – in essence, whether it gets enough light.

An LED illuminates the light sensor – the plant cheers up.
An LED illuminates the light sensor – the plant cheers up.
Source: David Lee
Quickly made: A small program that displays the ambient volume.
Quickly made: A small program that displays the ambient volume.
Source: David Lee

Basically every program is available for any card. You can play and modify Asteroids with the Science card, for example. You just won’t get any sound, as the Science card is the only one without a speaker. The programs that read out air pressure, temperature and the like only work with the Science card due to the hardware.

Quick successes

Although I’m barely familiar with Python, I make good progress – much faster, for example, than when I program something in Basic on the C64. Python, respectively Oxoscript, is a modern programming language in which you can define your own functions and objects. Thanks to the many examples, I hardly ever have to start from scratch. In addition, the searchable documentation aids me. If I ever forget how to do a for loop in Python/Oxoscript, I can look it up in the editor.

Last but not least, there’s a modern chip on the card. The ESP32 with 2 MB of RAM is especially made for developer boards like the Oxocard. Its performance is easily sufficient for simple programs. It takes about a second to beam a program onto the card and run it.

Using the examples and documentation, I finished a script for displaying ambient volume in about half an hour. And not just the current reading, which is usually random, but an average over the last ten readings.

Quickly made: A small program that displays the ambient volume.
Quickly made: A small program that displays the ambient volume.
Source: Screenshot: David Lee

However, Oxocards definitely have their limits. For example, I got the idea to program a guitar tuner. After all, the Oxocard Science can measure a dominant frequency using its built-in microphone. However, values are only calculated accurately to 125 Hz. Way too little for a tuner.

I also gave up my attempt to program a piece of music after some time. The Galaxy and Artwork models can play single sounds in addition to five predefined sound effects. Making melodies work. However, polyphonic sounds don’t, and the sounds peak very easily. The device also crashed repeatedly during sound output. If sound and music are important to you, the Oxocard isn’t your ideal device.

Biggest limitation: the screen

The screen is a bit small for games. Especially when figures are moving quickly. They need to be a certain size to be recognised and distinguished at all. Resulting in a cramped screen, as is evident when running Asteroids. As soon as the asteroids enter, they’re already almost at the spaceship. The game therefore has to run slowly to be playable at all, and it’s less fun than the 1979 original despite improved graphics.

But you can also take it sportingly: making a game with good gameplay on such a small screen is an exciting challenge. Frogger, another included classic, is an example of how this can succeed. The game is very much playable despite the micro-screen. You, of course, have access to the source code for the game as well.

Frogger works quite well on the Oxocard, too.
Frogger works quite well on the Oxocard, too.
Source: David Lee

Conclusion: easy to get started, fun to play

There are numerous other developer boards out there, the best-known ones probably being the Arduino and the Raspberry Pi. But the Oxocard is a complete system with its own screen, buttons and other hardware. Not as powerful as a Raspberry Pi, but easier to get started with. You get everything you need, including useful and decently explained sample programs. A successful concept.

Regardless of age, anyone who enjoys programming will probably like these minicomputers. The Science variant is clearly the most interesting for adults. With its sensors, it has the potential for useful applications that go beyond mere gimmicks. The only pity is that it doesn’t have a speaker. Meaning that no warning tone can be emitted if a measured value is exceeded or undershot.

The other two cards, Galaxy and Artwork, offer sound output, but otherwise don’t possess any advantages, apart from the price. Their sample programs can also be tried out and modified on Oxocard Science. The sound options are also quite rudimentary. My recommendation for adults interested in programming thus lands on the Oxocard Science and the very practical Gooseneck USB cable.

Cover picture: David Lee

106 people like this article


User Avatar
User Avatar

My interest in IT and writing landed me in tech journalism early on (2000). I want to know how we can use technology without being used. Outside of the office, I’m a keen musician who makes up for lacking talent with excessive enthusiasm.


Computing
Follow topics and stay updated on your areas of interest

These articles might also interest you

Comments

Avatar