Building the Mini Weather Station v2

Last night, I gathered all the parts for the Weather Station and did some assembly.  Installing a few dozen parts by hand, on a 12.5cm² PCB is an intricate process.

I start out with a huge printout of the PCB layout, an unpopulated PCB, and this excellent anti-static parts tray from iFixit.  All the big and identifiable parts go here.  When I’m feeling more energetic, I sometimes print out a specially-formatted parts list that goes under the tray, but I didn’t do that this time.  Just out of frame, there’s a stack of bags with hundreds of tiny surface-mount capacitors, resistors and inductors.  Since they’re not easily-identifiable, I keep them in labelled bags and deal with one at a time.

IMG_3829.JPG

Next, I align the solder paste stencil over the bare PCB and squeegee the paste onto the board.

Before:

IMG_3830.JPG

After:

IMG_3831.JPG

That paste is made out of microscopic balls of lead-free solder, held together with a sticky material called flux.  As you can see in the photo above, it’s not a perfect application of paste, but the reflow process is somewhat forgiving: the surface tension of molten solder helps to settle the parts into better alignment.

About a half-hour with curved ESD-safe tweezers, and the board is fully-populated.  At this point though, all the parts are simply resting atop the sticky paste.

IMG_3834.JPG

Into the oven!

This is a modified toaster oven, that I use for the sole purpose of baking electronics.  There’s my new board, ready to get baked!

IMG_3835.JPG

I really did have far too much fun building this toaster… I ripped out the existing thermostat and timer, and installed my own completely custom control panel and temperature control circuitry.  And it does a pretty decent job of following the time/temperature curve that I programmed into it!

IMG_3841.JPG

A few minutes later, and after it’s all cooled down, I’ve got a completed board!

IMG_3846.JPG

Advertisements

One commented-out line of code…

So it turns out, the original Mini Weather Station v1.1 board does still work, and it is still sending data to the Internet.  Well, it was trying to, anyway.  Turns out it was getting stuck because a line of JavaScript just wasn’t getting called.

Seawheezed

Wow, sure has been quiet in here.  See, I’ve been building robots (to take over the world), and spending too much time being ill, lately.

Robots are fun; being sick isn’t.  I had a really stubborn cough that just wouldn’t go away.  Still have a bit of it.  It comes and goes.  I’d like for it to go away, really.

This cough started around the beginning of July, and caused me to miss a lot of training, and even a few days’ work.  But of course, I had gone through the trouble of signing up for Seawheeze, and I wasn’t about to give up a ridiculously heavy carrot medal just for a cough.

My respiratory system is feeling much better than it was a month ago, when I could barely walk a few blocks without going into a coughing fit.  And I know that my physical form can take a half marathon — or at least, I’ve successfully run them in the past.

I’m not going to talk about my performance, but rather how this race became a step in my recovery from injury to health.  Yesterday’s race was about a few “moments” that really stuck out to me.

  1. Spin class on the Dunsmuir viaduct.  Maybe they shouldn’t tear down that thing after all.  Turn it into a gym!
  2. Running off the Burrard St. Bridge onto Cornwall: Wall-to-wall people, all running, all being amazing.
  3. Band on a barge, making up running-based lyrics to well-known songs.
  4. Legs hurt, can barely walk home.  Can’t wait to do it again.

Mini Weather Station v2

Last winter, I built a device that I called “Mini Weather Station.”  It is a small plastic enclosure which contains a thermometer, barometer and hygrometer.  And of course, a microcontroller, realtime clock and a 2.4GHz radio module.

IMG_3827.JPG

It worked reasonably well for a few months, even though it had a few minor design flaws.

IMG_3828.JPG

Yeah, that little piece of red wire is a sign of one of those minor design flaws.  The other problem isn’t as obvious from the photo.  I had originally intended the microcontroller to run at 1MHz on its internal oscillator.  But when I did, the barometer stopped playing nice with the microcontroller.  While I am able to run everything at 8MHz for a little while, the µc starts to become unreliable as the battery depletes.

Last time, I thought the battery was dead.  So I replaced it with a fresh one.  But, no matter how fresh the battery, it’s no longer transmitting.  The culprit seems to be some corrosion on a few of the radio module’s solder joints.

While I’m disappointed that the board has failed so soon, it’s given me an opportunity to address the design problems.

EAGLE screen shot

Here, I have a new board design with space reserved for a 4MHz ceramic resonator, a new expanded debugging header, and a completely redesigned board layout to better suit the orientation of the finished PCB in the plastic enclosure.

This still won’t solve the corrosion problem, though.  I found something called a “conformal coating”: a nasty chemical which claims to protect against moisture, corrosion, fungus, thermal shock, and static discharges.  I haven’t bothered with it before, mostly because I didn’t know that it was even a thing.  But even though it’s starting to cost me far too much money, this whole fake engineering thing is about trying new things and learning, with eye protection and safety gloves, of course.

With any luck, this iteration will prove to be far more reliable than the last one!

The Office Robot

At my office, it’s pretty common practice to work from home.  But when I’m working from home, I lose touch with what’s going on at work.  And we have a few people on the team who live in a completely different province.  What if we could have a robot that could be controlled over the Internet, and provide a way for people to remotely interact with each other?

Continue reading The Office Robot

The Tiny Desk Robot

I’m working on a tiny robot that’ll crawl around my desk at work, and provide endless hours of amusement.  The design is starting to take shape, but this is where I’m at so far:

Screen Shot 2015-08-05 at 14.23.56

 

I’m in the process of prototyping the wheels and gears, to see whether they’ll actually work.  I’m not sure about the bottom:

Screen Shot 2015-08-05 at 14.27.39

As you can see, it’s a differential-drive robot.  I’ve gone completely overboard on the number of IR sensors, but I want to have fun with it.  I’d like to be able to have this thing perform line following, collision detection (or prevention), and cliff detection.  So it can zip around the top of my desk without a care in the world!

The Multisport Event Formerly Known As Subaru Victoria

Success in triathlon is all about successfully carrying out a set of well-orchestrated tasks, in a specific sequence.  Whether you’re one of the professional elite, or whether you’re an enthusiastic age-grouper, it’s all the same.  Flawless execution of a race plan is what we strive for.

Of course, flawless execution is only half the battle.  Triathlon is as much about going through the physical actions, as it is about the mental discipline and preparation.  Leading up to the race, I spent a fair amount of time, creating a race plan.  Well, I can’t really call it a plan, because it It became more of an over-analytical checklist than anything, and landed as something of a race visualization guide.  I wrote my checklist, choosing words which created a mental and emotional picture of each step in the process.

So, while my splits (except perhaps for my T1 and T2 times) don’t come close to world-class, my performance in Victoria was a near-flawless execution of my race plan.  It was a successful race, in my books.  By the numbers:

500m Swim 10:04
T1 1:13
20km Bike 42:59
T2 1:18
5km Run 31:44
Final Clock 1:27:17

Package Pick-Up

I don’t think I’d normally include a comment about the package pick-up as part of a race report, but in this case, I must.  I felt that the organizers were more interested in making sure we all knew that the race was Ironman™-branded, than actually giving us useful information.  Especially for those of us racing the short course events.  The process of finding my race number, and making sure all the forms were filled out, was very disorganized.  Upon arriving at the athlete registration tent, I was told, “Go there first, and then come back.”  There was a small tent, crammed full of athletes trying to figure out their race numbers and which forms they needed to fill out.  It was as much a melée as a mass swim start.  Nevertheless, we were all able to figure it out.  But it wasn’t a great first introduction to the race experience, and in all honesty, I wasn’t mentally prepared to deal with it.  Fortunately (and I’m getting ahead of myself), the night’s sleep would help.

Bike Check

Once I had my race package, I went back to the car for my bike.  This is where the execution of my race plan begins.  This is the last chance I’ll have to make sure everything is in good shape before leaving my bike in the transition area overnight.

  1. Race number goes on the bike.
  2. Check that wheels are installed with quick-release levers at an appropriate tension.
  3. Check that brakes are well-aligned, and I didn’t forget to tighten the little screws on the brake pads.
  4. Get air in the tires.
  5. Take a quick spin to make sure everything is still in sound mechanical order.
  6. Make sure the gears shift smoothly and correctly.
  7. Choose an easy or appropriate gear for the start of the bike course (in this case, a short flat and a slight uphill grade).

Bike Drop-Off

After a successful test ride, I took my bike into the transition area.  I’m familiar with transition areas, and how little space is normally available.  I know to only bring the absolute necessities into transition.  But, when I found my race number on the rack, I wasn’t quite prepared for this.  What I found, was a clearance of at best 15cm to the bikes on either side of mine.  Not to mention, those stupid short racks that simply don’t work with my 58cm tri bike frame.  Fortunately, I hadn’t removed my rear bottle cages (as I have sometimes done in the past for a sprint distance), so I racked my bike off the rear of my saddle, so I’d be able to simply lift it out of the rack in T1.

I left transition, after trying to make sure that the adjacent bikes wouldn’t rub their icky metallic grossness on my carbon.  But I couldn’t quite shake the worry about being able to get my bike out and back in to transition without trouble.

Hotel Check-In and Dinner

Once the logistics were taken care of at the race site, it was off to the hotel to relax and get some food in.  We went to the hotel restaurant.  At this point, it’s worth noting that the adage, Never try anything new on race day, should be extended out to at least one day before the race.  This is all I will say about my pre-race dinner.

And then, after a suitable amount of time spent doing as little as possible, it was bedtime.  I set my alarm for some ungodly hour, and turned out the lights.

Race Morning

Setting up transition always seems to take me longer than it should.  But I think I’m getting the hang of it.  When I got into transition, everything was like clockwork.  I set down my backpack, and  went through it like a checklist, starting with the bike.

  1. Aero bottle on handlebars.
  2. Elbow pads on aero bars.
  3. Bike shoes un-velcroed and clipped into pedals, with elastic bands.
  4. Spare tubes and repair kit in one of the rear bottle cages.
  5. CO2 and inflator attached to rear of bottle cages.
  6. Gel taped to top tube.
  7. Helmet ratchet loosened.
  8. Helmet placed beside front wheel.
  9. Sunglasses, with arms out, inside helmet.
  10. Garmin mounted to bike, in Auto Multisport mode.

Then the run:

  1. Race belt in hat
  2. Hat behind bike helmet
  3. Bodyglide rubbed on shoes (inside edge of heel)
  4. Shoes on top of hat

And finally, the swim:

  1. Anti-fog applied to goggles
  2. Swim cap and goggles in back pocket of tri top
  3. Post-swim gel in back pocket of tri top

Once all my stuff was in the right place, I visualized all of the critical stages of the race.  I wasn’t really going through a checklist at this point; rather, drawing on my past race experiences.  And yes, everything was where it needed to be for my race plan.  My race day went perfectly.  While I didn’t win (nor even come close), I executed on my plan almost flawlessly.

 

Triathlete, Tinkerer