Encoding security camera stills to video

You can’t do much better for still image compression than JPEG. Video codecs use the high redundancy of images in time to get better compression when compressing a series of images.

I wanted to archive images from my home security cameras (which save still JPEGs over FTP to a Raspberry Pi) and save some disk space so I whipped up a script to pull them down and transcode them to video.

Continue reading Encoding security camera stills to video

Headlight for elBoda

My primary transportation is an elBodaBoda electric assist cargo bike from Yuba bikes. It’s a great bike and a real car replacement with cargo and passenger capacity. The electric system comes with a tail light but no head light. It does however include an auxiliary power output that supplies 6V whenever the tail light (and control panel back light) is switched on. So I headed down to my local makerspace and quickly whipped up a headlight.

Continue reading Headlight for elBoda

User serviceable parts inside: Replacing a smartwatch battery

When my Toq smart watch stopped accepting charge, and I was told I wasn’t eligible for a warrantee repair because I received it as a gift (seriously Qualcomm?) I figured I might as well try repairing it, or at least finding out what was inside.
Continue reading User serviceable parts inside: Replacing a smartwatch battery

Guidelines for writing code for the ESP8266

Espressif’s ESP8266 WiFi SoC is an increasingly popular chip for Internet of Things projects, both hobby and professional, because it combines a capable MCU with a WiFi radio in a single chip for an amazingly low cost. It’s received a lot of attention in many blogs but I wanted to give a little bit more technical depth on the MCU architecture and my best practices for programming it. There are some idiosyncrasies which have to be taken into account when programming to get the most out of the SoC.

Continue reading Guidelines for writing code for the ESP8266