Stokes’ ProjBlog

A journal documenting innumerable, mostly terminally in-progress undertakings. Nerdiness abounds.

 

A display of character(s) December 8, 2009

Filed under: Miscelaneous Projects, New project! — Stokes @ 5:57 pm
Screenshot of my CharEdit tool.

As the W&B soda machine has been unplugged for the winter, I am putting the soda machine hack project on hold for a couple of months. In the meantime, I’m returning to some past projects, several of which I never wrote up in the blog. One such project is a system for handling and displaying an ultra-tiny bitmap font on a little graphic LCD, the sort that were on nearly every 90s cell phone and are currently popular with hobbyists.

(more…)

 
 

Blatant Fabrication October 2, 2009

Filed under: Miscelaneous Projects, New project! — Stokes @ 2:50 pm
Servo motor holders in SketchUp.

I made my first tentative steps into the world of desktop manufacturing last night. Having a couple of small servo motors, I thought it would be cool to make a tiny pan/tilt rig with them. I also thought this would be a good first 3D printing project. A couple months ago, several of us at W&B got together and built a Makerbot*, a small hobbyist’s 3D printer based on the RepRap project. Like RepRap, the Makerbot fabricates objects out of extruded ABS plastic, the same stuff of which LEGO blocks are made.

The Makerbot fabricates things by laying down a thin bead of molten plastic onto a small platform. The platform moves in two dimensions beneath the extruder, creating a cross-section of the model being built. After one cross-section is complete, the extruder rises and the next cross-section begins. It is a little like creating something from cake icing — I wonder if that’s the origin of the Cupcake name.

(more…)

 
 

Random idea: unique IDs on the Arduino September 23, 2009

Filed under: Miscelaneous Projects, New project! — Stokes @ 4:08 pm

I was thinking about ways to create multiplayer games/toys using the Arduino platform and realized a key difficulty: telling different Arduinos apart when there are more than two. Optimally, the system should not depend on one Arduino being the ‘boss’ and should be as simple as possible for the programmer. I think I have a solution.

This is the idea: modify the pre-compiler (or, more specifically, the IDE code that calls the precompiler) to automatically include a #define statement, defining MY_UNIQUE_ID as the last sixteen bits of the build time in milliseconds. The chances of two Arduino builds being done in the same thousandth of a second are extraordinarily low, effectively making the ID unique for all practical reasons. In the code, all the programmer needs to do is use MY_UNIQUE_ID as a variable.

I’ll have to take a look at the Arduino IDE source.

Update (9/24): A couple of people have commented on this on Facebook (where this appears via RSS), suggesting some dynamic, real-time solutions. These are good ideas, but the situation I was imagining isn’t one in which all the points would have access to each other simultaneously; instead, temporary connections are being made between units, probably by physical contact.

 
 

‘The Soda Machine Hack Project’ September 4, 2009

Filed under: New project!, The Soda Machine Hack Project — Stokes @ 5:19 pm
Schematic of W&B's vintage beverage dispenser.

Willoughby & Baltic has acquired a vintage soda machine; if I were to guess, it dates back to the late 1950s or early 1960s. It’s a massive steel box with a wood veneer front, its sides an industrial non-color. In contrast to more modern machines, its only text is the words Cold Drink in small, white-on-black, sans-serif lettering above a narrow, horizontal window displaying a representative can of each beverage within. I should have thought to photograph it, but I was distracted by the interior. Inside, the machine is a wonder of space-age technology: as you can see from the schematic, everything operates on 110V AC line current, and its works are almost entirely electromechanical relays and solenoids. Frankly, it’s pretty cool.

Of course, the first thing that needs to be done to the machine is connect it to the Internet. Why? I don’t know. I’m only interested in the ‘how’ at the moment.


(more…)

 
 

‘The Control Panel Project’ September 2, 2009

Filed under: New project!, The Control Panel Project — Stokes @ 4:48 pm
A retro-style control panel module.

I’ve long been interested in UI and usability; I took some courses back in school and I’ve pursued it on my own since then. A couple of months back, I performed a thought experiment: what would be the worst (plausible) user interface hardware? It occurred to me that bad interfaces keep the user from performing an activity, but what if the interface itself was the activity? In such a case, the regular rules no longer apply.

From that came my idea for a modular, expandable control panel composed of banks of toggle switches.

(more…)

 
 

RALPH, the barcode-reading robot. August 23, 2008

Filed under: New project!, The Barcode-Reading Robot Project — Stokes @ 11:44 am


I mentioned my then-unnamed robot project in my last post. While I still haven’t managed to finish my write-up for it, I did finally upload some photos to Flickr, just to build some momentum.

The short of it: the robot is designed to be a teaching aid for little kids to learn the basic concepts of programming. Instructions are encoded onto tiles over which the robot moves; these tiles are keyed like puzzle-pieces to provide a physical representation of the language’s syntax. It’s based on a Propeller microcontroller and uses a hacked PS/2 CueCat scanner to read the barcodes.

 
 

‘The LegoLCD Project’ December 23, 2007

Filed under: Miscelaneous Projects, New project! — Stokes @ 5:23 pm

Last month, I briefly mentioned the serial LCD I’d dug out of storage. I have a number of ideas for it, such as using it as the display for a Python-based MP3 player. Whatever I do with it, however, I need to put it into an enclosure.

The LEGO LCD and another Quatro system brick. The squares on the grid underneath them are one inch on a side; the coin is a US quarter.A while back, I saw something interesting: the LEGO Quatro system. Whereas Duplo is twice the side of a standard LEGO brick, Quatro is twice the size of Duplo brick. It’s very clever: toddlers can be given Quatro bricks, then use them with Duplo bricks when they get older. The kids can then use the Duplo bricks with standard LEGO bricks when they get older still. In any case, some gargantuan LEGO bricks seemed perfect for some sort of project or another. I didn’t have any specific idea in mind when I bought them, but a pair of 2×4 bricks ended up being the perfect size for the serial LCD.

(more…)

 
 

‘The Meter Thing Project’ September 4, 2007

Filed under: New project!, The Meter Thing Project — Stokes @ 11:41 pm

The ‘Meter Thing’ — to be granted a better name when one occurs to me — is a project to display on a set of vintage analog meters several numeric data (or data that can be turned into numbers) scraped from the Internet.


TINI 390 and Vinclulum breadboard socket. The larger grid on the paper beneath them is in square inches.The heart of the beast is an older model TINI, a little Java computer with Ethernet and loads of I/O, all in the shape of a 72-pin SIMM — roughly the height, width and maybe a third the thickness of a pack of gum (although newer models use the DIMM form factor). This sits in an extremely simple breakout board, which basically just provides a RJ45 network jack and a breadboard-compatible set of DIP pins for all 72 conductors on the SIMM. The meters I bought in a lot of ten on eBay. They are all from different sources, are different sizes, and have different units and scales displayed.


The analog meters. My favorite is the squarerootometer (upper left).The first challenge is to generate the analog signal for the meters. My original idea was to use 1-Wire digital potentiometers. The TINI supports 1-Wire exceptionally well, which is not surprising, as it has invented by the same people. 1-Wire would let me add meters as needed, just attaching them to the 1-Wire bus; I could then direct data to them by the unique ID of each 1-Wire potentiometer.

The problem with the digital potentiometers is the lack of range. Using the potentiometers to drive the analog meters directly did not give me the even coverage I need. The meters, regardless of their displayed units, are ammeters. Adjusting the resistance gives me a reciprocal curve (if I’m using the term correctly): x/1, x/2, x/3, et cetera.

I need some sort of ‘real’ digital/analog conversion; either PWM or some more sophisticated DAC chip. 8 bits of resolution are probably enough; if a meter has an arc of 60 degrees, that gives me increments less than half a percent. I have a couple of candidates in mind.

More background on this project and its current status to come.

 
 

‘The Motor Controller Project’ September 3, 2007

Filed under: New project!, The Motor Controller Project — Stokes @ 10:41 pm

This project is actually sort of a sub-project; it will later be used to drive more interesting things.

This is my first attempt at an L298 H-Bridge motor driver board. It is based primarily on some sample schematics from the L298 data sheet; some inspiration was also gleaned from other similar projects available on-line. This will also be my first attempt at etching a PC board, which is a little daunting.

The design is fairly straightforward; it isn’t much more than a breakout board for the L298, plus the minimal handful of additional parts to support it. I’m going deliberately simple in order to keep it as generic as possible; I originally bought my L298 ICs with the intention of providing forward and reverse for a pair of standard DC motors, but it now looks like my first application will be driving a bipolar stepper motor.

(more…)

 
 

‘The Clock Project’

Filed under: New project!, The Clock Project — Stokes @ 10:19 pm

Introducing the Clock Project!

‘The Clock Project’ (as reads the label on the plastic box in which its parts reside) is something I started quite some time ago. I had been trying to think of some sort of object to create, something primarily artistic but also with some actual function. My original idea was to build a coffeemaker, but all my sketches of things I could build ended up looking like drug paraphernalia – while that’s arguably what a coffeemaker actually is, it really isn’t my style. I abandoned that idea and started thinking about building a clock.

The clock is going to be driven by a 1RPM timing motor, with a train of gears reducing that to minutes and hours. My plan is to have different faces for seconds, minutes and hours, as opposed to the standard system of coaxial hands on a single face. I don’t know why the standard clock design is like that; it seems to add unnecessary complexity, both in design and use. It’s a bit abstract to have two completely different numbering systems on the same face. My intention is also to have the clock rotate the face itself rather than move hands. This also seems like a better design; even lightweight hands are inherently off-balance, at least as traditionally implemented.

More to come, once I get some images rendered and web-ready.