Magnetometer VI: Working AVR Example

SONY DSCFinally, some progress on my AVR compass project. I've got a program that runs on the Adafruit Trinket and shows real compass headings, all in 3712 bytes. While it's far from being a finished product, it's a big step in the direction of one.

Below, I'll give you the source code, talk about how recent compiler changes impact code size, tell you about a bug I fixed, and make a bunch of excuses for why this took so long.

Read the rest of this entry »

Tags: , , ,

MicroView: Lazy Fix

SONY DSCThe MicroView is a nifty little gadget with an ATmega328P microcontroller, an 64×48 OLED display driven by an SSD1306 controller, and an Arduino-compatible pinout. (The General Overview page at the Microview website has more useful information.)  It was produced as the result of a (very!) successful Kickstarter campaign.

Unfortunately, the nice folks at SparkFun had a teensy manufacturing complication. You can read their account of the details, but the TL;DR version is they shipped out something around 2000 MicroViews with no bootloader. It sounds like they're making every effort to make things right, and shipping out a replacement to everyone with an affected unit. But in the meantime, they've got some instructions up if you want to try fixing the problem yourself. (Worst case, you won't make it any more broken; Best case, you end up with two working MicroViews for the price of one.)

I got one of the "bad" MicroViews, and was able to revive it using the instructions. But I think I came up with an easier way to do one of the more difficult steps: connecting three wires to tiny vias inside the case. The punchline: use sewing needles (see picture above; click for larger version). Read on for more details.

Read the rest of this entry »

Tags: , ,

Retina Scan

Right-20140625@155858Left-20140625@155918More medical imaging. I present for your consideration the insides of my eyeballs. (Click thumbnails to view original full-size images.) The images shown were taken on Jun 25, 2014 using an Optomap wide-field retina scanner, probably the 200Dx model.

So now I have plausible deniability for anything that I'm alleged to have done on a system using retina scans for biometric authentication...

Tags: ,

Night Fury

toothlessArtist Mittie Paul created a wonderful interpretation of Toothless (from How to Train Your Dragon 2), inspired by traditional Viking art. You can get prints or merch featuring this image (at which, just look!).

Tags: ,

Magnetometer V: Fixed-Point Math

This is another article in my series about developing a magnetometer-based digital compass. Last time, I talked about estimating code size, and what I might do to fit the application in the roughly 5.25K program space available on an Adafruit Trinket.

In this article, I replace the floating-point math with fixed-point, and make various space-saving improvements to the calibration and rotation code. Read on for more.

Read the rest of this entry »

Tags: , , , , ,

Medieval Manuscripts

MS20BXX-78vWe're kickin' it old-school on SGS today, with a lovely post on the British Library's Medieval Manuscripts Blog. The image to the right is from Royal MS 20 B XX. Click the image to see a larger version, or -- far better -- use the British Library MS Viewer to browse wonderful, high-res zoomable scans of the original.

Warning: All links above are more perilous Internet time-wasting rabbit-holes than Wikipedia and TVTropes combined.

Tags: , ,

Magnetometer IV: Code Size

Last time, I presented a working proof-of-concept of a digital compass based on a three-axis magnetometer. That version was running in userland on a Raspberry Pi running Raspbian, which is a whole lot more computer than the Atmel ATtiny85 I eventually want to target. It was also coded for clarity rather than for speed or size.

In this post, I'll look at some quick-and-dirty ways to estimate program size for an AVR version (as well as some simple things we can do to save space). Read on for more.

Read the rest of this entry »

Tags: , , ,

Magnetometer III: Working Prototype

In previous posts, I talked about a method of transforming magnetometer readings to compass headings, then experimented with using those transformations on real (but static) data. In this post, I'll present a working prototype of a vehicle compass using the methods I discussed earlier.
Read on for more details.
Read the rest of this entry »

Tags: , , ,

Silverware Dragon

dragon-silverwareCheck out this dragon made of silverware, from Ohio artist Gary Hovey. (Long-time readers -- both of them! -- will noddingly remember the previous appearance of utensil-based dragon sculpture in these pages.)

Tags:

Magnetometer II: Real Data

In a previous post, I speculated about a method of converting magnetometer readings to compass headings using affine transformations (specifically, three elemental rotations). In this followup, I'll gather some real data, then see how those transformations actually work in the real world. Read on for details.

Read the rest of this entry »

Tags: , , ,