Epic: An Open Mote Platform for Application-Driven Design

Prabal Dutta


Epic Modules: Core and Peripheral Functionality
Epic Core
Epic Core

Epic Trio
Epic Core, USB, and Storage modules


Epic Carriers: Development Tools and Complete Systems
Epic Breakout Epic Devboard Epic-based HydroSolar AC Meter and Control Epic Benchmark Mote
Epic Breakout Board, Development Board, Hydrowatch Solar Board, AC Meter, Benchmark Mote

Credits:


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 Core 03-26-2007 EPIC-CORE_A_03-26-2007.pdf 3-26-2007_EPIC-CORE_A_FILES.zip Test Matrix. Basic mote. 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. Basic mote. 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 (in progress).
Epic Breakout 07-11-2007 EPIC-BREAKOUT_A.pdf [DSN] EPIC-BREAKOUT_A_FILES.zip Provides jumper access to all module I/O lines.
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.
Epic Core 11-26-2007 EPIC-CORE_A_03-26-2007.pdf 11-26-2007_EPIC-CORE_A_FILES.zip Pre-Production. 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 the differnet SPI busses.
Epic Core 11-28-2007 EPIC-CORE_A_03-28-2007.pdf 11-28-2007_EPIC-CORE_A_FILES.zip Pre-Production 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 Icount MM-DD-YYYY EPIC-ICOUNT_A.pdf EPIC-ICOUNT_A_FILES.zip Integrated energy metering support (in progress).
Epic Mote MM-DD-YYYY EPIC-MOTE_A.pdf EPIC-MOTE_A_FILES.zip Integrated Core, Storage, USB, and Icount (to do).
Epic Ethernet MM-DD-YYYY EPIC-ETH_A.pdf EPIC-ETH_A_FILES.zip Ethernet programming/data interface with 802.3af PoE (to do).


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.