Wireless: Synapse SNAP plus PIC24F

This technology demonstration involves a sleepy mesh consisting of battery-operated nodes that use Synapse SNAP RF Engines, which use the IEEE 802.15.4 PHY protocol and a proprietary MAC layer at 2.4 GHz.

One of the unique features of these nodes is that the application code is a python script that can be wirelessly uploaded, making application modification easy even once the nodes are deployed. Python applications can also make RPC calls to functions in other remote nodes.  All of the mesh routing tasks are performed by the underlying firmware in the SNAP nodes.

 In this application, the data node also has a PIC24F microcontroller that can be populated in case higher performance sampling is required.   The PIC24F application code be wirelessly bootloaded; this is done by a combination of python scripting, PIC24F bootloader firmware, and .NET GUI code on the data storage PC.

The mesh is queried by a wall-powered monitor node that has an ethernet connection; mesh data is sent back to a data storage PC.

  • Here is a video (narrated, 8:37)  that gives an overview of the demo, and shows the mesh in operation.
  • Here is a zip archive that contains the code used in the demo (updated Dec 2010 with some bug fixes).
Pictures of the monitor node and data node are below.  Synapse SNAP nodes make wireless development relatively painless.  More details on the demo are provided in a short document in the zip archive (snap_pic24/reports/SNAP_PIC24_doc.pdf)


                                                                                                                          

  Monitor node:  Synapse RF Engine + Lantronix XPort.

  This is a custom node developed for this demo, Eagle PCB files are in the archive.
  This node is meant to be standalone, but can also be plugged into a breadboard for debugging.

   An AC/DC wall power jack provide power.

























  Data Node:  Synapse RF Engine + PIC24F

  This is a custom node developed for this demo, Eagle PCB files are in the archive.
  This node is meant to be standalone, but can also be plugged into a breadboard for debugging.

  Two AA batteries provide power.
Comments