Open main menu

CDOT Wiki β

Peapod

Revision as of 17:54, 11 April 2016 by Chris Tyler (talk | contribs) (Software for FSOSS)
Important.png
This is a draft only!
It is still under construction and content may change. Do not rely on this information.
Early Peapod circuit layout, mylar mockup, LiR2050 rechargeable coin cell, and Huzzah development module (carrying the ESP12F module) - April 2016.
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-axis 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 to z-axis tape 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). Total project cost may be slightly higher depending on what additional devices are required, e.g., development kits, inkjet circuit printer, battery chargers.

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

Software for FSOSS

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). There is 4MB of flash memory and 36M of (available) RAM. Software is loaded via a serial interface at 230kbps and further OTA updates to that software are possible.

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 intervals (30 minutes?) via a WiFi connection to a server. By keeping the updates to a fairly slow pace, battery power can be preserved, and the number of simultaneously-active wifi sessions can be held to a manageable number.

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 (which themselves could be ESP12F devices). Rather than perform the location determination on the Peapod (consuming energy), this analysis will be done on the server side. Various projects report that 2-3m accuracy is possible, but in our case, room-level accuracy is sufficient.

This configuration 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

Data Mining/Analysis Contest

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 (such as: mapping attendee travels; heat-mapping sessions; doing fine-grained user location to determine who interacted with who at the conference; determining how many people left in the middle of each session; calculating the number of trips to non-session areas such as the break room, Tim Horton's, or the registration desk; mapping when people gave feedback on a presentation; calculating tardiness; figuring out which presentations ran overtime; etc...)

The data set for the conference will likely consist of:

  • about 42000 samples, each of which will consist of about 10 access point strength indications, GPIO button indications, the MAC address of the device, the approximate physical location, and the battery status
  • reference data, which will include floorplans of the event, the talk schedule, and reference AP strength indications at select locations throughout the conference

Information Package

Each user will be given an information brochure containing:

  • An overview of the Peapod device
  • How to use the Peapod to give feedback on sessions
  • Information about the data collected by the Peapod
  • Data-mining contest details
  • How to reuse the Peapod for personal IoT projects after FSOSS

Privacy Issues

It is proposed that:

  • Attendees will be given a privacy statement as part of the Peapod information handout at the registration desk, and the option of opting out of the use of the Peapod.
  • Devices be identified by MAC address only, and no mapping of MAC address to attendee name will be performed.

Peapod after FSOSS

At the end of FSOSS, attendees will be given the option of:

  1. returning the Peapod device for re-use by the college and/or safe disposal, or
  2. keeping the device for their own experimentation. The Lithium cell is rechargeable, the ESP12F module can be flashed with any software of the user's choice, and those two active components can be removed and used in a project of the user's choice.

Information about using the Peapod for personal projects will be included in the Peapod information given to each attendee.

Student Involvement

It is proposed that a group of interested students (Club?) be offered the opportunity to become involved with the project 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