Close

Decision: ESP32 based design

A project log for 2018 Open Hardware Summit badge

electronic conference badge for 2018 Open Hardware Summit attendees

oshparkoshpark 05/07/2018 at 17:520 Comments

I have been evaluating several hardware options for the OHS18 badge and discussing in this project's hackachat.  I have arrived at the decision that the ESP32 is the best choice for the OHS18 badge given the desired features and the budget.


Evaluated options:

SiFive is very promising but I think their current microcontroller chip, the FE310, is a bit limited in peripherals and RAM, and as of now, it lacks a serial bootloader.  I do believe they will release more capable microcontroller chips in the future, and I look forward to designing a new badge when they are available.

I really like the FPGA workshop badge for Hackaday Belgrade:

https://github.com/mmicko/workshop_badge

I am intrigued by the idea of a "soft" RISC-V microcontroller running in a FPGA.  The added benefit is that the Lattice ice40 FGPA has an open source tool chain and the RISC-V core can even run MicroPython:

https://twitter.com/fpga_dave/status/987646147060813825

However, it does seem that it would be difficult for this design to work given the budget of $25 per badge.  I would definitely like to revisit this concept in the future.


Chosen design:

The current concept is based on the ESP trINKet by Mike Rankin:
https://github.com/mike-rankin/ESP_trINKet

Features for the OHS18 badge:
- ESP32 microcontroller with built-in WiFi and BLE
- E-Paper to display the badge wearer's name
- Use Bluetooth Low Energy (BLE) to allow badge wearer to update the displayed text from an Android or iOS phone
- Powered by 2x AAA batteries


Budget:

$25 per badge. Quantity 300 badges.

This cost will have to include components, batteries, PCB, assembly, lanyard, packaging.

Production plan:
The goal is to produce quantity 300 badges by September 1st.  The badge circuit boards will be pick-n-place assembled by a professional assembly service. A test jig will need to be created for the assembler to test the badges.


Hardware tasks:
- reproduce the ESP trINKet design in KiCad (Mike Rankin's design was done in Altium)
- modify the ESP trINKet design to use 3x AAA for power instead of LiPo

- design test jig to program and test the badge


Design tasks:
- create an atheistic design for the badge including artwork and shape


Software/Firmware tasks:
- proof of concept demo on ESP32 using BLE to set the text on the e-paper display

- develop simple method for the wearer to enable and disable BLE advertise mode _(this should prevent others from "taking control" of one's badge)_

- stretch goal: load image onto the e-paper display via BLE

- stretch goal: badges interact with each other using BLE

- develop test procedure for jig to send to assembler


Production/Supply Chain tasks:
- decide on which e-paper display to use (current choice is Waveshare 2.13" display)

- create BoM for all parts and check lead times with distributors

- create a plan for provisioning the badges and how the badge wearer will connect to their badge over BLE
- talk with assembly company to figure out best way to assembly badge with epaper display (use connector or directly solder the ribbon cable)


What tasks am I missing?


Thanks for your consideration!
Drew Fustini
<drew@oshpark.com>

Discussions