Where do you find out about good music these days? Used to be that indie and college radio stations would be finding and playing the new and good music (and some crap of course), but now it’s all Pandora and TuneIn and Top 40. I want to find good new stuff like what came from Talking Heads, Bowie, Cure, Clash, Kinks, Ministry, Zeppelin et al. Where is this stuff now days?
Author Archives: Niall
Tevis Cup 2012
The Tevis Cup: My wife (Cindy) has been preparing on and off for 8 years for a horse race known as the Tevis Cup. This is a 24 hour, 100 mile horse race over the Sierra Nevada mountains from Squaw valley to Auburn. Arguably the most difficult endurance horse race in the world, on average 50% of the entrants do not finish the race, and fully 80% of first timers don’t finish. The movie Hidalgo presents in typical glorified Hollywood style, what these riders go through. There are 22,000 feet of elevation changes and 100+ degree heat while going through some of the most rugged and treacherous trails in the Sierra Nevada mountains. The course follows (loosely) what used to be the pony express route over the Sierras. For reasons that escape me, my wife has been fixated on doing this race for the last 8 years, and this was finally the year that it all came together. Time, horse fitness, rider fitness and our recent move to the foothills have made this all possible. So without further ado, here is what we’ve been up to for the last little while…
Last week: Race prep went into high gear last week, with a crew meeting at our ranch and pit stop practice drills with the two crew teams (first and second half teams). We were ironing out all the little details that make a difference in getting riders in and out of the mandatory checks and stops at the race. Like they say, a five minute difference at each stop equates to 2 hours difference in your finish time, and quite often going overtime is a big reason first timers don’t finish, since there are cutoff times at each of the 10 pit stops/checkpoints in the race. Preparation and efficiency are key.
Friday day: Our teams were all arranged with one in Auburn prepared to make the run to the first major pit stop at Robinson flats high up in the mountains, and the starting team at Robie park near Squaw valley. Saddle bag contents were checked and checked again. The horse tack had been cleaned the day before which was a big no-no as it has gone out of adjustment and time and time again we are moving stirrup locations and girths around to get it back. Batteries and all electronics were checked and checked again – our horse’s heart rate monitor continues to give us trouble and again wasn’t working reliably – Polar has recalled most of the equine products from the last 3 years due to technical problems and still hasn’t resolved the issues, so we were stuck trying to make do.
Friday 7pm: It’s evening and we attend the pre-ride meeting and get all the nitty gritty details about the particulars of this year’s race. Weather forecast which we originally thought was going to be nice, turned out to be not so nice. By the time the riders would be in the deep canyons on the ocean side of the Sierras the humidity would be a dangerous 60%, with temperatures in the mid 90’s, giving an effective 120+ heat factor for the horses and riders. Not good.
Friday 8pm: After the ride meeting we’re doing final checks and taking sleeping pills so we can hopefully sleep some tonight. Nerves are running high and the tension in the camp starts to mount as the 205 riders and their crews prepare for the early morning start. Fights break out over water, where to walk horses, dust levels, if you can name it, it’s a point of contention and frustration. But nonetheless, by 9pm almost everyone is bedded down for the night.
3:30am: Horses start neighing, headlamps are bobbing around the camp as riders and crew awake and give horses their mash and electrolytes, saddle up and start warming up. Horses know it’s race day, and the normally high strung Arabians are off the hook – dancing and jigging, bucking, crow-hopping and throwing their heads while the riders and crew try to walk/ride them to warm them up. Dancelike moves usually reserved for the dressage arena are seen everywhere as puffed up horses prance around and look like fancy warmblood show ponies. Separating horses that have been together for the last 2 or 3 days causes some of them to lose what few marbles they had to begin with and they try to break down corrals and barricades to get back to their buddies. Even the usually even-tempered Morgans and Quarters and Paints are agitated and excited. One mule can be heard braying loudly, even though he is at least 1/2 mile away from us.
4:45am: The first wave consisting of the top-seeded riders in the race begin to assemble for the “rolling start” – a technique taken from car racing where the horses are led out single file and released at start while moving, thus preventing a large milling herd from trying to trample each other from a standing start.
5:15am: First wave of horses is given the green light at the starting line and the race officially begins. 24 hours from now if you haven’t crossed the Auburn finish line, you’re out. The trail here is fairly wide and the main contenders start jockeying for position before they enter the high mountain single-track where passing is nearly impossible. Getting stuck behind a slower horse is tantamount to losing the race so things are tense and horses get kicked, riders are yelling at each other and mayhem ensues. “Emergency braking” for a horse is to pull it’s nose to it’s side so it goes in circles, since getting it to stop prancing and pacing and running off is otherwise impossible. You see horses going in circles into trees, rocks, boulders, other riders – crazy. I’m glad I’m not on a horse.
5:30am: Second wave, or the not-top-seeded riders gets released. The scene is not as crazy as the front runners, most of these guys aren’t trying to win, just to finish, so they space themselves out as it’s much more important to keep from being hurt than to get out the gate. Cindy is in this wave and I watch as she gives her number to the checkout person and wish her luck, even though she doesn’t see or hear me. I’m in a crowd of about 40 other crew and well-wishers in the half dark of the early morning. I keep wishing I could’ve been less cantankerous this morning, it isn’t easy getting up at 3:30 and not having things go as planned and I’m disappointed in myself for not being able to be less self-centered on this important day for Cindy. I hope she’ll understand. I hope she’ll be okay.
Walking back to camp I pass some confused spectators who are trying to figure out if that was it and when will they see the horses and riders again. I tell them this isn’t much of a spectator sport, and the best place to see anything interesting is 68 miles later in Foresthill as the horses come up Bath road into the vet check area. They amble off into the darkness, still confused and disappointed, obviously having been duped into thinking this would be more interesting for a spectator than it actually was.
5:30am + 10s: Horse rigs (trailers and trucks) aren’t allowed to start up until the 5:30 riders go, so as soon as they are gone, the entire camp turns into an ant’s nest that has just been stepped on as everyone jumps in their rigs and tries to get into line to get out of Dodge. There is a 7 mile, essentially single lane gravel and tarmac road out of Robie Park with many switchbacks and cliff-edged roads. Passing is impossible and the dust being kicked up by the tires makes it difficult to see more than 10 feet in front of you. All the rigs are trying to make it to Robinson flat which is the first big pit stop. Driving time in ideal conditions from Robie Park to Robinson flat is 3 hours, and the front running horses are expected to make it there in about 3 1/2 hours. So starts the “road race” part of the ride as the drivers all try to get to the next pit stop with their crews. We had enough people on the crew that we had split up and by this time we already had 1/2 of our crew on the way to Robinson flat from Auburn so they could avoid this whole mess. That means I could take it easy getting out of Robie Park and head to the next big pit stop at the 68 mile mark in Foresthill fairly leisurely. Having a non-tense moment on Tevis race day is unusual and slightly unnerving in itself since I feel like I should be rushing around doing things, but my son and I have an uneventful morning in camp anyway. Let me rephrase that: uneventful meaning he sleeps while I work.
7:30am: I leave Robie Park after cleaning and packing up. Have an easy drive up the 7 mile logging road to start the trek down to Foresthill. At one point on that 7 miles of narrow forest road we saw a chipmunk in the middle of the tarmac munching on what appeared to be the carcass of a squirrel – and here I thought chipmunks were herbivores. Odd. The final sighting count is 21 chipmunks and 3 squirrels when we eventually leave the forest behind us. Later, out on Highway 80 as I make the climb to Donner pass at 700′ with truck and trailer, I wonder how Cindy and Paradigm are doing making the climb from Robie Park to Emigrant pass at 8700’. By my estimation, we’ll both be cresting the Sierra mountains at the same time. I keep looking to my left half-expecting to see horse and rider somewhere on the mountain peaks out there, but no such luck. With the sight of the chipmunk eating a squirrel still fresh in our minds, my son and I discuss the morality of cannibalism as we go over Donner pass, imagining what it must’ve been like to be there with the pioneers and their difficult lives so many years ago. Those were the years when what is now the Western States (Tevis) Trail was born and Cindy is crossing it the same way they did back then – on horseback.
10:30am: I arrive at Foresthill and park the rig in a place I had blocked off with yellow caution tape and crew member cars the day before. I’ve crewed a few times for other people at Foresthill and know that finding and keeping a spot close to the veterinarian area where the horses come in very important to having a successful stop here. 3 times I have to fend off other crews while they try to cross my caution tape or block the entrance to our crew area. It’s the wild west, and anything goes. If you don’t stand up and fight, you’ll be run right over and lose your spot. There is no officiating of any kind or enforcement of the “rules”, so it’s each team for themselves here. It’s about this time that I expect Cindy to be either going up, or going around the infamous Cougar Rock. Going up it is optional, but if you have the guts, it makes for the quintessential Tevis picture. As I found out later (obvious from the pictures below) she went up it in fine style.
11am: We are anxiously checking the leaderboard and talking to volunteers, and anyone on Twitter to find out where our horses are. There is a live webcast of rider times, but it’s woefully out of date. Usually at least an hour behind what’s actually going on. Rider times for the leaders into the first checkpoint were discouragingly 45-50 minutes behind normal times, meaning something difficult is going on out there and our first-timers are going to be having a really rough time.
Noon: Still no sign of times for our riders (we are a set of 3 crews actually, since riding together helps the horses we have banded together with some riders we knew from previous races).
1pm: The first times for our riders start showing up on the boards. They are 14 minutes from the cutoff time at the first major checkpoint, and they have gotten separated. This is not good. They are essentially 2 hours off their expected pace and if the horses are struggling at this point I fully expect to not see them make the 68 mile mark where we are.
1:30pm: We finally establish some communication with the other half of our team at Robinson flat and find out that Cindy and one of her co-riders had been held at the top of the mountain checkpoint because their horses wouldn’t pulse down (horses have to show recovery to 60bpm before they are allowed to continue from a checkpoint, and they will typically be at 140bpm during moderate exertion entering a checkpoint). Cindy’s horse Paradigm wouldn’t pulse below 78 for a full 45 minutes after entering the checkpoint. Again a bad sign, the horses are struggling with the altitude and conditions and it turns out that 3 of the water troughs leading up to that point had been empty, meaning the horses are partially dehydrated as well. A few minutes later I actually manage to get in phone contact with our crew manager at Robinson flat and discover that once Cindy got past the peak, things started to improve. The next two checkpoints she pulsed in at 56 and 48bpm, meaning she didn’t even have to stop for any pulse down, but could ride in and right back out of the checkpoint. Her horse had obviously recovered from the altitude and was performing the way we were expecting. Everyone’s mood brightens a bit as our hopes for her completion rise. She’s still not out of the woods, she has to make up that 45 minutes she lost at Red Star checkpoint if she’s going to finish within time, but her horse and her mood have improved.
2pm: The wild-westishness of this pit stop has reached it’s peak as all the crews from Robinson flat start arriving. It’s a Fire Marshall’s nightmare as fully half of the cars and trucks in this campground would be unable to move should be there a fire – they have been blocked in by other crews also trying to get close to the in and out gates of the pit stop. Our rig is completely blocked so we’re in that 50% that would have to just sit and watch things burn if that should ever happen.
2:30pm: My first-half crew from Robinson flat arrives at Foresthill and we quickly confer. Seeing as Cindy is running towards the back of the pack, I know that finding a crew spot at the finish in Auburn is going to be difficult and myself and another crew member rush off to secure a spot in Auburn before we have to be at Cindy’s next checkpoint up in the mountains at Michigan Bluff. We find the perfect spot in Auburn and leave a car there, but on our way back to Foresthill pit stop, we hear from our other crew members that Cindy has made up the 45 minutes and her and her 2 co-riders are back together and making good time. The horses are moving out well and everyone seems to be in good spirits, and we’re concerned that we won’t make it back to Foresthill in time to pack up some things to get to her next checkpoint at Michigan bluff. The sleep deprived and exhausted crew starts to freak out and some of our good planning goes right out the window. The list of important things we were supposed to take to this checkpoint isn’t where it needs to be and I’m not there to organize, so haphazardly one of my crew members and one of the co-riders crew-members head off to the Michigan Bluff checkpoint without all the necessary items.
4pm: Instead of going back to Foresthill to pick up the missing items, we head straight to Michigan Bluff checkpoint and find the other half of the checkpoint team just heading down the 1 mile walk into the checkpoint schlepping some of the most necessary items. We pick up the rest of what they had in their car and head down with them. I’m agonizing over my decision to not pick up the remaining items at Foresthill, but figure it’s better to be at the Michigan Bluff checkpoint in time, but without everything than it is to not be there in time and miss Cindy completely.
5pm: We’re set up at the checkpoint with all 3 of the rider’s crews anxiously awaiting any news of our riders. The only detail we have is that they all checked into Last Chance checkpoint at 2:54pm before entering the canyons. It’s hot and humid now, with occasional sprinkles of rain. The first few horses we had seen go through Michigan Bluff looked good and were moving well, but by now the horses that come in are exhausted and sweaty and stick their noses in the water trough and nearly fall asleep while drinking. The canyons in the heat and humidity are destructive and what could’ve been a race for many riders now turns into a struggle for survival for most.
5:15pm: We start seeing other crews pack up and leave as they start hearing news from nearby people with internet access that their rider has been pulled at one or another of the previous checkpoints. Disappointment abounds and you see dejected people slugging their way up the long steep road climb out of Michigan bluff carrying uneaten pails of mash and hay that their horses should have consumed here. Dreams are shattered and I fear for us and our riders.
5:30pm: We suddenly turn into one of those crews as we hear news that Cindy has been pulled at Last Chance because her horse is lame and can’t continue. One of our co-rider’s also finds out that their horse had been pulled one checkpoint further on at Deadwood because he had gone metabolic and was at risk of exhaustion and possible colic. It’s almost unbelievable to realize that your rider has been pulled. Something you don’t want to believe, yet you are slightly relieved at the same time. You now know that you will not feel the high as you watch them cross No Hands bridge, or see them go under the Finish Line banner in Auburn, yet you are relieved because you also know that they won’t have to endure hitting the wall somewhere past Poverty bar and wishing they were anywhere else besides on the back of a horse in the dark of the night on a narrow canyon trail. Many emotions and many thoughts and some words happen as our two teams begin the long walk up the hill and back to our car. There’s still hope for the last of the 3 teams, however. They are still on the active riders list, meaning they haven’t been pulled yet, so we leave their crew to their duty at Michigan Bluff as we return to our camp.
6:30pm: We’re back at Foresthill now and trying to regroup and figure out what to do next. The second half crew has showed up to find that Cindy has been pulled and they don’t have anything to do. The first half crew is dejected and walking dead, they’ve been up since 5am driving around hell’s half acre and crewing in the heat and tension and you can see the exhaustion in their walk and in their eyes. We’re trying to anticipate Cindy’s emotional and physical needs now that she’s been pulled and will be arriving back in Foresthill via race transport any time in the next 2 or 3 hours. We pick a few people out of the mix that will be the most useful and let the rest go find some sleep and comfort. Everyone has given their all so far and are disappointed and tired. We’ve also heard that the last of our 3 riders has been pulled at the Michigan bluff checkpoint because they went overtime. It’s official now, we’re all out of the race and it’s time to pick up the pieces, but our horses and riders are still out there at the checkpoints awaiting transportation back to either Auburn or Foresthill depending on their horse’s needs. We didn’t prepare for this eventuality so we have no idea what actually happens when a horse gets pulled. Time to figure it out.
7pm: I’ve found the transport people and sorted out that Cindy is actually (finally) in a trailer and on her way back to Foresthill with Paradigm after waiting at Last Chance for more than 2 hours. I was all prepared to go and pick her up myself, since it can be many long hours before transport actually gets to some of these extremely remote places to pick up a pulled rider and horse. Just as I’m heading off to go and get a couple of crew-members for help at the transport drop-off area, I get a phone call from a strange number. Cindy is borrowing one of her fellow pulled riders phones to let me know that she’s almost back at Foresthill and before we even finish the conversation I see her go past me in a truck with Paradigm in the trailer behind them. Far from being dejected or depressed, she seems to be excited and happy. She talks non-stop about first the difficulties and craziness of the high mountain pass and then how her horse just kept getting better and better after that. How by the time she was at Last Chance her horse was flying and doing amazing and she was eager to get into the canyons and get to Foresthill, only to have the vet call her back after her trot-out check at Last Chance telling her that her horse had something wrong with his right front foot. Disbelieving that there could be anything wrong she hastily strips off his protective boots and checks his feet, while her 2 friends ride out and leave her in the dust. They can’t afford to wait to see what happens since they are already too close to cutoff for comfort. Paradigm had had been trotting beautifully coming into Last Chance, doing an amazing 10 miles an hour after 50 miles of race. He was ready to take on the world, so it doesn’t make sense to Cindy that he’s off somehow. She sees a small cut on his right front foot and knowing that he is like the princess and the pea, cleans it up hoping that that is the issue. Another trot out and this time she sees it too, he’s off, there is definitely something wrong with his foot and it’s not the cut. Her race is over. I can only imagine what went through her head at that moment, but I’m sure it’s a similar mix of disappointment, relief, frustration and confusion to what we felt when we heard the news. It’s Tevis, after all, and anything can happen.
8pm: We’ve packed up camp and listened to Cindy’s many stories of close encounters and dangerous events and how she wished she could’ve continued but she’s happy with the outcome anyway. Her horse by this time shows no sign of lameness or injury, so it might just be something superficial like a bruised foot from a rock. We start up the rig and head out of Foresthill. Our ranch is only an hour away and it will be best for us and the horse to just go there and recuperate. Tevis is over for us this year and it’s time to head home and recount our adventures for the day and mourn the fact that Cindy didn’t finish and try to keep thoughts of doing it again next year out of our heads. There will be time to consider and plan and build hopes and expectations again, but for now it’s over and we need to sleep.
Getting Started With NetDuino
After my previous foray into Arduino and XBee, I was hoping to be able to use Node.js as the “on-the-metal” OS of sorts for running the Atmel microcontroller. Unfortunately, Node.js (in it’s default configuration) is too big to run in the memory and program storage constraints of the Arduino uController. Not wanting to write my control applications in Arduino Sketch or C, I decided to switch over to using NetDuino as the central controller hub of my real world control project. This is the story of getting started down that path.
I already have a copy of Visual Studio 2010 Professional, which is more than enough to start writing NetDuino projects, but I did need to get the latest version of the .NET Micro Framework. As of this writing, that is version 4.2 RTM, available here on Microsoft’s CodePlex site.
I didn’t realize it, but I would need an SDK for the Netduino Plus itself – found that on the Netduino website here. They suggest installing the .NET Micro Framework 4.1, but I had already installed 4.2 so I decided to throw caution to the wind and try it anyway.
- Project->New->Micro Framework->Netduino Plus – give it some name that you will inevitably regret later
- Open program.cs, add some code like:
while(true)
{
}
Ok, I did a whole bunch of stuff that I will document later, but I have a Netduino acting as central controller and an Arduino acting as a remote controller attached to some irrigation valves. I have a web server running on the Netduino and a simple web interface for turning my irrigation valves on and off. That’s my big accomplishment for the day.
Getting started with Arduino and Xbee (Part 2)
When we left our hero last, he was in rapture pressing the ‘H’ and ‘L’ keys and seeing an LED on a small electronic device turn on and off. We won’t deign to judge him based on what causes him rapture, but we will continue to explore this miracle of the keys and the lights. See Getting Started with Arduino and XBee (Part 1) for the beginning of this story.
The next step for me was to see if I could get two independent Arduinos talking to each other over XBee. At this point we had one connected to the computer and one running independently. So what was it going to take to make this happen? I would have to have the PhysicalPixel sketch running on the receiver (sender and receiver are arbitrary, but we will go with it) and some kind of sending sketch running on the sender (Duh!). The sender would send an ‘H’ upon some input from the user. That would mean I would have to have both Arduinos with XBee shields running independently. I ran into a bit of a problem here. I didn’t have a second USB cable to power both Arduino’s, so a quick trip to the Home Depot next door was in order.
Before I shot off to Home Depot, a quick perusal of my electronic kit bag turned up a 9V power adapter. Now Arduinos work swimmingly with inputs anywhere between 7V and 12V, so a 9V connected to VIN and GND would do the trick nicely. So at Home Depot I picked up a tiny USB hub and some 9V batteries. See previous post on why I needed a USB hub. Hooking everything up gave me what you see in the above picture. With PhysicalPixel running on the left, and a modified StateChangeDetection running on the right, I was able to send ‘H’, ‘L’ from the right Arduino to the left Arduino upon pressing a switch connected to GPIO2. The on-board LED on Arduino on the left would turn on and off in response to these ‘H’s and ‘L’s. This is what is called success, I now had two Arduinos talking to each other without the intervention of the mother computer. It was time for them to fly, but before they could fly, I needed to upgrade their OS’s. I wanted something a little more communicative and inter-operable than the Arduino sketch language – it was time to introduce Node.js. See the upcoming post on Arduino, XBee and Node.js for more fun and frivolity.
UPDATE: I had thought that projects like node-arduino and NoDuino were actually ports or cross compilations of the Node.js environment to the Arduino, but it turns out I was mistaken. They are, instead, ways to control your Arduino from the host computer using Node.js. Not what I wanted at all. I was hoping to have Node.js running natively on the Arduino like an OS. And, well, despite my few hours spent digging around I couldn’t find specs on the footprint of a typical Node.js compiled core. Seeing as it incorporates the Google V8 Engine, however, I’m not holding out very little hope that it will fit in the Arduino’s 32KBof flash storage, 2KB of memory and 1KB of EEPROM. Even the Netduino’s specs seem a little low, although the new Netduino GO might be just enough. Guess I’ll just have to ramp up development on my new Physical Computing Platform or Real World Computer.
UPDATE 2: I will be revisiting my desire to run Node.js as an “operating system” on these micro controllers. I may instead switch over to Netduino technology and use the .NET Micro framework.
Getting started with Arduino and XBee (Part 1)
Just sat down today with a couple of Arduino UNO R2s (actually the link is for the R3s, R2s are no longer available) and a couple of XBee Shields from sparkfun.com and a couple of XBee S1 modules (again link is for newer model, the S1 isn’t available anymore) from www.digi.com and wanted to get them talking together. Thought I’d record what I found and how I made it all happen.
I connected one of the XBee shields to one of the Arduino boards, plugged in the XBee module and fired up the Arduino IDE. I loaded File->Examples->Communciaton->Physical Pixel and made sure the switch on the XBee Shield was set to DLINE so the XBee module wouldn’t interfere with the serial communications between the computer and the Arduino. The XBee shield can either run connected to the GPIO of the Atmel chip or connected to the serial I/O lines of the Atmel chip. In this case you want to be able to program the Arduino, so you need to have those Atmel serial lines unmolested by the XBee shield. Set the switch to DLine. I then Uploaded the sketch to the Arduino and saw that the programming lights blinked and everything looked good. Its important at this point to flip that switch back to UART so that anything received by the XBee module gets output to the serial lines connected to the Atmel chip. You won’t be able to program the Arduino while it’s set that way, but that’s ok.
I then connected the other XBee module to the XBee Explorer and plugged in a mini-usb cable that I had lying around. Windows complained that it couldn’t find the drivers for this little guy, so I went Start Menu, typed devmgmt.msc, enter (Device Manager) and told it to Update Drivers for this particular device. It seemed to find a working set of FTDI USB drivers and my XBee Explorer was listed as a USB Serial Converter and marked as working device in Device Manager. Now I needed some software to communicate with it. The program of choice seems to be Digi’s X-CTU software (the makers of the XBee module), but all the links that were listed on Sparkfun were broken. I finally ended up at Digi’s XBee Development Kit, and clicked through to X-CTU Installer to download the X-CTU software for Windows 7 (32 bit, but it works). BTW, my Macbook Pro has only 3 USB ports, so at this point, with an external mouse and keyboard I was forced to keep switching devices to make this all happen. Note to self: make sure to buy a small USB hub. I cannot stand chiclet keyboards and touch pads, so I always carry my TrulyErgonomic keyboard and MS wireless mouse around with me. Yet another side note – with the two XBee modules powered up and talking to each other, my wireless mouse stopped working, so I’m guessing they are both trying to use the 2.4 GHz open frequencies for communication. I’ve heard that this is a problem with XBee stuff in a residential setting where it interferes or gets interfered with by consumer wireless devices. We will see.
After waiting for the 40-some-odd MB of the X-CTU Installer to download, I installed it and everything went fine. With the XBee Explorer still connected I fired up X-CTU and it discovered my XBee module right away. With my Arduino already connected, to COM3, the Explorer came up on COM4 and I selected that under the PC Settings tab of the X-CTU app. I poked around and could see all the Configuration settings for my XBee module and saw a Terminal window, which I assumed would try to send characters out over the XBee. Now it was time for the magic.
So with both XBees now powered up and running, one connected to an Arduino and one connected to the XBee explorer module, and with the PhysicalPixel sketch running on the Arduino XBee and the X-CTU software running and connected to the XBee Explorer module I surmised that if I typed a capital ‘H’ in the Terminal window of X-CTU then the Arduino should receive a capital ‘H’ from it’s XBee module and turn on the on-board LED (this is what the PhysicalPixel sketch does – turns ON the LED when it receives ‘H’ on serial and turns OFF the LED when it receives ‘L’ from the serial port). So I typed ‘H’ in the X-CTU.
Miracle of miracles! The LED on the Arduino turned on! I was almost breathless with excitement, I could not wait for the next sign from God. I typed ‘L’ in the terminal window of the X-CTU app and Lo and Behold! The LED turned off! Ok, enough exclamation points, the tutorials and getting started guides told me that this is what should have happened so I was relieved that things worked the way they should. They rarely seem to do that for me the first time, so this is indeed a small blessing.
Now on to Arduino and Xbee Part 2







