Peapod

From CDOT Wiki
Revision as of 13:13, 10 April 2016 by Chris Tyler (talk | contribs)
Jump to: navigation, search

Chris Tyler Draft Peapod is the development name for a proposed IoT/user interaction device which may be given to attendees at FSOSS 2016.

Hardware

The Peapod design currently consists of:

  1. An ESP12F microcontroller+flash+wifi module
    • This module provides inexpensive connectivity and low-power compute
    • Includes GPIO connections for user input and an LED for input confirmation
    • Available for about U$1.90 in bulk
  2. An LiR2050 rechargeable lithium coin cell
    • This battery was selected because it has a nominal voltage of 3.6v (though a charged cell can output up to 4.2v). The ESP12F has a nominal supply voltage of 3.3v, but 3rd party reports suggest that it can be powered by 3.0-4.2v. Below about 3.0v, the wifi circuitry does not perform well.
    • Energy storage is low, about 110-120 mAh
    • Peak current output is theoretically insufficient for the ESP12F, but initial tests confirm that this combination could work (a capacitor across the ESP12F power terminals might be required?)
    • Available for about C$0.80 in bulk
    • This cell is quite thick (5mm)
    • There may be challenges getting this shipped to us in bulk - there are tight regulations about the transportation of lithium cells
    • Initial tests suggest that this cell might work as a direct power supply without any additional regulation or boost circuitry
  3. A flexible printed circuit board
    • A flexible board can be folded over to connect to both sides of the coin cell, and to create two rows of opposing contacts which can be pressed together by the user to form a connection (i.e., pushbuttons)
    • Initial idea is to use a board about 55mm x 75mm (roughly business-card-sized) which will fold in half lengthwise with a 5mm spacing between the top and bottom layers, yielding a device about 25x75mm (1x3"), containing the coin cell, 3 or 4 user pushbuttons, and the ESP12F module
    • A small piece of craft foam will likely need to be inserted into the middle of the device to provide stiffness, to separate the two layers, and to act as a spring to keep the user pushbuttons open when they are not depressed
    • These circuits could be inkjet printed at the college, or a traditional copper flex circuit production run could be ordered
    • The outside ("back") of the flex circuit could be printed with the pushbutton labels and other information, or these could be added in the form of a sticker.
  4. A connection scheme to attach the coin cell and ESP12F to the flex circuit
    • Z-axix electrically conductive adhesive transfer tape (3M type 9703) is one option, though the ESP12F circuit pads may be too small to permit reliable operation and sufficient current flow (approx. 1.5mm2, where the 3M documentation recommends 3.5mm2)
    • The coin cell could be held in place by a paperclip or an ideal clamp on the outside of the flex circuit
    • Alternatives include wire glue or conductive epoxy, but these limit options for reusing/recycling the device

The total cost of the device will be in the $3-5 range in the quantities needed for FSOSS (approximately 200-250 units).

The device codename, Peapod, comes from the device size and the folded-over-circuit design, which are both reminiscent of a pea pod.

Software

The ESP8266 controller used in the ESP12F modules has a large and useful software library available. It can be programmed in Lua or C, with or without an OS (RTOS).

At present, it is envisioned that the Peapod will:

  • Gather wifi AP signal strength data at set intervals (every 5 minutes?)
  • When the user presses a button, blink the on-board LED in confirmation, and record the button press and timestamp
  • Forward the collected data at regular intervales (30 minutes?) via a WiFi connection to a server

The AP signal strength information is sufficient to determine the physical location of the device during the conference; this may be aided by additional access points added at strategic locations. Rather than perform the location determination on the Peapod (consuming energy), this analysis will be done on the server side.

This information will enable:

  • A count of the number of attendees present at each of the presentations and workshops
  • Immediate feedback on the presentations and workshops (via the button-presses), correlated with location and time information to determine which presentation/workshop is being rated

In addition, it is proposed that the raw collected data be made available in real-time to the attendees, and that a contest be held for the most interesting use of that data by the end of the conference.

Device Refinement and Assembly

It is proposed that a group of interested students (Club?) be offered the opportunity to refine the Peapod hardware and software over the Summer of 2016 and assemble the devices in September/October 2016.

Contacts

Project initiator: Chris Tyler