Epic: An Open Mote Platform for Application-Driven Design

Prabal Dutta


What's New

Epic Modules: Core and Peripheral Functionality
Epic Core
Epic Core
(Dutta, Myers)
Epic Storage
Epic Storage
(Dutta, Myers)
Epic USB
Epic USB
(Dutta, Myers)


Epic Carriers: Development Tools and Complete Systems
Epic Breakout
Epic Breakout
(Dutta, Myers)
Epic Devboard
Epic Devboard
(Dutta, Culler)
Epic Programmer
Epic Miniprog Programmer
(Dutta)
 
Irene Charger/Programmer
Irene Base
(Dutta)
Flying Camp Design MSP430 Programmer
MSP430 Programmer
(Flying Camp Design)
Irene Mini Charger/Programmer
Irene Mini Charger/Prog.
(Dutta)
 
Breakout Board
Breakout Board
(Arch Rock)
Mini Dev Board
Mini Dev Board (how-to)
(Arch Rock)
  RUC Mote
RUC Mote
(Jeonghoon Kang)


Epic Carriers: Complete Epic-based Sensornet Systems
Epic-based HydroSolar AC Meter and Control Benchmark
  Mote
HydroWatch Board
(Jeong and Taneja)
ACme AC Meter
(Jiang and Taneja)
Benchmark Mote
(Dutta)
Epic Interface Board Meraki Daughterboard Stanford PowerNet Mote
Epic Interface Board
(Dutta)
Meraki Daughterboard
(Dutta and Goto)
Stanford PowerNet Mote
(Gal, Heller, Kazandjieva)
Quanto Testbed Node Common Sense Badge Epic Development Board
Quanto Testbed Board
(Dutta)
Common Sense Badge (bot)
(Dutta)
Epic Development Board
(Arch Rock)
Epic Mote RSB1501 w/20dBm P/A Stanford Camera Node
Epic Mote
(Arch Rock)
RSB1501 w/20dBm P/A
(Arch Rock)
Stanford Camera
(Downs, Kusy)
Irene Mote Example of hardware inlining Epic Open Mesh
Irene Mote (in case)
(Dutta)
Example of hardware inlining
Open Mesh Adapter
(Dutta)
Quanto+ Lynx Mini Mote
Quanto+
(Schmid, Friedman)
Lynx (XBee pinout-compatible)
(OpenMote)
Mini Mote Weather (bot)
(OpenMote)
ACme  
PowerNet2
ACmeX2
ACme (box)
(Jiang)
Stanford PowerNet2
(Heller, Kazandjieva, Jiang)
ACmeX2 (box)
(Jiang)
Nova  
Epic Testbed
Open-Mesh+Epic
Nova
(Arch Rock)
Epic Testbed
(Dutta)
Open-Mesh+Epic
(Dutta)
 
Lakon
 
JHU AC Meter
Arch Rock Power Meter
Lakon
(Cleveland State)
JHU AC Meter
(Szalay)
Power Meter
(Arch Rock)
Arch Rock IPthermal Sensor
JHU Power Meter (v2)

NEpic Adapter
Thermal Sensor
(Arch Rock)
JHU Power Meter (v2)
(Qiang Wang)
NEpic Adapter (desc)
(Schmid)
Vectare Epic Core 2 Adapters Low-Frequency Wakeup Mote RUC Mote Mini
Epic Core 2 Adapter (bot)
(Vectare)
LFWakeup Mote
(Schmid)
RUC Mote Mini
(Jeonghoon Kang)
Hermes 6-DOF Mote
Hermes 6-DOF Mote
(Dutta)
Qin Node
Qin Node (bot)
(Chenni Qian)
Hemera
Hemera Node
(Brad Campbell)
Epic Telos Mote
Epic Telos Mote
(Alan Marchiori)
AC Power Meter
Power Meter
(Alan Marchiori)
Room Sensor
Room Sensor
(Alan Marchiori)


Overview
Epic is a new (circa 2008) open mote platform for application-driven design. Sensornet platforms, like most embedded systems, are tightly coupled to their applications. This coupling can make it difficult for general-purpose platforms to address application-specific needs, forcing platform designers to repeatedly reimplement functionality. Inspired by the hierarchical nature of software and integrated circuit design, we propose sensornet platforms be composed hierarchically from a family of modular components. This approach makes platform development accessible to a much wider community; developers do not need to be analog, sensor, or radio frequency experts, and can instead reuse components that encapsulate the needed functionality. The Epic design is open source, and all design files are available.

A key goal of the Epic project is to develop a composable hardware architecture for sensornet modules that specifically supports prototyping, measurement, and reuse. Prototyping enables design concepts to be explored, parameterized, and manipulated before they are finalized. Epic facilitates prototyping through componentized hardware with flexible interconnections between both the components themselves and third-party hardware. Once prototypes are constructed, their properties are measured under a range of input parameters to decide among alternate design choices. Although some properties can be measured directly in software, others like power draw require explicit platform support, which Epic provides. Efficient reuse reduces the time and cost of going from prototype to production, but the requirements for reuse are at odds with the goals of prototyping and measurement: a final design rarely needs the scaffolding required during design and evaluation. Epic addresses this tension by partitioning hardware into specialized, minimalistic, and reusable core components with wide, connector-free interfaces and no decoding logic. In contrast, prototyping and measurement is supported through generic components that encapsulate core components and export flexible interconnections. Such partitioning of functionality, and adherence to a few simple design rules, can enable faster prototyping without sacrificing measurement-based evaluation or reuse, ultimately allowing systems to be deployed quicker and less expensively.


Design Files
LICENSE: The following intellectual property is released under a BSD-style License. You must agree to the terms of this license to use, copy, modify, or distribute these files.

There are two variants of the Epic Core design: (i) radio and flash on same SPI bus (3-26-2007) date code; (ii) radio and flash on different SPI busses (3-28-2007) date code. All of the design files for these two designs, as well as several other designs, are available below. If you download these files, I would appreciate an e-mail so I can keep track of interest (my address is on my homepage). Disclaimers: The bill-of-materials may have inaccuracies and not all designs have been verified yet (read: they may not work).

Design Datecode Schematic Files Remarks
Epic Modules
Epic Core 03-26-2007 EPIC-CORE_A_03-26-2007.pdf 3-26-2007_EPIC-CORE_A_FILES.zip Test Matrix (do not use). Basic mote core. Flash and radio on different SPI busses.
Epic Core 03-28-2007 EPIC-CORE_A_03-28-2007.pdf 3-28-2007_EPIC-CORE_A_FILES.zip Test Matrix (do not use). Basic mote core. Flash and radio on the the same SPI bus.
Epic Storage 07-07-2007 EPIC-STORE_A.pdf EPIC-STORE_A_FILES.zip Storage hierarchy w/ NAND, NOR, FRAM.
Epic USB 10-10-2007 EPIC-USB_A.pdf [DSN] EPIC-USB_A_FILES.zip USB programming/data interface and Li+ charger. 0.5mm PCB. To program using this board, type:
make epic install
Epic Core 11-26-2007 EPIC-CORE_A_03-26-2007.pdf 11-26-2007_EPIC-CORE_A_FILES.zip,
EPIC-CORE-BOM_A.xls
Production (OK to use). 12 mil RF, C21 direct via to GND, vias are direct connect, perimeter pads (30/20 mil), bottom pads are (30/40 mils), Flash (SPI 1) and radio (SPI 0) on different SPI busses.
Epic Core 11-28-2007 EPIC-CORE_A_03-28-2007.pdf 11-28-2007_EPIC-CORE_A_FILES.zip,
EPIC-CORE-BOM_A.xls
Production (OK to use). 12 mil RF, C21 direct via to GND, vias are direct connect, perimeter pads (30/20 mil), bottom pads are (30/40 mils), Flash and radio on the same SPI bus (SPI 0).
Epic Development Tools
Epic Breakout Board 07-20-2007 EPIC-BREAKOUT_A.pdf EPIC-BREAKOUT_A_FILES.zip Provides jumper access to all module I/O lines.
Epic Development Board 01-30-2008 EPIC-DEVBOARD_A2.pdf EPIC-DEVBOARD_A2_FILES Includes USB-programmer; RS-232 line drivers; exports all I/Os. To program using this board, type:
make epic install
Epic Mini Programmer 04-01-2008 EPIC-PROGRAMMER_A.pdf EPIC-PROGRAMMER_A_FILES.zip Simple USB-to-6PIN programmer for Epic production systems. To program using this board, type:
make epic install miniprog
Irene Programmer/Charger 02-19-2009 IRENE-BASE_A.pdf IRENE-BASE_A_FILES.zip A programmer/charger for the Irene Mote. To program using this board, type:
make epic install miniprog
I should create a proper "irene" TinyOS target.
Epic Carriers (Epic-based Systems)
Benchmark Mote 03-25-2008 BENCHMARK_A.pdf BENCHMARK_A_FILES.zip Test Board (not debugged). Telos-like mote with iCount (energy metering) and 128 KB parallel FIFO.
Epic Interface Board 05-19-2008 EPIC-INTERFACE_B.pdf EPIC-INTERFACE_B_FILES.zip Epic is socketed in the board (Plastronics LCC68 Locknest socket). Similar to the Epic Development Board but more targeted to classroom or experimentation. 4 analog input with programmable pullups (none, 1K, 10K or 100K) and (Phidgets compatible connectors); 2 digital outputs (jumpers for 3V or 5V outputs driven by P-channel FETs); 2 digital inputs (jumpers for optional debouncing and pullups); includes USB-programmer; RS-232 line drivers; exports all I/Os. Bug: Missing trace between JP5.1 and ADC0; workaround: connect jumper between JP11.1 or JP11.3 or JP11.5 and JP44.1 (pin 19 on the Epic Core). To program using this board, type:
make epic install
Meraki Daughterboard 06-20-2008 m-n-m_A.pdf m-n-m_A_FILES.zip Plugs into Meraki Mini and Outdoor for low-cost 802.3/802.11 to
802.15.4/sensornet gateway. Requires Epic Mini Programmer board to program.
AC Meter MM-DD-YYYY http://smote.cs.berkeley.edu:8000/tracenv/wiki/acme Wireless AC meter with on/off load control.
HydroWatch Board MM-DD-YYYY Contact Jay Taneja or Jaein Jeong Environmental monitoring board (temp, hum, tsr, par) with solar harvesting circuit.
Quanto Testbed Mote 10/24/2008 QUANTO-TESTBED_A.pdf QUANTO-TESTBED_A_FILES.zip Ethernet programming/data interface with true 802.3af PoE (power over data *or* spare lines; supports both end-span and mid-span PoE) and integrated iCount energy metering.
Common Sense Badge 01/15/2009 CS-BADGE_B.pdf CS-BADGE_B_FILES.zip A personal sensor to enable Citizen Science. Each Badge integrates CO, NOx, Ozone, temp, humidity, and light sensors with an Epic Core, GPRS radio, GPS radio, and Bluetooth radio.
Quanto Testbed Mote 02/14/2009 QUANTO-TESTBED_B.pdf QUANTO-TESTBED_B_FILES.zip Rev B. Ethernet programming/data interface with true 802.3af PoE (power over data *or* spare lines; supports both end-span and mid-span PoE) and integrated iCount energy metering. Includes several improvements over revision A partly inspired by Thomas Schmid and Jonathan Friedman (UCLA).
Irene Mote 02/14/2009 IRENE_B.pdf IRENE_B_FILES.zip
irene-pifa-eval.pdf
An integrated mote designed for pervasive and human-centric sensing. Includes an Epic Core, 3D accelerometer, dual vibration wakeup circuits, pager motor, and rechargeable Li+ button cell, all in a plastic case that can be used with a keyfob, lanyard, or wrist strap. Use the Irene Programmer/Charger (Base) to program:
make epic install miniprog
Note that you'll also need to drive the MSP430's port P5.7 high to enable the secondary regulator to use the radio.
Open Mesh Adapter 02/18/2009 OPEN-MESH_A.pdf OPEN-MESH_A_FILES.zip Plugs into an Open Mesh router for low-cost 802.3/802.11 to
802.15.4/sensornet gateway. Requires Epic Mini Programmer board to program.
Open Mesh Adapter 08/30/2009 OPEN-MESH_B_SCH.pdf OPEN-MESH_B_FILES.zip Rev B. Plugs into an Open Mesh router for low-cost 802.3/802.11 to 802.15.4/sensornet gateway. Includes pads for external UART XTAL. Requires Epic Mini Programmer board to program.


CAD Libraries


Documents


Acknowledgements
This material is based upon work supported by the National Science Foundation under grants #0435454 and #0454432, and the NSF Graduate Research Fellowship Program. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.