Thursday, December 30, 2010

Bucky haz balls

I recently got some buckyballs. They are small highly magnetized metal balls that go into different shapes. They are meant as a geeky desk toy, and are probably really really hazardous as cat food.

Here's a pic of making them into circles. They are on a standard sized placemat, so you can see the scale of them:



And here's a more difficult arrangement I made by making a bunch of hexagons, and sticking them next to each other. I found it harder to get the little suckers to line up than I thought it would be. Definitely a good geek toy.



Thursday, December 23, 2010

Geeky, or lazy, or both?


I picked up a $40 Eye-fi device today. It's 4G of storage and wifi capability in an sdcard sized format that you use in your camera. It wirelessly copies photos from your camera to your computer and/or your choice of online flickr-ish picasa-ish web sites. I find the automagic moving of photos to Facebook or Flickr to be a bit trigger happy, maybe because I always take tons of photos, and then sort down to a few decent ones to post. Anyway, I configured mine to plop photos and videos onto my NAS drive, so they are then accessible from all my different devices, ipad, galaxy tab, laptops, and even on my tv (thru my PS3).

If I use FileBrowser app on my iPad, I can locally store a photo from my NAS, which then means I can pull it into BlogPress for posting here. A bit convoluted, but it gets the job done, and it means I'm not constantly pulling the sdcard out of my camera when I want to pull pictures from it, and then hand copying them to somewhere my iPad can read from.

If I like it as much as I think I will, I might get the uber sweet one that also geotags photos based on wifi location, and supports pushing RAW format.

So i wonder if getting an Eyefi is geeky, lazy, or both?

Wednesday, December 22, 2010

Testing out blogpress iPad app

I really prefer to post from my iPad, yet the browser interface is a bit rough in places. So I'm testing out blogpress to see how it does. One feature I want to test is posting images stored locally on the iPad, if this works, I'll probably snag the camera/USB card attachment for iPad.


This is a photo of a delicately posed rock in Big Bend National Park, with the Chisos mountains behind it.

Tuesday, December 21, 2010

Gesture Recognition in Snowstorm

Today a patch was released for the Snowstorm Second Life viewer that enables gesture recognition. It scans the video stream from your laptop's webcam and determines if you are shaking your head up/down, or if you are waving. It then plays animations matching those in Second Life, so everyone around you in SL sees you waving or nodding.

https://jira.secondlife.com/browse/SNOW-820?

It is very early code, so don't blame me if your machine explodes, but it is kinda fun to play with. It pops up a side window showing the outlines of what the gesture code finds, including a nice box around your head. During testing I had to make myself humanoid, since my funky woolly caterpillar avatar didn't grok the head nodding.


It's Alive!

Watch out, the software geek is spinning servos. I made my first robot yesterday. My emphasis was on not destroying any of the parts i was using, so they could be reused in future projects. First, a shot of how messy my work area out in the garage was during building:
As you can see, I've really got to spend some time getting stuff organized.

The bot is built on a sheet of yellow plastic that's fairly strong yet easy to  cut with some grunty swipes of the utility knife. It uses a single power source connected directly to Vin on the arduino. The battery pack is mounted on the underbelly (6aa NiMH rechargeables). The arduino and mini breadboard are mounted on top. For locomotion, i have 2 gws continuous servos connected to the regulated 5v output of the arduino. I have a switch on the breadboard controlling the servos, so I can start and stop them independently to the arduino.  For wheels, I use leftover CDs that i drilled holes in and mounted to the servo horns using wire. For a 3rd wheel, I used one of the slippery pad things intended to go on the bottom of chair legs to help it slide. With the batteries, it weighs 1lb, 2oz.  It's programming is dead simple, I basically just turn on both wheels and roll. I did break out the wheel functions to a separate file (not a library, just crammed in a .h) to aid in reusing in my next bot.  I think I have a power thing I don't understand with this one (alert:software geek doesn't know which end of a capacitor is up). I have loop() do a serial.print() each time it gets called, and that print stops happening when the wheels start. I'll be damned if i can can find meaningful data on the servos to tell me what their peak power draw is, so it perplexes me. It will perplex me less when my motor driver arduino shield arrives, because i think that will help. I also need to start driving the motors from a different power supply than the arduino. I'm imagining my next bot sagging under the weight of all these batteries.

It scoots around the kitchen floor, it is rather cute. I did learn a lot by building it. Here it is ready to roll:

Saturday, December 11, 2010

LOL shield Hello World and Blogger's icky video



So I used Blogger's built in video uploading, and wow, did it #FAIL. There seemed to be something gefunct with the video playback, the frames only advanced when I wiggled the mouse (Win 7 Home Premium). So, this is a test to see if posting from youtube directly works better.

Fingers crossed as i hit Post.

Calculator surgery

While I was waiting for some software to install, I did a little surgery on an old calculator I found kicking around the house. I basically just wanted to see how it was put together.

First I took the back off:

And then I pinched off the 4 plastic rivets connecting the PCB to the front face. Here's what it looked like after that. Notice since it is solar powered, it still works without a battery.

Software Geek learning to solder

I wanted to pick a project with lots of soldering, so I could learn how to do it, and work on my technique. Full disclosure: I have actually soldered before while making stained glass panels, but it is quite different than this. For electronics soldering, it's very precise, and uses smaller amounts of solder and a tiny little tip on the iron.

I picked the LOL shield as my learn to solder project. 126 LEDs all soldered in very close proximity to each other. Here is the underside of the board part way thru the soldering process.

I took my time, and actually spread the soldering work across several sessions. Basically you stick each row in, flip over the board, and solder *one* lead on each LED. Then you flip it right side up, and reheat each joint, straightening the LED while it is molten. Then you solder the remaining leads, and clip them off. I guess the biggest mistake I kept making in the beginning was that I wasn't heating the joint properly before applying solder. One thing I still haven't figure out is desoldering when one of the holes gets filled with solder. When it is wedged in an open hole, even with reheating, i couldn't seem to get the solder sucker to completely remove it, and my desoldering braid seemed completely ineffective.

Like most arduino things, there were excellent instructions on how to do this online.

Here's a pic of the completed shield, mounted on my arduino uno:


Once I had it mounted, I grabbed the open source library from svn to use it, and tried out the samples. You have control over each LED, and they have a built in font library.


Wednesday, December 1, 2010

My itsy bitsy webserver: Wishield 2.0

Yesterday I got a Wishield 2.0, it's a tiny wifi shield that goes on my arduino. It's my first shield. Tonight I set it up, grabbed the code to use it from github. I'm able to get it to function as a webserver, it even properly handles WPA2-PSK security.

Here's the test page it serves:


I can imagine all sorts of uses for this thing, it can be either a client or a server. I'd like to use it to add remote control capability to a robot someday.... assuming i can find a Motor shield that doesn't conflict with the pins used by the Wishield . As you can see here, this guy uses plenty of pins. It also has some flash memory on it that you can use to store web page bits, so lots of possibilities...

Tuesday, November 30, 2010

Hacking Mybook Live

This morning before work I hacked my MyBook Live NAS.  I take no responsibility if you violate the lawyer weasel-ly words in your MyBook end user agreement.

I recently picked up a Mybook Live 1T drive. I decided I really did need a little NAS in my life.  It has a built in media streamer, and lets me define SAMBA shares that can be accessed from my different Windoze machines.

One thing it didn't seem to have was a straightforward way to enable and get to something resembling an HTTP server.  I know it's running one, since that interface is serving up the Admin interface for the device, but I couldn't figure out how to get at it. I tediously poked thru all the admin panels looking for a way to enable it for mere mortals, to no avail.

Then I thought maybe I could get in via ssh. Nope, port 22 was blocked. ...sigh.... Enter google. I found a posting that said you could enable ssh by using the Save/Restore config in the Admin interface Utilities panel. I downloaded (saved) the config, changed the ssh line to enabled, and uploaded it and watched the machine reboot. Port 22 waz now open. Yay. I then googled the default password, since it appears the Admin interface password is not root password. It is actually welc0me.

I logged on, and changed my password. I'm in! It looks like it's a Debian powered beast, and has php already enabled.

Happy hacking.

Friday, November 26, 2010

I2C and sensors

I'm deep in the bowels of trying to figure out my first 'real' robotics project. More on that in future posts.

One of the things I'm trying to figure out is how to manage motors, various sensors, and different shields on my Arduino Uno. I was wondering about two arduinos being able to communicate with each other thru some sort of lightweight protocol that doesn't gobble up wads of pins. Arduino add on shields are typically hardwired to use specific pins, and there isn't any coordination between shield makers on trying to not stomp on each others pin usage. Major bummer if you want to use two shields in a project that both demand use of pin number 10. If I can spread out some of the different robot functions to multiple arduinos, I can hopefully avoid pin conflicts between shields.

Then I found I2C. I2C manages hardware thru one master device, and a series of slaves. And it uses two pins, analog 4 and 5. And a simple library (called Wiring) for implementing i2c is already built into arduinos core libraries. So you can use it to connect two or more arduinos, and have them do some simple back and forth communication.

But wait, that's not all! In addition to using it to string together arduinos, there are some sensors out there, like these guys that can be read using i2c. That allows you to string up a bunch of sensors and read them all with just two pins.

Sunday, November 14, 2010

Third hand

This is a pic of me wiring up one of the beginning examples in the arduino starter kit. It's one that fires up a small DC motor. A couple of things to note.... The wiring diagram pinned on the breadboard makes it idiot proof to wire up. I hope i'm learning enough to wire up things without them.

Also note i got a "third hand" contraption. It's meant to hold your PCB while you solder with little alligator clips, it even has an soldering iron holder. Right now i'm using it to get a better view of things on the breadboard and to help sort tiny little resistors and such. (read: my eyes are old). It even has a nice LED light built in.

Thursday, November 11, 2010

On my command.... Shields up!

Arduino is a whole parallel universe, and a cottage industry has sprung up around making hardware extensions called shields. Shields make arduino very configurable for whatever the particular project at hand. They connect, one on top of the other like the photo from shieldlist.org below.  I imagine several shields are in my future, one of the battery shields for sure.

Wednesday, November 10, 2010

i can haz arduino!

today my arduino uno arrived. it's so cute, it fits in the palm of my hand. i installed the software with a few clicks, including the device driver. I got the starter kit from sparkfun, and wired up the first example: a blinking LED. Not exciting, just making sure all the parts connect and work.

Tuesday, November 9, 2010

Choice is good

I recently got excited and interested in doing some robotics in my not so spare time. For some reason it has just grabbed me.

So I started investigating, and I've been shocked (overwhelmed?) by all the choices. I considered the non-vacuum version of the roomba called the create, with a netbook globbed on top of it. So then my friend Kurt started talking to me about the cool little beagle board and the new sweet dual core panda board.
The panda board looked really nice, but I decided I didn't really want to spend my time tinkering under the operating system, and pandaboard just smelled like an operating system project.

Then I stumbled across arduino. It's a small, cheap, simple micro controller for robotics projects. I've ordered one from sparkfun. Hurry up fedex man, hurry up.

Blogspot or wordpress?

This is a test of posting from my ipad. Apparently the reason I was getting a #FAIL on posting from my iPad before was because buried in the settings page for this blog, it was set to use the old post editor, and not the new shiny one.