Building an IoT-Powered Inventory Management System

Interstate Batteries teamed up with Very to design and build an IoT-powered inventory management system to track the location of their batteries in retail stores and mechanic shops across the country.


Interstate Batteries

IoT Services

Hardware Engineering, Software Development, Mobile App Development, Product Design

Project Timeline

7 months

Tech Stack

AWS, NervesHub, CircleCI, Elixir, C

For car battery manufacturers, there are only a couple of ways to stand out from the crowd. One important way is by guaranteeing that their batteries are fresh. Car batteries can’t sit on a shelf for longer than three months before they need to be taken back to the distribution center and recharged.

This posed a real challenge for Interstate Batteries. Because retailers use dozens of different point of sale systems, Interstate Batteries had no way of knowing which batteries had been sold at each retailer at any point in time. So instead of packing their trucks with exactly the batteries needed to restock shelves and refresh old batteries, they had to fill large trucks with every battery they sell.

I’d recommend Very in a heartbeat to anyone seeking a cutting-edge IoT development team. The level of skill, flexibility, and dedication they brought to the project was unparalleled, and I felt completely engaged throughout the process."

Jace Thomas



The Challenge

Interstate Batteries envisioned a cloud-based system that would identify all of the batteries in stores, know which ones got sold, and be able to identify how long each battery had been on the shelf. 

They hired several different companies to try out different possible solutions. One company tried RFID tags, another tried image recognition, and yet another attempted to integrate with each retailer’s point-of-sale (POS) system. 

All of these approaches failed for a variety of reasons. The image recognition approach, for example, was unsuccessful because the batteries themselves were too dark and too similar-looking for image recognition to be successful. The stores that sold the batteries also had inconsistent lighting, which Interstate Batteries couldn’t control. 

Integration with POS systems, meanwhile, didn’t work because the stores used so many different varieties of POS systems (and some stores didn’t use them at all) that developing an integration solution for all of them was neither feasible nor cost-effective. 

Very proposed a solution that attached a Bluetooth tag to each battery that would communicate with a hub in each retail location. The hub would then transmit data about each battery to Interstate’s cloud-based solution, populating dashboards with all of the relevant data about the batteries at the store. 

Interstate originally thought they would have the battery itself power the Bluetooth tag, but they were worried about it running down the battery even more. On top of that, the wide variety of battery types/shapes made this solution difficult. They decided that if Very could develop a battery-powered tag with a battery life of six months, that would meet their needs. In the end, Very developed a tag with an inexpensive coin cell battery with a battery life of five years.

On top of the hardware development, Very’s developers integrated with Interstate Batteries’ API to feed the information into their own dashboards. Very also created a mobile-friendly website to assign a location and battery to each tag. 


The Process

Hardware and Firmware

Our first key piece of hardware was the signal emitting device (SED), which is a small Bluetooth beacon that is physically attached to each inventory item (battery). To ensure that the design of the SED met the requirements of the project (the beacon needed to stay firmly attached until a technician removed it prior to installing the battery in a vehicle), we conducted several tests to develop our prototype, including:

  • Experimenting with adhesion options
  • Experiments to determine the optimal color, size, shape, and placement of the device on the battery
  • Experiments to find the most effective button for SED activation

The final design was a small, red device with a visually descriptive label aimed at showing users what to do with this “thing” attached to their battery.  Attachment to the battery involved a small, unobtrusive “retainer” that was affixed to a battery with permanent adhesive and allowed the SED to “lock” into place. The SED firmware was built in C. 

Our second piece of hardware was the hub that would be responsible for transmitting data from the Bluetooth beacon to Interstate Batteries’ cloud-based solution. For this, we used a BeagleBone-Black-Wireless-based device that scans for the SEDs and reports their presence to the cloud. The core firmware for the hub was developed in Elixir, and we wrote the power controller firmware in C. 

Download this case study

Get a PDF version of the case study to download and share.


Back End

For the back end, we leveraged NervesHub for firmware management and sent device data to an AWS Serverless infrastructure.  Continuous integration was performed by CircleCI because it is our preferred CI tool across all of our projects, but the rest of the stack would work well with any CI service.

On the AWS side, the tools and services we used were:

  • IoT Core for device pub/sub (using client-side SSL for device authentication)
  • Lambda: triggered by certain IoT Core actions
  • Serverless: Relatively simple API over SEDs and Hubs for creating associations and light CRUD
  • Dynamo: IoT Core as well as Serverless lambdas leverage this for persistence
  • S3: Long term storage of reports from Hubs

Front End / Mobile

We used React to build a single page application (SPA) that employees at Interstate Batteries could use to assign hubs to locations, and assign SEDs to batteries.  Store locations and battery types were pulled from an Interstate Batteries database and presented to the user in order to ensure data parity between this inventory system and the rest of Interstate Batteries’ infrastructure. The application was also designed to pair with a barcode scanner for easy data entry of SED and hub serial numbers.  This is especially critical for SEDs because they need to be rapidly paired to batteries (both physically and virtually) in a warehouse setting.


The Results

With this new system, drivers can use much smaller, more fuel-efficient trucks and drive shorter routes. Interstate Batteries is buying a fleet of new trucks that are specifically made to carry a large selection of batteries in smaller quantities, requiring less gas and much less waste.


We are ready to get your IoT project started

Focused on speed, efficiency, and scalability, our product teams de-risk projects though trusted partnership, easy communication, and an agile workflow.

Focused on speed, efficiency, and scalability, our product teams de-risk projects though trusted partnership, easy communication, and an agile workflow.