Inspiration

There are currently only 148,000 public charging ports for electric vehicles across the United States. This is woefully insufficient if we are to electrify transit by 2030 to address climate change, when 50% of cars on the road are expected to be electric. Part of the reason for the slow buildout are the expensive infrastructure costs required to deploy a commercial charging station, which on the low end require a 240V line and hardware that can cost around $3000. Lost in the hype is the fact that a Level 1 charger, one that uses a regular 120V outlet, can recoup 3-5 miles of charge for an electric vehicle in an hour. This is sufficient for short commutes and drives to locations where users spend a lot of time, like workplaces, medical offices, and hotels.

AmpEase is a Level 1 electric vehicle charging station that you can deploy for just $50 using equipment from the hardware store. It's powered by Square and its software deploys with just a single click!

What it does

AmpEase uses Square's web payments API to allow people to monetize outdoor outlets, like those found in parking lots on light poles and on exterior walls. Its software calls the TPLink Kasa API when a payment goes through, enabling a smart plug plugged into one of these outlets. Users can then connect their portable EV charging cable, which most drivers carry in their trunks. A locking cover ensures that users cannot tamper with the station, and the software keeps the device state so that manipulating the external button on the plug also does not give them a free charge or let them interrupt a paying customer's charge. This software deploys with a single click to Render, our preferred hosting provider. A setup menu then walks the user through how to link the station to their Square and TPLink Kasa accounts. It also lets them charge whatever they wish ($1 or greater) per charge as well as determine how long the charger will remain enabled. We use GeoPy and an IP geolocation API to ensure a user is near the station they are trying to enable. This prevents users from accidentally enabling a station miles away, rather than the one they intended. This is a common feature for commercial charging networks like ChargePoint and EVGo.

How we built it

Our project is powered by Python. AmpEase is built using the Square web payments API for payment processing. It's hosted using Uvicorn as our web server and FastAPI as our web framework. GeoPy let's us compute the geodesic distance between a user and the device. The user's device gives us the user's general location using their IP address and a geolocation lookup API, whereas TPLink returns the device's location with each API request. We can then verify that the user and device are close enough together to allow them to activate the charger, preventing users from accidentally enabling the wrong charger. TPLink Kasa's API allows us to programatically turn the smart plug on and off, as well as monitor its state to prevent tampering. It's accessed through a simple RESTful interface using credentials the user specifies during setup.

Challenges we ran into

Most smart plugs do not have a documented API. Moreover for most devices if an API is available it is local only and requires a hub or other piece of hardware for cloud connectivity. Discovering that we could access TPLink smart plugs from the cloud was critical to making this project work. Additionally, we ran into challenges making the charging station easy to deploy. The project was architected entirely around hardware we could acquire locally and the software around what we could expect a non-technical user to be able to do. This is why the software deploys via Render's one click deploy links, and why the credential and configuration information is collected via a web form when the software first turns on. There is no need for our users to know any code or networking, making it much more likely that we will be able to capture mainstream appeal for our project. Square is also critical to this effort as it is easy for businesses to set up, and AmpEase will fit into their software ecosystem easily if they already use it.

Accomplishments that we're proud of

Users do not need to know any code to use AmpEase- they can simply buy the equipment at a Home Depot or online and deploy our software with a single click. Integrating Square means that they have a profit incentive and it might integrate with their preferred point of sale platform. Ease of use is therefore the accomplishment we are most proud of.

Figuring out that we can control the smart plugs from anywhere was another critical accomplishment. Of the half a dozen smart plugs we tried, TPLinks was the only one that gave us this ability and it took a great deal of tinkering and investigation to make this critical component work.

What we learned

We learned that Level 1 charging stations are not currently something that exist, despite the abundance of regular electrical outlets that could be charging electric vehicles. This project fills in the gap between no charging stations on property to expensive level 2 systems. Additionally we learned a great deal about infrastructure as code, as it allowed us to automate the deployment of our software for our users on Render. This was also our first introduction to collecting web payments, and we appreciated the clarity and simplicity of Square's documentation as it made integrating Square into our product easy and fun.

What's next for AmpEase - A EV Charging Station for less than $50

We would like to build a map of AmpEase chargers so that EV drivers can easily find where they can use one. Additionally, we would like to allow users to optionally submit their new charging station to services like PlugShare on setup so that they are part of larger databases of EV charging stations around the world. Adding support for additional smart outlets is also a high priority. Finally, we would like to leverage the Square Subscriptions API to enable our users to charge smaller amounts for charging. Many EV charging networks charge for $10-20 worth of credits so that when a session costs less than $1 they save on processing fees. A similar model could be implemented into AmpEase, letting users charge less than a $1 per charge.

Built With

Share this project:

Updates