Pi Zero Birdcam

Posted on Sat 15 June 2024 in Making • Tagged with python, raspberry pi

Nestbox camera with a Pi Zero W and PiCamera2

In an early post on this blog, I detailed my steps for creating a nestbox streaming camera. I've updated my setup so I thought a new post on the topic would be in order.

A Raspberry Pi Zero W and its …


Continue reading

Weather display on an LED matrix

Posted on Wed 24 April 2024 in Making • Tagged with electronics, circuitpython, python

Using CircuitPython on a HUB75 LED matrix

I bought a couple of surplus LED matrix panels a while back, and I finally got around to playing with them. My panels are 16x32 HUB75-compatible panels. I planned to "stack" them to create an effective 32x32 matrix. Adafruit makes a neat little …


Continue reading

How to find outdated Python requirements

Posted on Sun 07 April 2024 in Python • Tagged with python

Finding outdated Python packages

A quick Python technique this time. You can get a list of outdated Python packages installed on your system with a simple command:

pip list --outdated

That will list all the packages, including their dependencies. That's nice, but sometimes it makes it hard to know what …


Continue reading

Dad Jokes As a Service

Posted on Mon 24 July 2023 in Python • Tagged with python

Everyone loves a good dad joke

... now, if only there were some good dad jokes!

The ICanHazDadJoke site claims to maintain the internet's largest collection of dad jokes. GitHub user CrossNox has made a nice wrapper around their API. Together, this lets you retrieve a random dad joke programmatically.

Why …


Continue reading

Getting a Boolean from any value in Python

Posted on Fri 14 July 2023 in Python • Tagged with python

Getting a Boolean value from any data type

Recently, I was building a webhook that needed to accept and operate on varied data from outside sources. Included in that data were values meant to be Booleans. However, some callers were sending values like "Yes" or "no" or even "-1". I …


Continue reading

Controlling Christmas lights with MQTT

Posted on Thu 02 January 2020 in Making • Tagged with python, arduino, xmas

I'm one of those Clark Griswold kind of guys that totally over-decorates his house. To make my lights more interesting, I've built my own light animation system which I call PiLit.

Of course, all my code is free and open source. Check it out at https://github.com/skypanther/PiLit …


Continue reading

Multiprocessing in Python

Posted on Mon 15 April 2019 in Python • Tagged with python

Modern CPUs typically feature multiple cores, which in some sense is like having multiple computers at your disposal. By default, your Python code will run on one core. But when performance is critical, you can use multiple cores to run operations simultaneously. In this article, I'll walk through how we …


Continue reading

Robovision on our 2019 FRC bot

Posted on Mon 15 April 2019 in OpenCV • Tagged with robotics, opencv, python

Now that our 2019 FRC season is over, I'd like to describe how Team 1518 implemented vision processing on our bot. We set some aggressive goals, which we aimed to achieve by using the the robovision library, OpenCV, and Python on a Jetson TX2. The primary goals of this post …


Continue reading

Introducing Robovision

Posted on Sun 10 March 2019 in OpenCV • Tagged with python, opencv, robotics

The FIRST robotics competition (FRC) challenges high school students to design and build a robot capable of performing multiple challenging tasks. These annual challenges typically involve computer vision components, such as identifying and using reflective markers to locate targets. High school computer science curriculum rarely covers software engineering topics, let …


Continue reading

Publishing to PyPI

Posted on Fri 25 January 2019 in Python • Tagged with python

I recently published my first Python package to PyPI. The guides I found on how to do so were mostly out-of-date and confusing. Of course, PyPI is reportedly coming out with new updates soon and my instructions here will soon be outdated. In any case, here's my take on how …


Continue reading