Written 2017-05-17

Tags:Bicycle USB Power Charger Phone DCDC 

My bike has a headlight with a huge battery pack and a DC barrel plug. With the addition of a simple DCDC converter, some waterproofing grease, and some heatshrink, I have built a cable that charges my phone from my existing bike battery.


TempTale Direct Teardown

Written 2017-04-05

Tags:STM32 Teardown flash ARM 

A Handy Shipping Watchdog

Ever wonder if your kobe beef shipped quickly enough? If your suspicous neighbor popped the lid on your coolerful of science experiment? Some other, simple, zany reason? TempTale makes a line of very handy environmental monitors. Drop one in when a sensitive shipment is packed, and the receipient can quickly verify that the package temperature was maintained through the shipment by opening an automatically generated PDF file on the device. The device appears as a USB mass storage device with a single PDF file onboard.

But, how does it work?

Album link:

Internally, it consists of an STM32 ARM microcontroller, external serial flash, a coin cell battery with solder terminals, some buttons, a high-speed and low-speed oscillator, and a bare LCD panel.

The bare LCD is neat, as the static discharge on my fingers caused a shimmer of pixels when I first touched it. Also, pay attention to the front edge below: The glass has metal contacts that then touch thin metal sheets embedded in the thick white-faced foam strip at the front. Contact is held in by the case and pcb.

TempTale direct teardown

Software-wise, only a few components are needed for something like this. A USB mass-storage driver, a filesystem driver, a PDF writer, and some custom logic to wake up the CPU from a low-power event, likely the RTC alarm, read the temperature, and store it to a circular buffer. Just before USB enumeration, write the circular buffer into a PDF file. Possible example components are linked above.

These are really handy little devices, I hope they become more widely deployed in the future for shipment validation. Sensitech even makes models with GPS and accelerometers as well.

Project Goals for 2017

Written 2017-04-02


Implement /proc/usbstats

Ever since building ioload, I have wished I could see bus throughput for more busses than just storage. /proc/usbstats is a file similar to /proc/diskstats that enables tracking of bytes and packets per second to and from USB devices. This is quite helpful for USB performance monitoring, as well as providing a middle-ground for debugging between raw USB packet capture and no metrics at all.

Analyze transmitter differences between KCUR and KPR.

I suspect KCUR has weak pre-emphasis in their FM-transmitter, based on differences with KPR, another public radio station, as well as with their online broadcast. This analysis will be done with an audio spectrum analyzer, as well as two RTL-SDR dongles.

Kenwood USB Radio Control.

The Kenwood radio control project resurfaces with another iteration and a new hardware platform. Previously built on FTDI USB FIFOs and a pile of discrete logic, Cypress makes an 8051-based microcontroller capable of implementing both Z80 CPU FIFOs as well as the status and reset registers of the Intel 8251 UART. This will be a much cleaner and more manufacturable design.

Apartment Fire

Written 2017-03-20

Tags:fire photographers water 

Today around three in the afternoon a fire broke out at a construction site. In early evening, I stopped to see a friend who lived nearby. This is what we saw.

Apartment Fire 2017 Rides Again

Written 2017-02-25

Tags:water absurdity rsaxvc server 

For now, is hosted on a raspberry pi in a spare bedroom, suspended between USB power and ethernet cables.