Wireless programming a SwitchMote Moteino

I’m close to being done coding the SwitchMote, I think the code will be released tomorrow. I’ve been testing the code on the SwitchMote here in the lab because I can physically interact with the buttons on it. Needless to say, every time I want to upload the new firmware I cannot disconnect the breaker, unscrew the wall plate and the mains wiring, detach the unit from the wall to be able to upload through FTDI, that would be awful.

Enter wireless, over the air, magic, programming of Moteinos.
I’ll just say that it comes in very handy when your project is in the wall!

I’ll cut this short and let you watch how it happens, too bad the flashing LED is not very visible on the video while upload is in progress:

One note to mention is that I’ve recently patched the wireless programming library┬áto shift frequency up by 8Mhz during upload so the heavy RF traffic would interfere less with the rest of the network packets. Also I added an option to use another LED to be flashed during upload – handy for SwitchMote which has a bunch of LEDs on the front panel which are all on other pins than the default D9. I’m also planning to experiment with increasing the bitrate during the upload, maybe double it, and see how much faster and reliable that is. But that might prove tricky since several other settings depend on that, so all settings have to be changed back to what they were after the upload is complete.

8 thoughts on “Wireless programming a SwitchMote Moteino

  1. I received my SwitchMotes on Friday. Nice, fast shipping. Thanks.
    Put them together over the weekend. I ordered one 3-switch SwitchMote and three 1-switch SwitchMote (along with 3 SSRs). The plan is to use the 3-S as a ‘base’ unit while the other 1-S SwitchMotes replace wall-mounted light switches. The stacking headers is pretty clever. The SwitchMotes went together easily enough. It would have been great except I soldered one of the SSRs into the ‘base’ unit. It is just not worth trying to get it out. Because of my screw-up, I’ll have to order another SSR for the last 1-S when I order more. I like these a lot. Thanks again for all the effort you are putting into these, it shows. John

    • John, thank you for the feedback, great to hear you’re having fun. I’m looking for a better stacking header solution which would not require trimming on the shield, but the length is critical so I will post updates when I find a better solution, in the meantime the double length work fine. Your 3-S base and 1-S slaves sounds like a great implementation. If you have a good pair of pliers you could cut the SSR at the base as long as you kept the leads reasonably long, then resolder in the other SM. BTW source code has just been released, see latest post on the blog!

  2. You are getting further along with you project than I did with a similar one. Mine was with an atmega128rfa1 chip that I was going to run Contiki on. I got boards made and everything, but I realized that home soldering a 64QFN package reliably was hard. I also realized modifying Contiki to do what I wanted was not going to be easy. I also had grand ideas of making a clear plastic capacitive touch dimmer/switch. I had etched a few clear acrylic screens in a attempt to have some edge lit cool effect that would change brightness based upon room ambient lighting.

    Anyways, have you ever thought about future upgrades to this project to have capacitive touch? I know physical buttons are better to find in the dark, but with a back lit cap button, it would be a little easier.

    • Not much into capacitive stuff, I think physical buttons are pretty cool and more intuitive to use from code. I learned my lesson before, dreaming big and large is nice but won’t get me anywhere; I like to take baby steps and eventually accomplish something and the current version I think came out quite nice.

  3. Pingback: Module Software Approach - Swiftlet Technology

  4. hi,
    if the radio has to be always on it makes little sense, only in very specific cases. Is there no mechanism for use with battery-operated nodes?

Leave a Reply

Your email address will not be published. Required fields are marked *