Tuesday, July 24, 2012

Arduino Breadboard eeZee Crystal

You know how, when you breadboard an Arduino, you have two caps and a crystal to stick in the board and the crystal always falls out? Or you use a resonator but you have to place it somewhere else and run wires over? Just awful! How can we live like this??

Icky. That is SUCH a mess. If only there were a solution...
Messy breadboard crystal installation may well be the greatest problem facing mankind today and I have personally and single-handedly solved it with this simple, tiny, cheap plug-in, AVR pin-compatible crystal.

Ahhh. This makes my OCD voices very happy.

BreadboardCrystal.zip contains all the eagle files, bill of materials, Digi-Key csv, gerbers, etc. I ordered my boards from OSHPark.com.

For giggles, I'm selling these on TindieThis is kind of an initial experiment in hobby self-funding... But yeah if you want to make your own it's not too awful hard.

Friday, July 20, 2012

Aurora Shooting

I just learned of the horific, cowardly shooting at a movie theater in Aurora, Colorado, about 10 miles from my house. Please keep the victims and their families in your thoughts and/or prayers.

Friday, July 13, 2012

Software Version Control With Subversion

Subversion doesn't refer to the early stages of the robot uprising. Subversion is an open source package for source code version control. It also works for version control on hardware designs. There's too much to cover in one post, so I'll hit the basics to get you started..

Why Version Control?
Why might the roboticist care about version control, you may inquire? Simple. It's like a giant undo button when you screw up the project (notice I didn't say if). It also helps you experiment with changes. And it's useful to coordinate various hardware, firmware, and software changes together.

For example... the client and server code I wrote for capturing images off the Game Boy Camera is very persnickety. I tweak one thing in firmware or client software and it all goes to heck. So if I want to make changes, I save the working version of the code and try the changes. If they fail miserably I can revert back. If they work I can commit those changes to the server.

Ok, great, let's get started...

Friday, July 6, 2012

AVC: Heading and Position Estimation

How does Data Bus, my AVC robot, know where it is and at what heading it's pointing--its pose?

Data Bus uses three primary sensors for pose estimation. Dual wheel odometers provide distance measurement. An L3G4200D MEMS gyro provides heading information. Finally, a Venus638FLPX GPS provides additional heading information. A Kalman Filter fuses the data but there's another trick: lag compensation. First, let's look at the sensors.