pingswept.org
now with web 1.0 again

December 07, 2012

Finally controlling my boiler with a Rascal

I hit a personal milestone today, but I have to tell a little of the backstory for it to make sense.

Back in early 2010, while working as an embedded systems engineer at a company that subsequently failed, I built a web-based thermostat using an off-the-shelf Linux board. It took 5 days of mucking around with kernel drivers, Python, and Django to get the web framework and the hardware underpinnings installed and working correctly. After that, it took just a couple of hours to write a Python script that looked at the temperature in the house, turned the boiler on or off appropriately, and displayed the operational history in a pretty graph.

When I was done, I thought, "Man, I wish I could have just bought a Linux board with all that stuff preconfigured, and started on the thermostat code 5 days earlier." That was the day that I decided to build the Rascal.

The milestone

Now, 2.5 years later, the Rascal has reached a level of maturity where I can actually use it as a platform for efficient development of web-based systems. (Hey, if I use Rascals for 255 more projects in the next year, each saving 5 days of effort, I will break even on the time invested!)

Yesterday, I finally installed a Rascal as a thermostat in our basement and, following the new Rascal DIY thermostat tutorial, made it pull target temperatures from my Google calendar. Using Twilio, I can also send temporary overrides via text messages, so I can warm the house up right before I get home (JIT house warming, if you will). This morning, sitting in a cafe in Davis Square, I was able to check on my iPhone's web browser that the boiler was actually off. It felt like 2013 had arrived.

It lives!

Because the Rascal's interface is web-based, you can see my thermostat too. The green line is the target temperature, which is pulled from my Google calendar, and the black line is the temperature as measured in our house. If the area under the black line is red, it means the boiler is circulating hot water; if it's white, the boiler is off.

(Please close the page when you're done, as each page pulls updates from the Rascal once per second. If you would like to DDOS my home heating system, perhaps you could wait until next week when it's not so cold out. Better yet, buy a Rascal and DDOS that.)

The Rascal, with a relay shield, perched on top of our cable modem in the basement. There are two relays, but I'm only using one. The 4-wire cable at the lower right talks I2C to the TMP102 temperature sensor upstairs.

The TMP102 temperature sensor, emerging from behind a bookcase in the hallway near the kitchen

Next, I plan to add the datalogging code that a Rascal enthusiast in the UK contributed and add another sensor outside so I can see how well the house is insulated.

October 22, 2012

Public robotics at the 2012 Somerville Maker Faire

Most of the robotics industry is devoted to industrial machines, like welding robots, or military robots, like the terrifying stuff that Boston Dynamics builds. Makerspaces like Somerville's Artisan's Asylum, where Rascal Micro has its headquarters, are helping to make robotics more accessible to the general public. Back in September, the Asylum started a new initiative called the Public Robotics Lab. The first project was to rehabilitate a previously-constructed robot platform.

The robot platform, pictured below, made its debut at the Somerville Maker Faire a few weeks ago. Andrew Anselmo did a bunch of mechanical and electrical work on the robot to get it driving again. I replaced the robot's brain (previously an Arduino Mega) with a Rascal and wifi router so that we could control it wirelessly. Richard Klancer, the satchel-bedecked gentleman at left in the picture, wrote a jQuery-based joystick interface that runs in any web browser. It was particularly effective on an iPad, which is what I'm holding in the picture. I enjoyed handing the iPad to people unfamiliar with robots and asking them to drive the platform around. Most everyone picked it up in 10-20 seconds.

[Photo thanks to Vitor Pamplona][2] under [CC-BY license][3]

Richard has posted a video of the robot platform driving around the Asylum. The joystick control is visible around the 1:00 mark.

It's not clear what the future of the Public Robotics Lab will bring. Andrew and Kasey are working on mounting an electromechanical arm on the platform. We've also had a donation of a sweet LIDAR scanner from the open-source hardware enthusiasts at Templeman Automation. (You might know them from their open source touchtable or open source DNA replicator projects.) I've included Richard's joystick demo in the Beriberi release of the Rascal software; I'll probably continue to develop some kind of Rascal-controlled robot, but I might work on something smaller and more nimble than the current platform.

October 11, 2012

Manufacturing disruption

This dramatic story is entirely true.

A few days before the Maker Faire in New York, two large boxes arrived from the assembler containing a total of 104 Rascals. I unpacked the first bubble-wrapped pack of 6 and plugged one in. Nothing. No cheery green power LEDs. Something was wrong.

On the second Rascal, one LED turned on, suggesting that the 5 V regulator was working. The second LED stayed dark, meaning that the microprocessor was not powered up. On a working Rascal, the second LED comes on while the Rascal is booting and then turns off as soon as the Linux kernel takes control of the Rascal's output pins.

I checked a few more boards and gathered some statistics on what was going wrong. Around 80% of the batch had at least one power supply failing to deliver power. At this point, late on Tuesday afternoon, I was starting to freak out-- thousands of dollars of boards with no visible defects that utterly failed to function.

The next day, I had accepted that a problem existed and that I needed to figure out what was wrong. (The hierarchy of responsibility tends to be pretty clear in one-man operations.) I measured the impedance between the power and ground buses on some of the broken Rascals. The impedance was below 1 ohm, suggesting that one of the components spanning the two buses had an internal short. On a working Rascal, the buses are spanned by enough capacitors that most ohmmeters will read a rapidly rising resistance, which is actually result of the meter charging up the capacitors. In any case, I knew that at least one component was shorting out the power circuitry.

Lacking any better alternative, I started desoldering components. First, I lifted the output leg of the 5 V voltage regulator to see if it would work when it was disconnected from whatever torturous load the rest of the Rascal was applying. I didn't realize it at the time, but the voltage regulator on this Rascal had been cooked, probably because I stupidly left the Rascal plugged in while I was trying to figure out what was amiss.

After reviewing the schematic, I started removing the regulator's output filter capacitors. When I desoldered the second one, I discovered something amazing and horrifying, pictured below. (Sorry for the bad quality-- the picture was taken by aiming a camera through a microscope eyepiece by hand. I was surprised that it worked at all.)

At the bottom of the picture, you can see where I did a messy job of removing a capacitor. What remained after the cap was removed was a spidery web of bridges between the two pads. After I soaked the bridges up with some solder braid, the impedance between the two buses jumped into the megaohm range.

So, a box of 86 Rascals is on the way back to the assembler to have the capacitors X-rayed and reworked as necessary. I have a few working Rascals on hand that will go up for sale soon, but I plan on releasing Beriberi, the next big Rascal software milestone, first. Once the rest of the Rascals are ready for sale, I'll advertise far and wide-- on the blog, Twitter, and the mailing list.

As usual, thanks for all the support and enthusiasm, both with this manufacturing trial and at Maker Faire.

September 25, 2012

Headed to World Maker Faire 2012 in New York City

Wednesday night, I'm headed down to the Open Hardware Summit and World Maker Faire in New York City. If you're in the neighborhood on Saturday or Sunday, stop by the Rascal booth at Maker Faire. It will be in the Arduino Pavilion, which is in Zone C. I'll have a demo of the Rascal talking to multiple I2C devices from different web pages at the same time, and I'd be happy to answer any Rascal questions you've got.

I'll have some Rascals for sale with the new Beriberi release candidate on them, assuming that the wifi works well enough that I can charge credit cards at the event. You'll at least get the advantage of free shipping when I hand you your Rascal.

older postsnewer posts