Pro tip: 3D printing startups can make their own swag. Image by Author.

Technical deep dive into how I built Print Nanny, which uses computer vision to automatically detect 3D printing failures.

Technical deep dive into how I built Print Nanny, which uses computer vision to automatically detect 3D printing failures. I’ll cover each development phase: from minimum viable prototype to scaling up to meet customer demand.

Launching an AI/ML-powered product as a solo founder is a risky bet. Here’s how I made the most of my limited time by defining a winning ML strategy and leveraging the right Google Cloud Platform services at each stage.

For my birthday last spring, I bought myself what every gal needs: a fused filament fabrication system (AKA a 3D printer). …


Pictured: Raspberry Pi 4GB, Pi Camera v2.1, Pimoroni Pan-Tilt HAT, Coral USB Accelerator
Pictured: Raspberry Pi 4GB, Pi Camera v2.1, Pimoroni Pan-Tilt HAT, Coral USB Accelerator
Pictured: Raspberry Pi 4GB, Pi Camera v2.1, Pimoroni Pan-Tilt HAT, Coral Edge TPU USB Accelerator

Portable computer vision and motion tracking on a budget.

Part 1 — Introduction 👋

Are you just getting started with machine/deep learning, TensorFlow, or Raspberry Pi? Perfect, this blog post is for you! I created rpi-deep-pantilt as an interactive demo of object detection in the wild. 🦁

UPDATE — Face detection and tracking added!

I’ll show you how to reproduce the video below, which depicts a camera panning and tilting to track my movement across a room.

I will cover the following:

  1. Build materials and hardware assembly instructions.
  2. Deploy a TensorFlow Lite object detection model (MobileNetV3-SSD) to a Raspberry Pi.
  3. Send tracking instructions to pan / tilt servo motors using a proportional–integral–derivative controller…


When I released Print Nanny in January, it was a prototype I hacked together in 2 weeks. In the past 5 months, I’ve slowly built up the prototype into the Beta you see today.

Hey folks! Leigh, creator of Print Nanny here.

Do you know what rhymes with stability and reliability?

The latest release of Print Nanny! Ok, you might have to say it fast and slur a little bit — but there’s totally some internal assonance in there.

When I released Print Nanny in January, it was a prototype I hacked together in less than 2 weeks over Christmas break. In the nights and weekends since, I’ve slowly built up the prototype into the Beta you see today.

Building new software from scratch

Sometimes the “gradual muscle growth” of improving every day is hard to see.

But when…


Print Nanny will now learn from her mistakes! With active learning enabled, your camera stream is used to re-train the machine learning models used by Print Nanny’s AI.

Hey y’all,

Just wanted to let you know a new Print Nanny Release is live! 🎉

Spongebob Squarepants and Patrick Star celebrate
Spongebob Squarepants and Patrick Star celebrate
Release v0.5.0 is the largest yet!

Reset your Device Identity

I changed the way device keys are issued, which means you’ll need to reset your device identity!

If you’re upgrading from a previous version, Print Nanny’s wizard should prompt you to register your device again.

If you skipped the wizard, you can do this from Print Nanny’s settings menu by clicking the Reset Device Identity button…


TensorFlow Lite on Raspberry Pi 4 can achieve performance comparable to NVIDIA’s Jetson Nano at a fraction of the cost.

Image Credit: raspberrypi.org

Originally published at bitsy.ai/3-ways-to-install-tensorflow-on-raspberry-pi.

With the new Raspberry Pi 400 shipping worldwide, you might be wondering: can this little powerhouse board be used for Machine Learning?

The answer is, yes! TensorFlow Lite on Raspberry Pi 4 can achieve performance comparable to NVIDIA’s Jetson Nano at a fraction of the dollar and power cost. You can achieve real-time performance with state-of-the-art neural network architectures like MobileNetV2 by adding a Coral Edge TPU USB Accelerator.

This performance boost unlocks interesting offline TensorFlow applications, like detecting and tracking a moving object.


Square brackets are interpreted as a pattern on the command line. Two improvements over the default behavior.

Originally published via bitsy.ai

I’ve been using zsh and ohmyz.sh for years, but I still occasionally forget this shell interprets square brackets as a pattern on the command line.

Here’s an example:

$ which $SHELL
/usr/bin/zsh
$ pip install -e .[develop,plugins]
zsh: no matches found: [develop,plugins]

Instead of installing the develop and plugins variant of this Python package, zsh attempted to match this pattern. To account for this, I need to escape the square brackets:

$ pip install -e .\[develop,plugins\] 
Obtaining file:///home/leigh/projects/OctoPrint

If I need a more permanent fix, I can use an alias to set -o noglob (disable shell…


Hands-on Tutorials

Learn how to use TensorFlow.js to speed up data annotation

Introduction 👋

Originally published via bitsy.ai

Data collection and preparation are the foundation of every machine learning application. You’ve heard it before: “Garbage in, garbage out” in reference to an algorithm’s limited capability to correct for inaccurate, poor-quality, or biased input data.

The cost of quality annotated data prompted a cottage industry of tools/platforms for speeding up the data labeling process. Besides the SaaS/on-prem startup ecosystem, each of the major cloud providers (AWS, Microsoft, Google) launched an automated data labeling product in the last two years. Understandably, these services are often developed with Premium/Enterprise users, features, and price points in mind.

On a limited budget, am I stuck labeling everything by hand?

Good…


Tiny, low-cost object detection and classification.

Part 1 — Introduction

For roughly $100 USD, you can add deep learning to an embedded system or your next internet-of-things project.

Are you just getting started with machine/deep learning, TensorFlow, or Raspberry Pi? Perfect, this blog series is for you!

In this series, I will show you how to:

  1. Deploy a pre-trained image classification model (MobileNetV2) using TensorFlow 2.0 and Keras.
  2. Convert a model to TensorFlow Lite, a model format optimized for embedded and mobile devices.
  3. Accelerate inferences of any TensorFlow Lite model with Coral’s USB Edge TPU Accelerator and Edge TPU Compiler.
  4. Employ transfer learning to re-train MobileNetV2 with a custom image…

Leigh Johnson

Building https://www.print-nanny.com/. Head to https://bitsy.ai/ for more Applied ML and Edge ML projects. Google Developer Expert. Staff ML Eng @ Slack.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store