Archive for the ‘Projects’ Category

DIY Bicycle GPS Mount – Done

Thursday, August 20th, 2009

Mounted and Ready

Look at that sexy GPS Mount! I don’t know how it could have turned out better. In addition to figuring out how to attach it to the bike, there’s a nice coat of tool-dip sprayed on there. It’s an extra layer of scratch insurance, and it makes the mount blend in with the frame. Good stuff all around. Too bad I can’t take credit for any of it. Nice work Will!

Mount side-view

The main issue from the last post was trying to figure out how to get the holder on the bike. Looks like the old-reflector-mount path worked well.

Flush Mount Screws

lock-nuts

The holder is attached to the reflector mount using flushed screws and lock nuts, and mounted to the bike under the headset cap. I totally thought he was going to mount it on the handlebars, but I think this works better. It’s centrally located, and away from the hands.

flattr this!

DIY Bicycle GPS Mount – Take 1

Monday, August 17th, 2009

Locked_And_Loaded

A friend of mine came up for the weekend, and he had an idea for a GPS mount for his bike. We fleshed it out a bit, and came up with this. It’s made from sheet metal scavenged from an old toaster oven.

Insertion_Extraction

The GPS is held really snugly on all 4 sides. The top tongue is held in place by friction, and swings out of the way for easy insertion and removal.

Back_View

There’s one issue that hasn’t been completey ironed out yet. looking at the bottom of this thing, you have to ask, “How does it attach to the bike?” Don’t know yet. We didn’t have one handy, but most ideas revolved around using the mount from an old reflector; either JBWelding it straight to the bottom, or somehow using the bolt. Not sure yet. Once it gets painted / mounted I’ll post some more pictures.

DIY

We made this thing for a Garmin Nuvi, but this could be resized for any GPS. Or even – gasp – for the iPhone. Just cut the above shape out of sheet metal, substituting your device’s length width and height into “L”, “W”, and “H”. Bend along the dotted lines, with the yellow doing down, and the orange going up and over. (Click the image for a larger size.)

MAKE SURE to file down & sand all rough edges. if you do this, your device should remain unscratched. If you don’t… not so much.

flattr this!

Sparkfun Now Carrying Offset Headers

Friday, August 14th, 2009

SparkfunHeader
The title says it all. Their picture is much nicer than mine too. That quarter or theirs really gets around.

Here’s a direct link to the product page.

flattr this!

Sandal Retread using Fillet ‘o Tire

Sunday, August 2nd, 2009

Sandals After

I did this once years ago, and it worked really well. Take an old tire, and recycle it to make indestructible shoe soles. Tire tread is designed to handle way more abuse than simple walking can dish out. My current sandals were starting to wear down, and it was time to do it again.

There’s just one issue when using a tire: there’s a steel mesh embedded in the rubber. It rigidly holds a curved shape, which is not what you want. The solution I came up with was to fillet the tire, keeping the tread and leaving the steel behind. Good stuff.

Beyond that it’s a straight-forward process. You remove the old soles and glue the new ones on. The rest of my sandals will fall apart long before the soles do.

I took a bunch of pictures. Should make for a decent Instructable.

flattr this!

Arduino Offset Header

Thursday, July 16th, 2009

The Arduino has a problem.
dimensions
Not a big problem by any means, but still annoying under certain circumstances. As the story goes, an 11th hour design mistake has left the Arduino community with a header that doesn’t follow standard 0.1″ (2.54mm) spacing.

So what?

misalignment

For the most part, this flaw is completely transparent to the user.  Either they plug wires directly into the header, or use shields that have been designed to mate nicely with it. The problem occurs when trying to create your own shield. When you try to line up a standard perfboard with the Arduino, the header doesn’t match up. This has left the community either buying protoshields or resorting to various other DIY techniques. (here’s two.)

An Easier Solution

Offset Header
offset header - standard shield
Thanks to my hackerspace, I’ve been able to machine a jig to make Offset Headers. In my opinion it’s a great solution to the problem. Slide one through the perfboard (or whatever other 0.1″ spaced board you’re using,) solder in place, and you have an Arduino-spaced shield using a standard-spaced board.

But wait… There’s more

offset header - arduino shield

So that takes care of the cheap-shield issue, but there’s more that this header can do. There are TONS of Arduino-spaced sheilds out there. In my opinion, that’s one of the main things keeping people from developing and buying standard-spaced Arduino clones. Currently, if you make your clone standard-spaced, you’re going to alienate all the existing Arduino shields.  Having these offset headers lets users buy a clone without fear of shield compatibility.

Lastly

Many Headers

So that’s it. Offset headers by the boatload.  Hopefully someone somewhere finds them useful. I’ve sent a preliminary batch over to Adafruit, so they should be available there shortly. 

(UPDATE:  they are now available here)
(UPDATE: SparkFun has them now too.)

flattr this!

PID Front-End v0.2

Saturday, July 4th, 2009

PID_FrontEnd_v02

Some people spend the 4th of July relaxing with friends, drinking beer, enjoying some good weather. I… updated the pid front-end. I got several requests to add grid lines and axes, and now was the time. For those of you with an image of me in a dank basement coding away, fear not. There was a Hawaiian shirt and a hammock involved.

The picture says it all. The trend lines are a little thicker, and there are now axis labels and grid lines. It’s also worth noting, since it was a pain to code, that the time gridlines and labels scroll, and can be displayed in milliseconds, seconds or minutes.

It can be downloaded here.

flattr this!

Holy Crap I Made Cheese

Thursday, July 2nd, 2009

done

That’s right. Cheese. I was surprised by how easy it was.  It was just a simple farmer’s cheese, but still.  Making cheese is one of those things you just assume is impossible; for professionals only.  Turns out people have been making it for a long time, with tools far cruder than what we have today.  Who knew?

This could probably be an Instructable, but I’m not an expert, and I’d hate to inadvertently lead someone astray.  This is what worked for me, your results may vary.

So let’s get down to it.  I used this recipe / procedure.  Other than grossly over-specifying the amount of salt needed, it was easy to follow and gave good results.

Step 1: Heat the Milk

pre-addition

The recipe says something like “Slowly heat” until “about 180,” stirring “often.” I approached these statements with the meticulousness of an engineer doing something for the first time. First of all… ABOUT 180? No way. Digital thermometer. As far as slowly, I put the stove on low, and got a heat rate of 5-10 degrees/min. I rounded out the overkill trio by deciding to stir every 20 degrees. I’ve since made cheese again, have been more lax, and it still came out fine. (I still use the thermometer though.)

Step 2: Curdle the Milk

curds

Once the milk was at temperature, buttermilk and vinegar were added. Lowering the pH of the system causes the solids in the milk to want to separate. I think. This will happen at any temperature, but it’s amazing how quickly it starts when you’re at 180 degrees.

Step 3: Strain

cheese clothdrain1
drain3drain4

After about 10 minutes, it’s assumed that all the solids that are going to curdle have curdled. Time to get them out of there! Using cheese cloth and a strainer (for support,) I was able to keep the curds and dump the whey. Yes. Curds and whey. This is where that comes from. Why Miss Muffet would want to eat whey is beyond me. The curds are tasty though.

Step 4: ENJOY

enjoy

The last step is to salt to taste. I used 1/4 tsp. That’s it. Serve in the recipe of your choice. In the picture above it’s mixed with tomato, olive oil and basil. Delicious. It also works really well in mashed potatoes. The cheese apparently lasts for 5 days in the fridge, but it’s been gone after two days both the times that I’ve made it. 

I can’t stress how easy this was.  While it takes around 1:30 from start to finish, more than an hour of that is time where you can do something else.  Totally worth it! 

The next step for me is to make “real” cheese.  That means renet, and aging. At least I think that’s what it means.

flattr this!

A Robot that makes things!

Wednesday, June 24th, 2009

There was an immense amount of work that went into getting to this point, and I can only stake claim to a tiny portion of it. It was really cool to see our Makerbot throwing down the plastic… on the 20-30th try.

There were two main wrinkles. One we fixed, the other we lived with.

  • Getting the plastic to stick to the foam-core was hit or miss.  Covering the foam-core with double-sided tape created a much better surface.  We printed out 4 sets of tweezers without replacing the tape!
  • The issue we lived with was the extruder.  It’s not quite gripping the welding rod correctly yet, so we had to apply downward pressure manually. not that big of a deal for a 9 minute print, but it needs to be fixed before we print 4 shot-glasses on the same raft.  Man, if only most of us were members of a kickass hackerspace with access to machine tools.  Oh wait… we are.  Cool!

The other area just begging for improvement is the temperature control. Because the makerbot is using simple on-off control, we’re getting temperature swings of +/- 10 °C. The plan is to put in some data logging to see how bad the problem is, then implement progressively more complicated control strategies until we’re happy with it.

flattr this!

Arduino Reflow Toaster

Sunday, June 14th, 2009

Reflow
Pic 1: Arduino Controlled Toaster-Oven. No, I have not tried making toast with it

The Mark 1 reflow toaster is complete! (“Mark 1” is another way of saying there’s a lot of work to be done.)

It can hold +/- 1 °F, which should be sufficient for surface mount electronics. I say “should be” because I haven’t soldered anything with it yet.

Construction:

Reflow-Mast
Pic 2: Termistor support mast

Temperature sensing is done by a thermistor. Simple solder connections and 20ga wire get the signal back to the Arduino. (UPDATE: the thermistor is wired at the Arduino using this method.) The wires are run through a copper tube, and everything is held in place with JB weld. This setup seems to work, even at temperatures that melt solder. I don’t know if that’s because the JB keeps the solder connections from melting, or if it holds the molten solder in place during run-time. Either way, I haven’t had any problems getting temperature readings.

On the heat side, an SSR is spliced directly into the 120V plug wire. This is not safe. The SSR is fine, but having exposed 120V dangling near the toaster is a recipe for bad times. In the mark 2 that will all be neatly enclosed.

The toaster’s intrinsic temperature control was left in place, turned all the way up to 500°F.  If everything is working correctly, it will stay out of the way.  If something goes wrong, the temperature will be prevented from rising without bound.

Temperature Control:

I decided to use the Arduino PID Library to control the oven temperature. I think it works really well, but I’m a little biased.

Reflow_OnOff_vs_PID
Pic 3: Temperature control: On-Off vs PID. On-Off is easier, while PID provides tighter control with a more stable output

The easiest way to control temperature would be to use on-off control: “If I’m too cold, turn on. if I’m too hot, turn off.” I tried that first. As you can see in the picture above, it does a decent job. The oven temperature (red line) stays within 5 °F of where we want to be (green line.) This is probably fine in this application. The one questionable thing is the output. Since it’s cycling between full on and full off, there might be some extra thermal shock to the system.

On-Off control is probably fine, but as I said, I’m biased. I decided to implement pid control. As you can see, it does a better job of staying where we want to be. Instead of 5 degrees, now the temperature stays within 1 degree. Also, since the output is essentially constant, there’s a better chance that there will be a uniform temperature gradient in the oven.

The extra effort probably wasn’t necessary, but I still think it’s pretty cool.

Next Steps

  • I think the termistor may be in a bad location.  I wanted it to be really close to the workpiece, so I put it directly underneath where the workpiece would go.  it seems that when there’s a piece in place, it actually changes how heat flows in that area, and the temperature reading is almost 20 degrees higher.  I’ll need to see if this adversely impacts reflow…  once I actually reflow something.
  • I may need to upgrade to a convection toaster to get more uniform temperature distribution
  • currently I’m adjusting setpoints and watching progress using the PID frontend.  it would be nice to move that functionality onto the arduino. maybe an LCD and some buttons…
  • It might be cool to have a pre-programmed setpoint profile that the oven can cycle through

flattr this!

Graphical Front-End for the Arduino PID Library

Saturday, May 30th, 2009

PID_FrontEnd_Explained

The first (extreme beta) version of the PID Front-End is up on the pid library page. It makes adjusting an Arduino PID much, much easier. The download includes the processing sketch (of course.) It also has an Arduino sketch showing how to send/receive on that end.

Links:
Download UPDATE: Download
PID Library Page
Arduino Forum Thread

flattr this!