{"id":14758,"date":"2019-06-05T00:00:00","date_gmt":"2019-06-05T00:00:00","guid":{"rendered":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/"},"modified":"2025-05-29T22:42:35","modified_gmt":"2025-05-29T22:42:35","slug":"configurable-locker-system-firmware-development","status":"publish","type":"our_work","link":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/","title":{"rendered":"Configurable Locker System Firmware Development"},"content":{"rendered":"<p>DMC collaborated with the client from the beginning to <a href=\"https:\/\/www.dmcinfo.com\/services\/embedded-development-and-embedded-programming\/circuit-design\">design the PCB<\/a> 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.<\/p>\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" alt=\"locker system pcb\" src=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165813\/locker-system-pcb.jpg\"  \/><\/figure>\r\n\r\n<p>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.<\/p>\r\n\r\n<p>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.<\/p>\r\n\r\n<p><span style=\"font-size:larger;\"><strong>Cross Collaboration<\/strong><\/span><\/p>\r\n\r\n<p>DMC\u2019s <a href=\"\/services\/embedded-development-and-embedded-programming\">Embedded Team<\/a> also collaborated with DMC\u2019s <a href=\"\/services\/application-development\">Application Development Team<\/a> for this project. DMC\u2019s App Dev team programmed the <a href=\"\/latest-thinking\/case-studies\/view\/id\/514\/package-delivery-kiosk-system\">center console of the locker system<\/a> using a Raspberry Pi that\u2019s 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\u2019s back end, allowing them to control settings such as users and passwords remotely.<\/p>\r\n\r\n<p><span style=\"font-size:larger;\"><strong>DMC&#8217;s Value Add<\/strong><\/span><\/p>\r\n\r\n<p>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\u2019s API, DMC was extremely successful with this project.<\/p>\r\n\r\n<p>Contact us today to get started on your next project. Learn more about DMC&#8217;s <a href=\"\/services\/embedded-development-and-embedded-programming\">Embedded Development and Programming<\/a> services, our <a href=\"\/services\/embedded-development-and-embedded-programming\/embedded-systems-platforms\">Embedded Systems Platform<\/a> expertise, as well as our <a href=\"\/services\/application-development\">Application Development<\/a> services.<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":14756,"template":"","meta":{"customer":"Florence","summary":"<p>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.<\/p>\r\n","description":"","customer_benefits":"<ul>\r\n <li><strong>Decrease cost of operation:<\/strong> each PCB now supports 3x as many locks, lowering cost.<\/li>\r\n <li><strong>Modular system:<\/strong> the client can easily create a new system with any number of lockers in any configuration, which gives the client flexibility in production<\/li>\r\n <li><strong>Greater system flexibility:<\/strong> the configuration is saved by the locker system which allows the center console to be easily replaced without having to reconfigure the whole system<\/li>\r\n<\/ul>\r\n","components_used":"<ul>\r\n <li>MicroChip PIC 32 microcontroller<\/li>\r\n <li>I2C GPIO Expander<\/li>\r\n <li>TCP\/IP over Ethernet<\/li>\r\n <li>Modbus TCP<\/li>\r\n<\/ul>\r\n","project":"Upgrading firmware for system to be more configurable","author":"Alex Herriott","notes":""},"work_category":[683,716,686,697,698,715],"class_list":["post-14758","our_work","type-our_work","status-publish","has-post-thumbnail","hentry","work_category-application-development","work_category-circuit-design","work_category-consumer-goods","work_category-embedded-development-programming","work_category-product-development","work_category-web-application-development"],"yoast_head":"<title>Configurable Locker System Firmware Development | DMC, Inc.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Configurable Locker System Firmware Development\" \/>\n<meta property=\"og:description\" content=\"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 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/\" \/>\n<meta property=\"og:site_name\" content=\"DMC, Inc.\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-29T22:42:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165813\/unnamed-file-80-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1400\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/\",\"url\":\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/\",\"name\":\"Configurable Locker System Firmware Development | DMC, Inc.\",\"isPartOf\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165813\/unnamed-file-80-2.jpg\",\"datePublished\":\"2019-06-05T00:00:00+00:00\",\"dateModified\":\"2025-05-29T22:42:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#primaryimage\",\"url\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165813\/unnamed-file-80-2.jpg\",\"contentUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165813\/unnamed-file-80-2.jpg\",\"width\":1400,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Work\",\"item\":\"https:\/\/www.dmcinfo.com\/our-work\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configurable Locker System Firmware Development\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dmcinfo.com\/#website\",\"url\":\"https:\/\/www.dmcinfo.com\/\",\"name\":\"DMC, Inc.\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dmcinfo.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.dmcinfo.com\/#organization\",\"name\":\"DMC, Inc.\",\"url\":\"https:\/\/www.dmcinfo.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png\",\"contentUrl\":\"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png\",\"width\":418,\"height\":167,\"caption\":\"DMC, Inc.\"},\"image\":{\"@id\":\"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929\",\"https:\/\/www.instagram.com\/dmcengineering\",\"https:\/\/www.youtube.com\/DMCEngineering\",\"https:\/\/www.linkedin.com\/company\/dmc-engineering\"]}]}<\/script>","yoast_head_json":{"title":"Configurable Locker System Firmware Development | DMC, Inc.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/","og_locale":"en_US","og_type":"article","og_title":"Configurable Locker System Firmware Development","og_description":"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 [&hellip;]","og_url":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/","og_site_name":"DMC, Inc.","article_publisher":"https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929","article_modified_time":"2025-05-29T22:42:35+00:00","og_image":[{"width":1400,"height":500,"url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165813\/unnamed-file-80-2.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/","url":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/","name":"Configurable Locker System Firmware Development | DMC, Inc.","isPartOf":{"@id":"https:\/\/www.dmcinfo.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#primaryimage"},"image":{"@id":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165813\/unnamed-file-80-2.jpg","datePublished":"2019-06-05T00:00:00+00:00","dateModified":"2025-05-29T22:42:35+00:00","breadcrumb":{"@id":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#primaryimage","url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165813\/unnamed-file-80-2.jpg","contentUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27165813\/unnamed-file-80-2.jpg","width":1400,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.dmcinfo.com\/our-work\/configurable-locker-system-firmware-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Work","item":"https:\/\/www.dmcinfo.com\/our-work\/"},{"@type":"ListItem","position":2,"name":"Configurable Locker System Firmware Development"}]},{"@type":"WebSite","@id":"https:\/\/www.dmcinfo.com\/#website","url":"https:\/\/www.dmcinfo.com\/","name":"DMC, Inc.","description":"","publisher":{"@id":"https:\/\/www.dmcinfo.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dmcinfo.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dmcinfo.com\/#organization","name":"DMC, Inc.","url":"https:\/\/www.dmcinfo.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png","contentUrl":"https:\/\/cdn.dmcinfo.com\/wp-content\/uploads\/2025\/05\/27171146\/dmc-logo-1.png","width":418,"height":167,"caption":"DMC, Inc."},"image":{"@id":"https:\/\/www.dmcinfo.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pages\/DMC-Inc\/107982009242929","https:\/\/www.instagram.com\/dmcengineering","https:\/\/www.youtube.com\/DMCEngineering","https:\/\/www.linkedin.com\/company\/dmc-engineering"]}]}},"_links":{"self":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/our_work\/14758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/our_work"}],"about":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/types\/our_work"}],"author":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/users\/8"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media\/14756"}],"wp:attachment":[{"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/media?parent=14758"}],"wp:term":[{"taxonomy":"work_category","embeddable":true,"href":"https:\/\/www.dmcinfo.com\/wp-json\/wp\/v2\/work_category?post=14758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}