Case Studies

Configurable Locker System Firmware Development

Posted in Application Development, Circuit Design, Consumer Goods, Embedded Development & Programming, Product Development, Web Application Development


The client first came to DMC for a review of the embedded design for a PCB and complete firmware programming of an automated locker system for packages. Since then, DMC has made multiple updates to the system with the most recent update being programming the system to be more modular and configurable.


DMC collaborated with the client from the beginning to design the PCB and the system. Our main role in this process has been to develop the firmware for the system. We have now made the system more modular and configurable. The client came to DMC wanting to build different configurations of lockers easily in the factory so that they could deliver custom solutions to different clients. DMC modified the existing system and processes so it could support any conceivable configuration.

locker system pcb

DMC implemented a factory procedure where technicians can run through an automated workflow to configure the locker system. Once configured, the system allows modules to be moved or replaced without additional technician involvement. The modular configuration allows for easy in-field updates and service and improves flexibility for end customers.

The PCB designs were updated during the project to control three times as many lockers as the previous design. The system now requires fewer PCBs, which in turn decreases the cost of the operation. Additionally, the use of Modbus TCP over an Ethernet physical layer allows for ease of troubleshooting and flexibility for future expansion.

Cross Collaboration

DMC’s Embedded Team also collaborated with DMC’s Application Development Team for this project. DMC’s App Dev team programmed the center console of the locker system using a Raspberry Pi that’s running a full touchscreen interface. The Raspberry Pi communicates to the boards over the Modbus TCP protocol DMC designed. The center console can control individual lockers as well as update its logic based on the configuration stored on the PCB modules. This system is also internet connected to the client’s back end, allowing them to control settings such as users and passwords remotely.

DMC's Value Add

DMC can deliver this full solution from the embedded development to the application development. From architecting the system to designing the software, all the way up to interfacing with the client’s API, DMC was extremely successful with this project.

Contact us today to get started on your next project. Learn more about DMC's Embedded Development and Programming services, our Embedded Systems Platform expertise, as well as our Application Development services.

Customer Benefits

  • Decrease cost of operation: each PCB now supports 3x as many locks, lowering cost.
  • Modular system: the client can easily create a new system with any number of lockers in any configuration, which gives the client flexibility in production
  • Greater system flexibility: the configuration is saved by the locker system which allows the center console to be easily replaced without having to reconfigure the whole system


  • MicroChip PIC 32 microcontroller
  • I2C GPIO Expander
  • TCP/IP over Ethernet
  • Modbus TCP