Estimate – 12 weeks
Actual delivery – 11.5 weeks
Estimate – 14 weeks
Actual delivery – ongoing
MyBox is an enterprise manufacturer and supplier of EV charging stations from Eastern Europe. The company provides in-depth expertise in industrial electrical equipment. But to deliver the market-ready product, they needed backend cloud infrastructure for operators and support teams, with mobile applications for end-users.
So MyBox representatives contacted us to provide the necessary software and custom integration with their existing proprietary system.
The most critical business challenge was developing a universal cloud ecosystem to remotely connect, configure, and support thousands of EV chargers with different hardware and user flows.
The second part of the challenge was ensuring enterprise-grade security while keeping everything user-friendly on both sides of the vendor and the end-users.
The last part of the business challenge was finding a single solution provider with expertise in custom cloud software, IoT hardware, firmware, and mobile applications development.
The main technical challenge was to reuse the existing 2Smart Cloud functionality as much as possible to quickly and cost-effectively solve the presented problems.
At the same time, it was necessary to develop new features to address the tasks in flexible differentiation of administrators of different levels and ensure future scalability.
To tackle these challenges, we used the functionality of the 2Smart Cloud platform as a framework and developed a set of custom features on top of it:
We developed a custom web admin panel that allows admins of different levels to remotely control, debug and configure thousands of connected charging stations. In addition, it provides custom reports of charging sessions for billing and allows flexible permission management.
To address this task, we proposed an approach of creating a permissions list that could be separately assigned to different level users directly from the cloud web application.
While refining this feature, we reused user management features from the ACS we developed earlier to avoid code duplication and cut delivery times.
Addressing the task of future scalability, we faced two significant technical difficulties while developing a universal firmware:
In addition, a protocol must be specified for each parameter to receive data. Suppose the temperature sensors operate via various protocols such as the i2c or Modbus. In that case, choosing a protocol should be configurable to ensure the flexibility needed for further scaling by connecting different hardware.
To solve this problem, we devised a universal structure that allows administrators to declare and configure various firmware parameters with the capability of adding new protocols.
During the development process, we faced an unobvious problem in the incompatibility of the esp32 chip working with i2c in slave mode. To uncover the origins of the issue, we debugged at the lowest level, analyzing the output signals from the MCU.
To solve the problem, we proposed using the esp32-c3 chip in the final product since this problem is fixed at the hardware level in the new generation chips.
To ensure enterprise-grade security, we implemented a form of additional authentication for the devices to restrict unauthorized connections into the system.
We proposed a classical approach of creating a white list. A specific set of privileges attaches to each device (MCU) in the system, with the supervision and final approval from the administrator, allowing them to perform only actions that are explicitly allowed to a particular subject.
Each device uses unique IDs for authentication that integrate on the hardware level in the production stage. As mentioned above, the market-ready devices will consist of several MCUs communicating via I2C in the Master/Slave model.
Slave modules work as a black box and don’t have access to any sensitive information, while the Master module is in charge of communicating with the cloud and stores sensitive data in the encrypted flash.
So, it is impossible to connect to the system without knowing a set of hardware-specific IDs and the I2C API routes between MCUs.
Collecting and analyzing telemetry from connected devices is an inherent part of IoT, and our case is no exception.
So our solution allows gathering all the essential telemetry from the dozen sensors inside charging stations, such as active charging session times, electrical parameters of dynamic load, energy consumption and delivery, current, voltage, and temperatures.
All parameters are stored as historical data allowing retrospective analysis for future product enhancements. In addition, we are developing a custom visualization module for analysis simplification as part of the second stage.
We provided white-labeled iOS and Android mobile applications based on the 2Smart Cloud mobile app, which allowed us to deliver market-ready applications in less than a month. We refined the design, reused most of the existing functionality, and developed new features, such as device verification by the QR codes, additional authentication mechanisms to ensure security demands, and custom widgets to match the desired flow for the end-users.
The magic of our solution is in utilizing a microservice architecture based on Docker containers with configuration via environment variables.
It allows the reuse of all existing 2Smart Cloud modules and functionality flexibly for cost-effective and rapid development. Also, it provides the capability of relatively simple addition of new custom modules in the form of new microservices.