Share this project

Done

Share this project

Done
Swift01: Open Source Mesh Networking by Swiftlet Technology project video thumbnail
Replay with sound
Play with
sound
$4,470 pledged of $60,000 goal
backers
By Dan Kurin
$4,470 pledged of $60,000 goal
backers

About this project

Have you ever wished that you could simply hook things together wirelessly? Have you ever wanted to automate everything in your house, but didn’t want to spend $35+ on a wireless module for each node in the network? This is exactly what drove me to envision the Swift01.

What is the Swift01?

The Swift is a wireless hardware module with specialized software running on it that enable it to create and join wireless networks which are designed for sensing and control. Let me give you some examples of how you might use the Swift:

Whole-house temperature monitoring

Attach a temperature sensor to a node and place one in each room of your house. Find hot or cold spots and adjust your heating system, or replace your thermostat with another module that can control your house's temperature from more than just one room’s temperature. Imagine a house that heats based on the temperature of your main rooms during the day, but your bedrooms at night!

Remote, distributed weather station

Collect information from the anemometer on your roof, the thermometer on your porch, and the rain gauge in your yard. Then send that information to WeatherUnderground.com or use it to tailor your heating and cooling, turning down the heat on winter days when it’s sunny.

Reconfigure the lighting in your house

Switch the lamps and light fixtures in your house using a PowerswitchTail and control it from a smart switch or from your phone (over your WiFi network).

Control your home theater

Pair a Swift with an Infrared diode in your home A/V cabinet and pause the movie from your smartphone. Take it a step farther and put in a “Movie time” switch that puts your projector screen down, turns on the projector and A/V receiver, and dims the lights.

The Swift wireless module is currently designed to be attached to an existing processor, like an Arduino or a Raspberry Pi. This means that Swift can’t do any of these things out of the box, but rather these scenarios all become much easier by networking with Swift. There’s a couple of key ideas that allow Swift to simplify each of these scenarios:

Swift’s technology

Mesh Networking

You can already connect things together using the Bluetooth on your phone or over the WiFi network in your house, what is so different about Swift?

Swift is built on the concept of Mesh Networking. Mesh networks take point-to-point networks like WiFi and Bluetooth (which only send information between two devices) and puts special software on each device that allows it to send and receive information on behalf of the devices it is in range of (also called that device’s neighbors). Basically, this means that a device can join the network if it can see one device in the network, not just if it can see the router (the range of a device is about 10-100m, this depends on things like the materials in your walls). Actually, all devices essentially become routers, which means that in some situations, you don’t even need a separate router, just the devices themselves.

Open Protocol

That being said, mesh networks are already starting to gain traction with devices like ZigBee/XBee and other proprietary wireless modules. Here’s the problem, many mesh protocols aren’t specified in the open so that anyone can write software to implement them. This has the unfortunate effect of locking you down to one company’s wireless technology. Even if the specification is available to see, most mesh network protocols come with a license fee in order to build anything that uses that protocol. In the case of ZigBee, this means increased cost to you, the customer.

By building a mesh network based on an open protocol, it means that any company can build a device that talks on this network and it also means that the network can build on those devices the same way that it can on ours.

Open Source

The open source philosophy is central to what Swiftlet does. We believe that the more people who can contribute to a project, the more successful that project will be. If you are a Maker or a Tinkerer, this means that you can get inside of the hardware and software and learn by figuring out how things work and, if you want to, fix a bug or add a feature that brings even more value to the product. If you are just someone who buys the end product to put into something else, you can rest more easily knowing that the project has had more than just one set of eyes on it: Things are a lot more likely to work and work well.

Security

Now, I’m sure you are thinking, “If a device can join without being able to see the centralized router, what is to prevent my next-door-neighbor from turning my heat all the way up or malicious hackers disabling my security system?” Security is vital in any digital system, especially one that touches the real world like this one; Swiftlet is whole-heartedly committed to security and will be implementing a best-practices packet-signing security scheme in the base version of the software. This security scheme is based on a Pre-Shared Key that you will set up ahead of time and is unique to your network. This will prevent a digital intruder from sending false messages, but won’t keep your temperature and other information private; in the future, Swiftlet will also work to develop a completely encrypted data transfer method that will obscure all of the information on the network.

Who is going to build this?

I had this idea back in college as a way that an urban farm could better monitor and control the environmental conditions in their greenhouse and I gathered a team to build a platform for wireless sensor networks. Well, if you’ve ever been part of an undergraduate independent study project, you know where this is going: our ambitions were much much greater than our abilities. It was a great learning experience, but we made almost no progress toward our goal of making wireless networking simpler.

After graduating with my Bachelor’s degree in Electrical Engineering, I took a job with a wireless company in their telematics department. I thought this would be the perfect company to make my vision a reality, but in reality, I was working on tracking systems for cars to enable stolen vehicles to be recovered more easily; it's not exactly the home automation systems that I had envisioned. I pitched the idea to the company’s innovation team, but there wasn’t a lot of interest in pursuing it as a business.

Even though the company didn’t want to pursue the idea, I still worked there for about 3 and a half years and picked up information on all aspects of the company, from Hardware design (my job) and firmware design (the other half of our team) to manufacturing, testing, and purchasing. With those experiences in hand, I left that company to kickstart this business and now I’m looking for people like you, who believe in this idea, to partner with me to bring this to reality.

What still needs to be done?

 project video thumbnail
Replay with sound
Play with
sound

Check out the demo video above to see where the project currently stands!

I have already completed the preliminary hardware design. This includes choosing components, deciding on how everything connects together (Schematic) and connecting it together on a PCB (Board Layout). I have built a handful of prototypes, which you can see in the demo video, but there's a couple of tweaks that I would like to make before I ship the full product. There is a lot more detail about the hardware over on my blog (link), but here are some basic specs:

  • Board size: 0.7 in x 1.4 in
  • Power input: 3.4-5.5V
  • 802.15.4-based Atmel System-on-Chip equipped with Cortex-M0+
  • On-board, 2.4GHz trace antenna
  • 3.3V Serial UART interface
  • 10 I/Os including expandable serial interface and analog I/Os
  • On-board serial memory for future features (OTA and on-module scripting, anyone?)
Prototype Rev. 1 boards!
Prototype Rev. 1 boards!

There is a huge software component to this module. When you consider the software responsible for handling the mesh networking, it is not a trivial task. That being said, we have put significant effort into mapping out how long the development should take (+ some extra) and this cost of software development is built into the amount of money we are asking for. Here is a breakdown of the software features that will be on the module when it ships to you:

  • Serial Bootloader - This will allow the software to be updated using just the connector and a USB-to-Serial adapter
  • Full IEEE 802.15.5 network stack - This is the most important part of the software that routes all of the network traffic and keeps track of its "neighbors"
  • AT Command interface - Allows you to configure the network stack and send messages
  • AES Message signing - an encrypted add-on that allows each module to know if the message is legitimate

This diagram explains how the software will be put together. For more information, please see this recent blog post about software development.

Software Architecture
Software Architecture

Schedule

Here is our project timeline:

  • Kickstarter campaign ends successfully: Dec. 8th, 2014
  • Beta-level hardware build kicked off: Jan. 5th, 2015
  • Beta-level hardware ships to Beta backers: Feb. 2nd
  • Main hardware build kicked off: Mar. 2nd
  • Software is feature-complete: Apr. 13th
  • All Kickstarter Rewards shipped: May the 4th

This timeline could change, but those changes will definitely be communicated to you.

Stretch Goals

There are tons of other things that we want to do with this beyond just the basic networking software, but all of these things require more money for development. If you guys are able to help raise more money than I'm asking for, we can achieve greater things!

  • $75,000 - Power saving for battery-operated modules!
  • ???

Thanks for taking the time to learn about my project. If you like the idea, support me! Even if you're not a techie like me, your donation will still help us get to our goal (and we'll still send you something as a thanks!).

Risks and challenges

“It’s called hardware for a reason – It’s hard” – Marc Andreessen
Building something physical is not without its risks or challenges, but we think we’ve done a pretty good job mitigating a lot of the risk. We’ve done things like add buffers for miscellaneous expenses and tax on revenue (one of the reasons we are asking for so much), investigated both using a contract manufacturer for hardware build and building ourselves, and taken into account the unforeseen time it takes to build software.
Ultimately, the largest risk is to our timeline. Things may take longer than anticipated to build a high-quality product, and we want to be sure that the product is ready before we ship it out to you. Any changes in schedule will be communicated to you, the backer!

Learn about accountability on Kickstarter

Support this project

  1. Select this reward

    Pledge $5 or more About $5

    Tip Jar:
    Choose this level if you just plain like what we're doing and want to support us. We'll send you a vinyl sticker bearing the Swiftlet logo!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    4 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge $30 or more About $30

    "Wearable Tech":
    Want to support us but don't know what you would do with a wireless module? This is for you. We'll send you a T-Shirt and sticker bearing our logo!

    Less
    Estimated delivery
    Ships to Anywhere in the world
    11 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $100 or more About $100

    The basic mesh module set: You get 4 of our wireless modules once the base software is completely ready. These modules will be update-able over serial cable. Also includes a T-Shirt and sticker.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    5 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge $100 or more About $100

    The beta tester module set: You get the same rewards as the basic module set, but before everyone else! These modules will have beta-level software and you will need a debugger to re-program them.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Limited 7 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $140 or more About $140

    The DIY pack: You get it and you've already seen how these will be helpful. Includes 6 modules, a T-Shirt and a sticker.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    3 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge $210 or more About $210

    The enthusiast: Your brain is already bursting with ideas about how you can use these, you just can't wait to get your hands on them. Includes 10 modules, a T-Shirt, and a sticker.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    5 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  7. Select this reward

    Pledge $1,000 or more About $1,000

    The experience: Not only do you get the 10 modules (and T-shirt and sticker), but you also get one full day of in-person training and application support. (Training must take place in Michigan's Lower Peninsula)

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Limited 1 backer
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  8. Select this reward

    Pledge $2,500 or more About $2,500

    The corporate experience: You get The Experience (above) + one additional day of in-person training and application support. This also earns you the right to high-priority access to the next batch of modules.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Limited 0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (32 days)