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.