Files
OpenParcelBox/ROADMAP.md
T
2026-07-16 17:36:28 +02:00

8.5 KiB

OpenParcelBox Roadmap

Presentation

OpenParcelBox is an open-source project that replaces the proprietary electronics of connected parcel boxes with an autonomous, local, and sustainable solution.

The project is currently developed and validated on a Boks One, but the architecture should remain portable to other parcel boxes by adapting the hardware layer.

The firmware is based on Zephyr RTOS and follows a modular architecture to simplify maintenance and future extensions.


Project Goals

  • No cloud dependency.
  • No subscription.
  • Local-first operation.
  • Battery-powered design.
  • NFC badge support through dedicated reader hardware.
  • Bluetooth support.
  • Zigbee support.
  • Home Assistant compatibility.
  • Android and iOS application.
  • Beginner-friendly hardware.
  • Maximum reuse of existing hardware.
  • Fully documented hardware and firmware.
  • Fully open source.

Current Progress

Phase Status
Project initialization Done
Documentation structure Done
Firmware architecture In progress
RGB LED driver Done
GPIO expander driver Done
Matrix keypad driver Done
Active buzzer driver Done
Lock driver Done
Door or lock state feedback Done
Persistent access code storage Done
Battery driver Pending
NFC credential storage and scan API Done
Dedicated NFC reader driver Pending
Power management Pending
Bluetooth configuration In progress
Zigbee integration Pending
Home Assistant integration Pending
PCB V1 Pending
Flutter mobile application In progress

Phase 0 - Project Foundation

Objectives:

  • Create the repository.
  • Define the project architecture.
  • Define coding conventions.
  • Define the documentation structure.
  • Configure the Zephyr development baseline.

Status: done.


Phase 1 - Reverse Engineering

Objective: document every reusable component of the original Boks One hardware.

Scope:

  • Enclosure.
  • Front panel.
  • Keypad layout.
  • Lock mechanism.
  • Battery compartment.
  • Connectors and wiring.
  • PCB analysis.

Status: in progress.


Phase 2 - Development Platform

Objective: validate the development hardware and low-level firmware modules.

Hardware:

  • Seeed Studio XIAO BLE nRF52840.
  • Development keypad.
  • PCF8574 GPIO expander.
  • Active buzzer through transistor driver.

Firmware modules:

  • RGB LED.
  • GPIO expander.
  • Matrix keypad.
  • Active buzzer.
  • Lock control.
  • Door or lock state feedback.
  • Persistent access codes.

Status: in progress.


Phase 3 - Hardware Validation

Objective: validate every reusable or newly added hardware component before integration.

Components:

  • Lock command pulse.
  • Door or lock state feedback through the KR-S79 COM/NC contact.
  • Battery monitoring.
  • Dedicated NFC reader circuit and antenna.
  • Buzzer.
  • External LEDs.

Validated so far:

  • KR-S79 opening command through XIAO D9.
  • KR-S79 COM/NC state detection through XIAO D7 / D8.
  • Door opened and door closed UART events.
  • Open-state reminder beep every 2 seconds.
  • Valid-code long beep and invalid-code beep sequence.

Status: in progress.


Phase 4 - Firmware Core

Objective: create the autonomous firmware.

Components:

  • System initialization.
  • GPIO expander.
  • Keypad.
  • Lock.
  • Door or lock state feedback.
  • Persistent six-digit access codes.
  • Battery.
  • Buzzer.
  • NFC credential storage.
  • Dedicated NFC reader backend.

Security:

  • Administrator PIN.
  • Development six-digit unlock code.
  • PIN timeout.
  • Anti brute-force logic.
  • Configuration storage.

Status: in progress.


Phase 5 - Power Management

Objective: optimize battery life.

Features:

  • Deep sleep.
  • Wake-up on keypad.
  • Wake-up on dedicated NFC reader.
  • Battery monitoring.
  • Low battery warning.

Status: planned.


Phase 6 - Bluetooth

Objective: provide local configuration through Bluetooth.

Features:

  • Initial pairing.
  • Administrator PIN configuration.
  • NFC badge enrollment.
  • Device information.
  • Firmware information.

Implemented so far:

  • Flutter-side BLE scan and connection flow.
  • Draft JSON command transport for clock sync, lock opening, access-code management, and NFC tag management.
  • Firmware-side BLE command characteristic and state readback characteristic.
  • Phone-synchronized volatile firmware clock for timestamped lock-opening logs.
  • BLE LE Secure Connections, encrypted GATT permissions, and bonded peers.
  • First-phone administrator plus named guest application identities.
  • App-triggered named NFC enrollment.
  • Persistent seven-day opening history and reboot time continuity.
  • Persistent box identifier, guest invitation/revocation commands, and administrator factory reset with BLE bond removal.

Status: in progress.


MVP - Standalone OpenParcelBox

Required features:

  • Standalone firmware.
  • Battery-powered operation.
  • Keypad.
  • Lock.
  • Door or lock state feedback.
  • Battery monitoring.
  • Administrator PIN.
  • Administrator NFC badge through dedicated reader hardware.
  • Bluetooth configuration.
  • No cloud.
  • No subscription.

Implemented MVP pieces:

  • Keypad-based unlock flow.
  • Persistent six-digit code table.
  • Default development unlock code.
  • Lock command pulse.
  • Lock state feedback.
  • Audible and visual feedback for valid codes, invalid codes, and open state.

At this stage, the original proprietary electronics are no longer required.


Phase 7 - Flutter Application

Platforms:

  • Android.
  • iOS.

Features:

  • Bluetooth connection.
  • Device configuration.
  • Administrator management.
  • Device status.
  • Firmware update.

Implemented so far:

  • Application shell using the project logo and background image.
  • Bluetooth scan/connect UI targeting the XIAO BLE service.
  • Phone-to-XIAO date/time sync command.
  • Direct lock-open command.
  • Random six-digit numeric code generation.
  • Permanent code management screen.
  • One-time temporary code management screen.
  • NFC tag add/remove screen.
  • Stored code and NFC tag readback from the firmware BLE state characteristic.
  • Branded Android launcher icon and native splash screen.
  • Automatic French/English selection with a manual override.
  • Dark modal dashboard with separate administrator and guest capabilities.
  • Secure box registration, invitation QR scanning/generation, and automatic BLE reconnection.
  • AES-256-GCM password-protected application backup and restore.
  • Opening history, code limits, phone-side NFC scans, and destructive-action warnings.

Status: in progress.


Phase 8 - User Management

Objective: support multiple users.

Features:

  • User creation.
  • User deletion.
  • Permanent PINs.
  • Permanent NFC badges through dedicated reader hardware.
  • User permissions.

Status: planned.


Phase 9 - Local Event History

Objective: store important events locally.

Events:

  • PIN unlock.
  • NFC unlock through dedicated reader hardware.
  • Invalid PIN.
  • Invalid badge.
  • Low battery.
  • Door opened.
  • Door closed.

Status: planned.


Phase 10 - Zigbee

Objective: add Zigbee connectivity.

Features:

  • Lock state.
  • Door state.
  • Battery level.
  • Event reporting.

Compatibility:

  • Zigbee Home Automation.
  • Zigbee2MQTT.

Status: planned.


Phase 11 - Home Assistant

Objective: provide native Home Assistant integration.

Compatibility:

  • ZHA.
  • Zigbee2MQTT.

Features:

  • Lock control.
  • Door state.
  • Battery.
  • Event history.
  • User management.
  • Configuration.

Status: planned.


Phase 12 - Temporary Access

Objective: support temporary access credentials.

Features:

  • Expiration date.
  • Expiration time.
  • Usage counter.
  • One-time PINs.
  • Temporary NFC badges through dedicated reader hardware.

Status: planned.


Phase 13 - OpenParcelBox PCB

Objective: design a dedicated PCB.

Requirements:

  • Based on XIAO nRF52840.
  • Easy to assemble.
  • Beginner friendly.
  • Low power consumption.

Status: planned.


Phase 14 - Field Validation

Objective: validate the complete system.

Tests:

  • Long-term reliability.
  • Battery autonomy.
  • Environmental testing.
  • Lock endurance.
  • Zigbee stability.
  • Bluetooth stability.
  • Recovery after power loss.

Status: planned.


Phase 15 - Documentation

Scope:

  • User documentation.
  • Maker documentation.
  • Developer documentation.
  • Hardware documentation.
  • Firmware documentation.

Status: planned.


Version 1.0

Expected features:

  • Standalone firmware.
  • Battery-powered operation.
  • Bluetooth.
  • NFC badge support through dedicated reader hardware.
  • Zigbee.
  • Home Assistant.
  • Flutter application.
  • Local history.
  • Permanent users.
  • Temporary users.
  • No cloud.
  • No subscription.
  • Fully open source.