Previous Articles »



Introducing SMCP

Tuesday, January 29, 2013 by darco

As some of you know, I've been working on a CoAP stack for embedded devices for some time now. Things have gotten to the point now where I'd like see if other people are interested in using it and/or contributing. So today I am announcing that I am making my first release: SMCP-0.6.

Read the rest of this entry »

Google Plus

Monday, July 9, 2012 by darco

I seem to be one of those rare people who don't actually work for Google, but love Google Plus anyway. (We do exist!) In case you've been wondering what I've been up to, your best bet is to follow me there. Unlike my Facebook account, my Google Plus profile is public: so everyone should be able to follow me.

I'll make longer, more detailed, more formal posts here when I have time, but for the vast majority of my posts, comments, and pictures will be available only via Google Plus.

Again: If you want to see the cool stuff that I'm up to, follow me on Google Plus.

6LoWPAN Cat Feeder

Saturday, March 12, 2011 by darco

2011-03-06_17-30-16_2231I just wanted to point out that while I'm lagging quite far behind in my own 6LoWPAN-based home-automation system, it seems that yzf600's project is moving ahead at full steam. He just recently created "World's First 6LoWPAN Cat Feeder", based on a wireless controller board of his design.

Now I want one. I guess I had better get back to working on this stuff.

Smart Switch

Monday, February 7, 2011 by darco

I've been working on the design of my Smart Switch almost a year now, and the other day I finally received my first set of circuit boards for making my first prototype. I'm not finished populating them, but I figured I would go ahead and show it off anyway.


The board in the upper right is the power and communications module. The board in the lower right is the load module, which in this case is a simple relay.

The board on the right is the touch sensor board. This board will eventually have a small piece of white-backed frosted glass glued to the white outline on the front of the board. This is what the user will touch to control the switch.

The board in the middle is the main board. It contains the microcontroller which controls almost all of the functions of the switch.

SmartSwitchPics/DSC_8266 SmartSwitchPics/DSC_8269

All of the other circuit boards plug into the main board like this:


Read the rest of this entry »

Smart Switch

Thursday, January 6, 2011 by darco

I just wanted to share a few pictures of project I'm working on. This is the next logical step from the appliance module I mentioned a while back: a smart light switch. The design is modular, which allows for all sorts of configurations, but the first prototype will be be a simple on/off switch with the ability to be remotely controlled.

There are four boards: a main board, a relay board, a power board(which also handles remote communications), and the touch board. Eventually I'll be making a dimming version of the relay board, and I may possibly implement a power-over-ethernet version of the power board.

The user interface is a Decora-sized 1-dimensional capacitive touch plate with a frosted glass surface, with slight indentations on the upper and lower portions. Pressing once on the top will close the circuit, pressing once on the bottom will open the circuit. If the switch is equipped with a dimmer module instead of a simple relay module, touching the top and dragging your finger down will dim, and the reverse will brighten. A piezo-electric element on the main board will provide some tactile feedback as you touch the glass, making a satisfying click when you press it. Right-angle Status LEDs shine light into the top and bottom of the glass, which is diffused by the frosted surface.

Cool, huh?

I've been sitting on these designs for a while now, so I figure it is about time I pull the trigger and order a few boards to populate.


power-board main-board touch-board

Read the rest of this entry »

Soil Moisture Sensor

Monday, November 1, 2010 by darco

This is an experimental capacitive soil moisture sensor I am working on. Just thought I would share.




These images are actually a little old, but I don't feel like making new ones. The new revision uses a slightly different mechanism for measuring capacitance that should be more accurate.

I'm using capacitance to measure the moisture instead of resistance because it allows me to void having any metal directly touch the soil. Resistive moisture sensors are not practical for semi-permanent use due to electrode corrosion. This moisture sensor should work indefinitely with no corrosion.

Assuming it will work at all, that is. We shall see.

I plan to have several of these daisy-chained around my yard. At the end of the chain will be a solar-powered wireless micro-controller unit which will allow me to read any of the sensors from the wireless home automation network I'm building. The goal is to use the moisture information to help the irrigation system know when it should water less than it normally would.

My hobby is complicated.


Saturday, August 28, 2010 by darco

Nothing quite celebrates one's geekdom like showing off pictures of an OLPC XO-1 using an RZUSBSTICK 6LoWPAN network adapter. I couldn't resist sharing.



Don't give me that look. I needed to test my CDC-ECM additions on a Linux box, and it was the closest one handy. It's all in the name of science. SCIENCE.

You can see it actively (and successfully) pinging ff02::1 on the XO-1's screen.

Read the rest of this entry »

Jackdaw CDC-ECM

Sunday, August 22, 2010 by darco

The Contiki distribution comes with some very useful firmware that turns the RZUSBSTICK into an ethernet interface. This firmware is informally called "Jackdaw".

Unfortunately, out of the box it only supports RNDIS and CDC-EEM (Ethernet Emulation Model) USB protocols. There is no RNDIS driver on the Mac (and likely never will be). There is no usable CDC-EEM driver either.

There is a standard protocol for USB ethernet devices, and that is CDC-ECM (Ethernet Control Model). In order for the Jackdaw firmware to ever 'just work' on a Mac, someone is going to need to add support for CDC-ECM to the firmware.

I've been intending to do this for a few months now, but only recently managed to scrape up the time to put all of the pieces together. After a good 8-10 hours of work this weekend, I am now pinging my RAVEN board directly from my Mac using a RZUSBSTICK running my updated Jackdaw firmware.


I'll be sending my changes upstream so that they can hopefully be included in the next Contiki release. If you are curious or just impatient, you can grab the changes from my private subversion repository here.

Update: I've moved the changes to their own branch here. I'm also working on merging the changes into contiki-2.x, (which you can find here), but that is still a work in progress.

Additionally, you can find builds here that are ready to upload to a RZUSBSTICK.

Previous Articles »