OpenParcelBox

🚧 Project Status: Active development

OpenParcelBox is an open-source project that replaces the proprietary electronics of the Boks One connected parcel box with a fully documented, local-first and sustainable solution.

The project aims to preserve as much of the original hardware as possible while removing every dependency on proprietary cloud services and mobile applications.


Goals

OpenParcelBox has been designed around a few simple principles.

  • No cloud dependency
  • No subscription
  • No vendor lock-in
  • Fully local operation
  • Battery powered
  • Open hardware
  • Open firmware
  • Fully documented
  • Easy to reproduce
  • Beginner-friendly

Current Status

The project is under active development.

Completed

  • Development environment
  • Zephyr RTOS integration
  • Firmware architecture
  • RGB LED driver
  • GPIO Expander driver
  • Matrix keypad driver
  • Project documentation

In Progress

  • Lock driver
  • Reverse engineering
  • Hardware validation

Planned

  • NFC
  • Battery management
  • Bluetooth configuration
  • Flutter application
  • Zigbee
  • Home Assistant integration
  • Custom PCB

Features

Firmware

  • Modular architecture
  • Zephyr RTOS
  • Battery powered
  • Administrator PIN
  • NFC support
  • Bluetooth configuration
  • Zigbee support
  • OTA updates

Hardware

  • Reuse of the original lock
  • Reuse of the original enclosure
  • Reuse of the original keypad
  • Custom PCB based on Seeed Studio XIAO BLE nRF52840

Home Assistant

  • Native Zigbee integration
  • ZHA compatibility
  • Zigbee2MQTT compatibility
  • Local control only

Hardware Platform

Current development platform:

  • Seeed Studio XIAO BLE nRF52840
  • Zephyr RTOS
  • Freenove development kit
  • PCF8574 GPIO Expander

The production hardware will use a custom PCB specifically designed for OpenParcelBox.


Firmware Architecture

The firmware follows a modular architecture.

Current components:

  • RGB LED
  • GPIO Expander
  • Matrix Keypad

Planned components:

  • Lock
  • Door Sensor
  • Battery
  • NFC
  • Buzzer
  • Zigbee

Each component is fully documented and independently testable.


Repository Structure

OpenParcelBox
├── app/
├── board/
├── docs/
│   ├── firmware/
│   ├── hardware/
│   ├── development/
│   └── protocols/
├── hardware/
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── ROADMAP.md
└── TODO.md

Documentation

General

  • ROADMAP.md
  • TODO.md
  • CHANGELOG.md

Firmware

Documentation is available in:

docs/firmware/

Each firmware component has its own documentation.

Hardware

Reverse engineering and PCB documentation are available in:

docs/hardware/

Development

Development environment documentation is available in:

docs/development/

Development

Firmware development uses:

  • Zephyr RTOS
  • West
  • CMake
  • GCC
  • VSCodium

The coding style, project structure and documentation are standardized across the entire project.


Roadmap

The complete development roadmap is available in:

  • ROADMAP.md

The current task list is available in:

  • TODO.md

License

OpenParcelBox is an open-source project.

Different project components may use different licenses depending on their nature.

Component License
Project LICENSE
Firmware firmware/LICENSE
Hardware hardware/LICENSE
Documentation docs/LICENSE

Contributing

Contributions are welcome.

Please read CONTRIBUTING.md before submitting issues or pull requests.


Disclaimer

OpenParcelBox is an independent open-source project.

It is not affiliated with, endorsed by or supported by the manufacturer of the Boks One parcel box.

S
Description
Open-source replacement controller for Parcel Box / Boks One smart mailbox.
Readme
12 MiB
Languages
Dart 36.9%
HTML 34.9%
C 27.8%
Batchfile 0.3%
CMake 0.1%