Case Study: Cloud Compiler for IoT

Enabling Novel Products: Cloud Compiler Powering IoT Devices

Client

A small hardware consulting firm specializing in IoT devices

Project Description

The client, a leader in the space of IoT device design, wanted a solution to allow their mobile apps to compile firmware for their devices. The client sold Bluetooth Low Energy-connected development boards which were compatible with the Arduino embedded framework. The client wanted to give their users the ability to write code and program these devices from their mobile phone. The main challenge was that neither iOS nor Android supported running a full compiler toolchain directly on a mobile device. The end goal was to integrate this compiler solution into their mobile app to provide an end-to-end mobile IDE for their Bluetooth devices.

Solution

  • Web Service: Developed a web service using Python and Flask as an intermediary for compilation requests from authenticated iOS and Android apps. This web service received source code from mobile apps and managed the process which compiled it into a binary artifact.
  • On-Demand Compilation: We built a system to compile user code into a binary artifact for a specific hardware target by leveraging an open-source platform for embedded development.
  • Containerization: This solution was built into a container using Docker to ensure consistent outcomes across development and production environments.
  • Deployment on AWS Fargate: The Docker container ran on AWS Fargate, enabling hands-off scalability and pay-per-use operation which scaled directly with usage.

Results

  • Cost-Effective Scalability: The cloud-hosted compiler successfully handled thousands of compilation requests per hour. Use of AWS Fargate meant this seamlessly scaled with usage, ensuring cost-effectiveness without requiring an operations team to manage the app.
  • Commercial Product Integration: This system supported the client’s consumer-facing product line through its entire sales life. The mobile IDE built around the compiler served as a unique differentiator and was an integral part of the product’s success with customers.

Conclusion

We devised a solution to overcome the unique challenge of compiling firmware on mobile devices. Our hosted web service provided a cloud-based compiler solution to power the client’s mobile app. Deployed on AWS Fargate, the solution not only ensured cost-effective scalability but also became a pivotal element in the success of the client’s consumer-facing product line, offering a unique differentiator for the client’s devices throughout the entire sales lifecycle.

Schedule a free consultation

Find out how Monstera can help your business succeed. We'll learn about your project and give you an idea of what we can do for your organization.

Solutions
Case Studies
About Us
© 2024 Monstera Consulting LLC