-
Notifications
You must be signed in to change notification settings - Fork 3
Tech Specs
Base Hardware After some preliminary research we shortlist the M5StickC to be a suitable candidate for mass adoption for the following reasons:
- Opensourced design (easy to inspect and reverse engineer)
- Easy usage: Quick Start
- Mass availability (various sources, >1000 qty)
- Small, low-cost (0) and extensible
- Singaporean founder based MCU (ESP32-WROOM, Espressif) with BT/BLE/WiFi
- Comes with various desirble features OutOfTheBox (OOTB): including accelerometer, clock battery, usb support, expansion, OLED, buttons
- Potentially able to quickly target the M5Stack too for extended purposes
- Target to last at least 16h without extra battery
- Collected data stored in 1MB on-flash partiton
- Primary factors for ESP32 include cost, availability, openly available libraries, specifications and most importantly an open and familiar toolchain.
- Possible to target a larger device (M5 Stack FIRE / Grey)
- Available GPS module
- 16M flash (instead of the usual 4M)
- Larger battery
Power Consumption
-
A 16h projected runtime gives us an average current budget of about 5mA
-
MCU power consumption estimation w/ modem sleep:
-
Idle: 1mA
-
1s broadcast interval: 2.6mA
-
1s scan duration, 60s period: 1.6% duty cycle: average 2.4mA
-
1s scan duration, 1s broadcast interval, 60s period: avg ~3.66mA
-
Ideally we should use prime periods, but thats another story
-
Ref
-
Overhead is given to cover other losses (to be tested) from components such as regulators, led, accelerometer, etc. Other optimizations to be considered:
Casing
-
The existing form factor is only sufficient for mounting but not so much for usability and clipping/strapping onto things.
-
There is a need to design a 3d-printable external chassis with the following features:
-
Belt loop - to slide onto belts
-
Covers most holes/gaps but leave buttons reachable - improve weatherproofing
-
Could be designed in 2 halves and secured w/ up to 3 screws.
-
M5Stick:
-
Space for optional 3x Lp602040 450mAh cells (connected in parallel with onboard 80mAh cell) for extended runtime (optional)
-
M5Stack:
-
Space for 1700mAh (2x 850) additional battery (optional)
Software
- ESP32-IDF cross referenced w/ stock code
- BlueTrace protocol
- Power optimization
- Using MPU9250 for motion sensing and snooze (disable radio)
- Using display for diagnostics on button press (storage usage, steps, encounters, etc)
- High power mode (via attached charger/cable):
- Serial interface for configuration and data retrieval
- Button-press to enter screen
- Diag: displays diagnostics
- [stretch goal] Config: configures unique id and wifi parameters via audio coupling (static site/app to generate parameters)
- [stretch goal] Upload data over wifi to an api endpoint
Extensibility
- Such a design could potentially be adapted to other deployment models and use cases, when desired:
- Placed on a public transport
- Placed at a mall entrance
- Solar powered
- Attached to an external power bank
- Attached or integrated into other objects e.g. school bags, shoes, helmets
- Additional sensors/devices could be added to spare ports
- GPS
- Larger flash devices for longer storage (up to 16MB)
- FLIR (for long-range temperature taking)
- digital temperature sensor
Manufacturing Pipeline
- Small volume (<= 1000 units)
- Use M5stick SKU
- 3d print addons/modifications
- Large volume (>1000 units)
- Collaborate with M5Systems for scale
- addons/modifications could be molded, rolled out as part of manufacturing pipeline
- additional power/performance optimizations
- Custom ground-up design based on same or newer compatible ESP chipset
- Integrate sensors/addons, based on user feedback