Quick Stop Box: It's Alive!

Part two in a series on the Quick Stop Box prototype. Read part one here.

Darren Wainwright is a Development Lead on the Digital Lab, and a self-taught 20+ year software engineering veteran. 

Proof of Concept

Wicker hamper with a distance sensor to measure capacity

I became familiar with Quick Stop Box project through the demos Digital Lab holds every two weeks, where people showcase what they’ve been working on.  

James and Anreet, the Product Engineering crew, regularly regale with their antics and fancy CAD drawings. They first introduced the Quick Stop Box as a wicker hamper with a questionable breadboard contraption attached.

Far too much fun; I had to be a part of it! 

 

 

A couple demos later, we arrived at the secret Digital Lab workshop and joined top brass and other dignitaries. We were given a demo of the first prototype named Thunderbox: a hand-crafted beauty, created from its parts-donating predecessor. 

The demo impressed; by the end we were bought in to this new drop-box that is more physically secure, keyless, low-power, aware of its own capacity and more. Everyone left excited to see if we could create a fully functional unit to pilot during the winter. 

Time to rally the team. We've got a lot to do.

Project Goals

For the winter pilot, we identified several requirements:  

  1. Secure access provided by an Android phone for the drop-box, rather than using physical keys 
  2. Capture door and drawer access events and requests 
  3. Capture real-time telemetry from the drop-box ex. parcel volume, battery voltage 
  4. Use an e-Paper display provide pick-up time information 
  5. Dashboard + mobile app for operational visibility 

System Architecture

We designed the architecture shown here. “Nimbus” is the back-end service that manages the Quick Stop Boxes. 

Diagram depicting the system architecture for the Quick Stop Box

Quick Stop Box: Firmware

The firmware is responsible for:  

  • Interacting with the app via an NFC device 
  • Triggering a lock mechanism to unlatch the main door 
  • Be aware of its current capacity 
  • Monitoring its own battery power 
  • Communicating with Nimbus API over a cellular network 
  • Running off-grid and recharging using solar energy 
  • Use e-paper to provide helpful information to the customer 

James designed a custom circuit board to work with the selected sensors and peripherals. The circuit board includes 2 Arduino prototyping devices that provide Quick Stop Box with a brain and network connectivity.  

Purolator cares deeply about protecting our environment and works to reduce our carbon footprint. This was the driving force behind the low-power requirement. Quick Stop Box can run for several months while topping up its power reserves when solar power is available. 

Devices are put in a deep-sleep state and wake-up to communicate only when needed. We leverage “interrupts”, a signal emitted by hardware or software that indicates something requires immediate attention by the processor – such as detecting a new package. This strategy allows Quick Stop Box to significantly reduce power requirements. Quick Stop Box runs off-grid, and recharges when adequate sun is available. 

Quick Stop Box: Android App

Quick Stop Box is intended to be keyless. Access is instead provided using Near Field Communication (NFC) just like a debit card, Google Pay or Apple Wallet.   

The Quick Stop Box mobile application is responsible for:  

  • Accessing the drop-box to clear packages 
  • Overview the Quick Stop Box capacity and status 

By using Android’s Host Card Emulation, we created two-way NFC interaction between the Quick Stop Box and the app.  During the interaction the application is authenticated, and the specific device authorized to open the door.    

Long-term, the goal is to deploy the application onto Zebra scanners used within Purolator. 

Understanding the current capacity of Quick Stop Boxes provides real cost savings: no longer does a driver need to travel distance only to discover there is nothing to pick up.  

QSB App screenshot showing the list view of available QSB's
QSB App screenshot showing the detail view of a single QSB

Nimbus Service 

 Quick Stop Box needs a web-based service to tie everything together:  

  • Responding to authentication requests from an app to access a drop-box 
  • Capturing and storing all telemetry 
  • Managing the Internet-of-Things (IoT) devices that represent the drop-box 

We chose Azure Functions for the API. Azure Functions is an event-driven, serverless compute platform designed to operate at large scale. Using Functions allows rapid development and integration with many other services within Azure – such as storing telemetry in Azure Table Storage.  

Nimbus is continuously deployed through build and release pipelines and includes Terraform to stand up cloud infrastructure. 

IoT Central  

We need a tool to monitor Quick Stop Box state, and to react to data changes. We chose using Azure IoT Central, which meets our current needs.  

Azure IoT Central from Microsoft that us connect and monitor IoT devices through a Web interface. Dashboards help us visualize the most important data. Rules provide real-time alerts and monitoring based on the data ingested. This strategy let us create the Operations view we needed with minimal development effort.  

A Shout-Out

It takes a cross-functional team of talent to realize these projects. Let's take a moment to acknowledge the key folks who, every day, pour imagination, energy and passion into this one.

Alphabetically, give it up for;

At the time of writing we also welcomed two amazing co-ops Ayesha Mohammedally and Rizwan Hamidi. We enjoyed learning as much from them as they from us.

What's next?

The pilot continues! More Quick Stop Boxes are being added to the network and feature enhancements are planned, including Machine Learning, AI and cameras.