No sleep(), no Thread, no worries

March 10, 2018

This post is aimed at relatively new programmers grappling with how to manage multiple simultaneous things on their PiWars robots (for example, reading from a game controller without any lag while also managing a distance sensor that can only be read once a second!) I’ve had a few questions on Discord and Twitter about how […]

Dissecting the rainbow

March 5, 2018

If you’re entering this year’s PiWars competition you might have encountered some example code, originally from PiBorg, intended to get you going with the ‘Over the Rainbow’ challenge. If you’re not familiar with OpenCV, however, you might find this code a bit baffling. So, in this post I’m going to go line-by-line through the image […]

Control your Python!

July 30, 2017

If you’re building a robot for PiWars, or similar competitions, you’ll probably want to have some way to drive it manually – the most popular way to do this is to connect a game controller (hardware originally intended for game consoles such as the PlayStation or XBox). The approxeng.input library, available through Pip and compatible […]

Running Python as a Linux Service

April 28, 2017

This is a rather long post going into the detail of making a Linux service with Python. It’s long, but hopefully because it contains enough detail to be helpful! Let me know on Twitter in the usual place if it’s helped… Aims This post is going to cover how to get a Linux computer to […]

Isolating your Python with VirtualEnv

April 16, 2017

You may have seen references to ‘virtualenv’ in documentation, in fact, I refer to it frequently in the docs for my input library. A few people have asked me what it is and why they should use it. The simple explanation is that a virtual environment is a complete Python installation (interpreter, libraries, tools) which […]