Files

4.9 KiB

TODO - OpenParcelBox

This document tracks the remaining work required to reach the first stable release of OpenParcelBox.

Tasks are grouped by development phase and updated throughout the project.


Phase 0 - Project Foundation

Repository

  • Create repository.
  • Create project structure.
  • Create README.
  • Create ROADMAP.
  • Create TODO.
  • Add LICENSE files.

Documentation

  • Create documentation tree.
  • Create firmware documentation.
  • Create hardware documentation baseline.
  • Create development documentation.
  • Create BLE protocol documentation.

Firmware Baseline

  • Configure Zephyr.
  • Configure west and CMake.
  • Define firmware architecture.
  • Configure formatting conventions.

Phase 1 - Reverse Engineering

Mechanical

  • Measure enclosure.
  • Measure internal space.
  • Measure mounting points.
  • Measure keypad.
  • Measure NFC area.

Lock

  • Identify lock mechanism.
  • Validate lock command behavior.
  • Validate feedback contact behavior.
  • Design production lock driver circuit.

Electronics

  • Identify every connector.
  • Document original PCB.
  • Document wiring.
  • Document LEDs.
  • Validate active buzzer approach.

Phase 2 - Development Platform

Firmware Infrastructure

  • RGB LED driver.
  • GPIO expander driver.
  • Matrix keypad driver.
  • Active buzzer driver.
  • Lock driver.
  • Door or lock state driver.
  • Battery driver.
  • PN532 NFC driver over I2C.

Documentation

  • keypad.md.
  • gpio_expander.md.
  • buzzer.md.
  • debug.md.
  • led.md.
  • lock.md.
  • battery.md.
  • nfc.md.

Phase 3 - Hardware Validation

Lock

  • Drive lock through the selected circuit.
  • Validate opening pulse.
  • Validate opening detection.
  • Validate timeout.
  • Validate error handling.

Door or Lock State

  • Read feedback contact.
  • Validate state changes.
  • Validate debounce.

Battery

  • Read voltage.
  • Implement low battery detection.
  • Calibrate battery measurement.

NFC

  • Select PN532 development NFC reader.
  • Design reader antenna.
  • Validate reader tuning network.
  • Read UID through the PN532 reader.
  • Detect badge removal.

Buzzer

  • Single keypad beep.
  • Double beep.
  • Error beep.
  • Success beep.

Phase 4 - Firmware Core

Initialization

  • Keep the local keypad path available before Settings and BLE startup.
  • Initialize all currently implemented peripherals.
  • Standardize error handling.

Access Control

  • Administrator PIN.
  • PIN verification.
  • PIN timeout.
  • Anti brute-force logic.
  • Lock opening sequence.
  • Door or lock state validation.

Configuration

  • Persistent storage.
  • Factory reset.
  • Version information.

Phase 5 - Power Management

  • Battery monitoring.
  • Battery warnings.
  • Sleep mode.
  • Wake on keypad.
  • Wake on dedicated NFC reader.
  • Measure sleep current.
  • Measure battery life.

MVP - Standalone Firmware

  • Complete firmware startup.
  • Lock opening.
  • Door or lock feedback.
  • Battery monitoring.
  • Administrator PIN.
  • Administrator NFC badge through the PN532 reader.
  • Audible feedback.
  • Standalone local keypad and NFC operation.
  • Battery-powered operation.
  • No mandatory cloud dependency.
  • No subscription.

Later Phases

  • Firmware BLE command service.
  • Initial Flutter mobile application shell.
  • Mobile Bluetooth scan and connect UI.
  • Mobile clock-sync command.
  • Mobile random permanent and one-time code management UI.
  • Mobile permanent-code editing and clipboard actions for both code lists.
  • Mobile NFC tag add/remove UI.
  • Mobile direct lock-open command UI.
  • Mobile stored-state readback from firmware.
  • Administrator and named guest identity storage.
  • Local seven-day event history.
  • Secure BLE pairing and encrypted application authorization.
  • App-triggered named NFC enrollment flow.
  • Branded Android launcher icon and native splash screen.
  • French/English application localization and language override.
  • Secure saved-box registration and automatic BLE reconnection.
  • Administrator/guest modal dashboard and role restrictions.
  • Guest invitation QR generation, scanning, and revocation.
  • Password-protected AES-256-GCM application backup and restore.
  • Mobile opening-history, NFC, and factory-reset administration.
  • Validate pairing recovery and guest invitation on Android and iOS hardware.
  • Zigbee connectivity.
  • Home Assistant integration.
  • One-time temporary PINs.
  • Time-limited and usage-count temporary credentials.
  • Dedicated PCB.
  • Field validation.
  • Complete user, maker, and developer documentation.