ORLANDO, Fla. Designing mesh network software for embedded processors using radio-frequency wireless protocol just got easier for original equipment manufacturers, according to Synapse Inc. (Huntsville, Ala.), which said it has re-hosted its Snap Pro 802.15.4 wireless mesh networking protocol for use on any RF module based on microcontrollers from Freescale Semiconductor Inc. (Austin, Texas).
Tapping an embedded virtual machine written in the easy-to-use Python language, Synapse demonstrated that applications could be developed in minutes, instead of weeks, by creating an embedded program during its presentation at the Freescale Technology Forum (FTF), held here June 16-19.
"Originally, Snap Pro would only work if you used our RF engine," said Snapse's chief technical officer, Gary Shelton. "But now it will work on any OEM's hardware. Currently, we are porting it to the whole Freescale microcontroller line."
Snap Pro is an 802.15.4 wireless mesh networking protocol that can be used as an alternative to more complex protocols. ZigBee, for instance, is more comprehensive than Snap Pro, but ZigBee's wider applicability comes at a pricea steep learning curve.
By choosing Snap Pro instead, OEMs can take advantage of its Python virtual machine, called Snappy, which includes high-level language algorithms to manage all the protocols. Consequently, OEMs can immediately start working on their application, rather than spend weeks just getting their development hardware up and running.
To prove the point, Synapse developed an application to control a toy tank in less than 30 minutes during the FTF. On the morning of the FTF presentation, the company sent one of its sales reps to The Home Depot, where he purchased and wired up two double-pole "Frankenstein" knife switches to a development board from Freescale, which was to serve as a remote control for the toy tank. That was the first time Synapse's vice president of engineering, David Ewing, saw the remote-control hardware. In about 30 minutes, Ewing demonstrated how to write the remote-control application.
"You'll have to take my word for it, but this is the first time I've seen the hardware for this remote control," Ewing said before starting to write the application from scratch.
Python is a very high-level language that Snappy has customized to manage all the mesh networking protocols in only about 30 kbytes of embedded code, which is kept in nonvolatile memory on the users' hardware. Users merely define their own subroutines to take advantage of the prewritten protocol routines, thereby simplifying their application code. Finished programs consist of user-defined function calls that directly relate to the given application.
Snappy also supports AES 128-bit encryption for secure applications. The Snap Pro software stack is written in the standard C language and can be compiled for any microcontroller, from 8 to 32 bits.
Unlike ZigBee, which requires router and coordinator nodes, all mesh nodes are created equal in Snap Pro. Snappy also has several capabilities hard-coded into its algorithms that do not exist even in more complex protocols like ZigBee. For instance, ZigBee does not have a built-in ability to put the entire network to sleep (the coordinator and router nodes must always stay awake), thereby limiting the long-term lifetime of battery-powered networks. A sleeping Snap Pro network draws only about 2 microamps per node.
Snap Pro does use a leader node to manage the sleep/awake function, but any node can request delays in powering down the network. And if the leader node becomes nonfunctional, the remaining nodes will "elect" a new leader, making the Snap Pro mesh network self-healing. The Snap Pro network can be managed from any node or remotely, and newly added nodes are automatically integrated into the mesh.
Synapse claims it currently has 15 OEM customers designing wireless mesh networks using Snap Pro, with about 35 others evaluating it. Synapse also supports ZigBee mesh networks for OEMs that require compatibility with that standardall its hardware has achieved full ZigBee Compliant Platform certification.