Trace Id is missing
May 21, 2021

University of North Carolina at Charlotte uses Azure PaaS to bootstrap an EV charging solution

Electric vehicles (EVs) are growing in popularity, but the lack of charging stations on public streets is a hurdle to widespread adoption. Installing new charging stations can be costly and disruptive. To meet this need, a team at the Energy Production and Infrastructure Center (EPIC) at the University of North Carolina (UNC) at Charlotte developed a solution to retrofit existing streetlights for use as multi-vehicle smart charging stations. Alex Miller, a sophomore undergraduate with no previous Microsoft Azure experience, served as the team’s developer. Learning as he went along, he used Azure platform as a service (PaaS) and Internet of Things (IoT) technology to bring the project to life in less than six months.

University of North Carolina at Charlotte

At the University of North Carolina (UNC) at Charlotte, the Energy Production and Infrastructure Center (EPIC) serves as a sandbox and training ground for a new generation of energy engineers. Dr. Robert Cox, Associate Director at EPIC and Professor of Electrical and Computer Engineering at UNC Charlotte, appreciates the merits of his electric vehicle (EV)—that is, reduced fuel costs and lower emissions. However, he must compete daily for one of just three chargers on campus. It’s a microcosm of a national hurdle to widespread EV adoption: there aren’t enough public chargers. But installing new ones can cost thousands of dollars each and often means digging up roads.

Dr. Cox, who teaches electrical and computer engineering at UNC Charlotte, applied for a United States Department of Energy grant to explore this problem. “Our goal,” he explains, “was to ask, is it cheaper and easier to install charging stations in a streetlight?”

Cox’s group received the grant in 2018, and Project PoleVolt was born. He tapped a sophomore student developer named Alex Miller, who was an electrical engineering major at the time with limited hands-on programming experience but lots of enthusiasm. With the streetlight concept, a smart circuit breaker from Eaton, and support from a Microsoft Azure cloud solution architect, the team got to work.

Putting the pieces together

The PoleVolt charging station is a streetlight retrofitted with a smart circuit breaker to charge multiple EVs. The system is modeled on a gas pump. Instead of lifting a hose and swiping a credit card to start fueling, a driver scans a QR code from a mobile app to turn on the breaker, then plugs in the vehicle (Figure 1).

Figure 1. A driver scans a QR code from a mobile app to turn on the breaker, then plugs in the vehicle. The app displays a series of screens while the EV is charging.

The core of the PoleVolt charging station is a smart circuit breaker made by power management company Eaton, with whom the EPIC team collaborates. The small device uses Internet of Things (IoT) technology to collect and transmit data and interface with software systems, including smartphone apps. According to Eaton, a member of the Microsoft Partner Network, the device’s API works with Azure. “That’s what initially led us down the Azure route,” Cox says. “We needed a scalable solution that would allow us to have many of those types of devices deployed in the field.”

Cox explains that the goal was clear: to turn on chargers, collect data from them, and make that a scalable solution. “But identifying how all the right components came together was the hard part,” he says. To put the pieces together and create the system, Cox encouraged Miller to learn all he could about building with Azure. Cox saw that even though the student had almost no experience with Azure, he had a great attitude and a strong willingness to take on something new and build on the computer programming basics he had.

At the time, Miller had just started learning computer programming in JavaScript, HTML, and C++. He taught himself what he needed to know in Azure as he went, leaning on open online resources. He rolled up his sleeves and started tinkering with the resources on Azure to bring the project together, specifically making an interface that would be activated by QR code.   

“Azure had quite a few resources that did what we were looking for, especially when it came to IoT Hub, Stream Analytics and, of course, Azure App Service, which is where our core Java web application runs,” Miller says. Azure IoT Hub ingests the telemetry from the IoT breaker device, while Azure Stream Analytics routes messages to the database. App Service ties the system to the user interface, serving webpages when requested, accessing Eaton’s APIs to turn the breaker on and off in the charger, and updating the telemetry. It uses Azure Table Storage to track device states (Figure 2).

Figure 2. Azure IoT Hub ingests the telemetry from the IoT breaker device, while Stream Analytics routes messages to the database. App Service ties the system to the user interface, serving webpages when requested.

Help from a cloud solution architect

“At the outset of developing this overall platform as a service (PaaS) kind of application, we found it pretty daunting,” Cox says. “There are so many ways to architect the system.” For help navigating Azure PaaS, the team worked with Arnab Banerjee, Azure Cloud Solution Architect at Microsoft Education. “One of the big advantages of Azure has been the way we were able to leverage Arnab and the [Azure] team,” Cox explains.

Banerjee’s guidance, often through Microsoft Teams chats, helped them identify the best solutions and put them together. For example, Miller initially wrote a function using Azure Functions to insert telemetry data into Azure Database for PostgreSQL, but managing database connections in serverless architecture turned out to be a bit complex. Looking for an easier turnkey solution, the team decided to route telemetry data from IoT Hub to Cosmos DB by way of the built-in integration of Stream Analytics. This cloud-native approach allowed the team to quickly pivot when challenges came up, significantly reducing both development time and effort.

Banerjee compares the experience of getting acquainted with Azure offerings to “being a kid in a candy store.” He recalls the joy in watching Miller experience that same feeling as he tried new combinations of tools to solve problems. “I saw the solution come to life in a very iterative fashion where we started with one problem, then we moved on to another that surfaced as we worked on the solution,” he says. “That iterative approach is key.”

Automation was also important to the process. Miller used Azure DevOps to automate deployment, making it possible to quickly update the system without disruption to users.

The ease of use of Azure meant that the team could run with their ideas quickly, despite their lack of experience. Banerjee explains, “That's a very empowering position, where you're experimenting on the Azure platform, but you're focused on the business solution you're trying to deliver instead of trying to work out the nuances of a specific technology.”

Ready to scale

The team operated with what Miller and Cox called “a startup mentality” across the university, moving quickly and experimenting as they went. They reached a minimum viable product in approximately six months. After a year of testing and development—including using Cox’s own EV—the first finished stations will be rolled out for active use in fall of 2021. Several stations will be set up on campus to start, and then they will be installed in the surrounding city of Charlotte.

The form the project will ultimately take—whether as a true startup, or another type of venture—is still up in the air, but the system is ready to scale. “We're going to have a handful of them right now, but we wanted to be scalable in case we want to get to 10,000—or, you know, 100,000 of them,” Cox says. With Azure, that scalability is built into the architecture. 

As for Miller, he switched his major from electrical engineering to computer science as a result of working on this project. If the group does decide to go the startup route, he will be in good shape: he appreciates that UNC at Charlotte has strong programs not only in the sciences but also in business.

“Azure had quite a few resources that did a lot of what we were looking for, especially when it came to resources such as the IoT Hub, Stream Analytics and, of course, Azure App Service, which is where our core Java web application runs.”

Alex Miller, Undergraduate Research Assistant, Sophomore, Electrical Engineering and Physics, UNC Charlotte

Take the next step

Fuel innovation with Microsoft

Talk to an expert about custom solutions

Let us help you create customized solutions and achieve your unique business goals.

Drive results with proven solutions

Achieve more with the products and solutions that helped our customers reach their goals.

Follow Microsoft