• Vision based copter control
  • Automate Ethan’s room using LED strips and a stereo control
    • Authenticate using face recognition
    • Play music off brik
    • Gestures for control
  • A supersized Game Boy Micro
    • Use a old LCD from the Brocki
  • Do something with the CopterControl replaced with Wiicopter
  • Auto control of the Rustler aka nppilot
  • Move MonkeyFilter off a VPS
  • Limited FreedomBox hosting http and git are served locally
  • Add 2 GB to orion
  • Automatic backup of MTP based devices covered by Sweet Home
  • Archive level offsite backup
  • A NZ based VPS covered by self hosting
  • Piratebox
  • Understand the SBC codec
  • GPS logger using LPC810, dataflash, and compression
  • Extend gobot
    • Add Arietta support for the new sysfs branch
    • Test the real time side
      • Write an Arduino (Pro Micro) based pulse timer
  • A self balancing robot aka Citizen
  • Switch personal sites to Docker
    • A all-in-one container so it can be reproduced
    • Split into service containers
    • Logging, monitoring, intrusion detection
  • Build Piccolo, a tiny CNC
  • A retro computer in a FPGA with FUZIX
  • A new bot: tiny and fast.
    • LiPo battery, continious rotation micro servos.
    • Sensors?
  • Use my Vocore no, obsoleted by the ESP8266 and Arietta
  • Use golang on an embedded system (STM32?)
  • Use Rust on something. Perhaps Nim?
  • Make a handheld video game
    • Gamebuino has the libraries
    • A Teensy 3.1 + Adafruit 1.8" TFT + SNES controller
  • Learn how to make PCBs for physically tiny designs
  • Indoor navigation using BLE
  • Telemetry or state recording for my plane - done using a PixFalcon
  • A flat retro portable computer with a good keyboard and small screen like the N100 or Z88
  • A Spacebucket
  • A word clock
  • Use a SDR to receive NOAA weather images or the ISS
  • A pan and tilt unit
    • For recording my plane from on the ground. Or rockets?
    • To experiment with vision where it keeps pointed at the target - done with a webcam, OpenCV, and servo pan-tilt.
  • pipoint v2
    • An upgrade over v1
    • 3D print the servo and device mount
    • Pixel with remote control as the camera
    • Dynamixel as the drive with variable velocity
    • ROS based
  • Camera mount for Revo 1/16
    • As a partial rollcage front and back


  • Build the linaro-toolchain-binaries arm-none-eabi for a armhf host

Home box

Hardware side of a FreedomBox. Use an ARM chip, HDDs, and a SD card cache to keep the HDDs normally off. Use a dev board like the ODROID-U2 and Ponoko to build the case.

Last time serving music to all devices was the problem. DNLA looks fine technically but the implementations are poor and ugly generally exposing the architecture to the user.

Bandwidth is a problem. Most ARM chips are cellphone based and skip USB3, SATA, and gigabit ethernet. The i.MX6 is OK but it’s hard to resit the extra 700 MHz of the Exynos. Freescale did a very good job of opening the datasheets though which should be encouraged.

Micro quad copter

Play with something like the Crazyflie micro quadcopter. Advantages are:

  • Open hardware and software
  • Can fly inside (good for dev, snowy countries)
  • Safe

Positioning is tricky due to the limited lifting capacity and indoor use. Look into indoor positioning like

  • IR beacons with ID codes, spinning quadcopter, use the gyro to calculate angles
  • IR altimeter. Ultrasonic is heavy, affected by draft?
  • Dual camera ground station

Swarms are more fun.

Reversing the fitbit one

It’s a nice gadget but in the spirit of “you don’t own it unless you can hack it”, reverse the USB protocol and extract the step count data over Bluetooth.

Record all the things

Over measure everything. Record data from all the trackers I carry and use like

  • fitbit
  • Phone
  • Laptops
  • TV
  • XBOX
  • Coffee machine


  • Location
  • Time spent using
  • Level of activity (accelerometers?)
  • Pages visited, games played, shows watched, songs listened to


  • Leisure time
  • Project time
  • Wasted time (incessant checking of hacker news…)
  • “Streaks” by geofencing things like the gym and recording if something is visited to plan
  • Popularity of artists over time

Could use power draw for devices that can’t be self instrumented.


An easy, cheap way of measuring temperature across a vineyard.

A box that has a year battery life. Waterproof, robust. Replacing the battery on damage is fine.

Use the camera and flash on a smartphone for communication. Photodiode and LED on the unit to reply. Keeps the unit waterproof. Flash the flash for transmit, decode the flash recorded via the camera.

Have simple hand signal checks. Swipe hand past, back, past, and hold to get status. Use interrupting sun or torch on the same light sensor as for phone communication.

Place in the vineyard. Press ‘Record’ on the phone. Phone flashes the ‘get ID’ command, records returned ID. Takes GPS position, records in database with nickname.


  • Button: no sealing or custom case
  • Custom configuration device
  • Custom interface for configuration
  • Barcode of ID


Easier Spin. Control Rhythmbox over the dbus API. Have three playlists - Warmup, Respin, and Warmdown. Default workout time that can be bumped.

Clap for Next. States:

  • Warmup: means start
  • Workout: means pick another song
  • Warmdown: means one more workout song

Always shuffle. Never use the same song twice in a run. Record past songs to give variety.

Group songs by BPM/style? Two similar, then move on?

Use a Pulseaudio tap for echo cancellation? Beep at minute intervals for timing?

Use a webcam for gestures? Raise/lower volume?

Bonus points: fit songs within a minute of workout time. Calculate all combinations where |total play time - workout time| < 1 m.

PDP blinking lights

Do a PDP 11/20 style front panel with the black glass and 70s purple, use LEDs, drive using a BeagleBone, hook to the internet.

Design and have Ponoko cut out of clear acrylic. Etch the labels.

The I/Os are 3.3 V and 8 mA. Add some tricolour LEDs. Hook into the PWM.

Bonus points:

  • Multiplex the LEDs. Needs a kernel driver
  • Add some switches that do ???
  • Hook into the scheduler
  • Email notification
  • Solar charge/discharge notification
  • Adapt the Linaro kernel. Add low power states.
Michael Hope
Software Engineer