Mumbai-based startup Smowcode is building a graphical low-code language that allows bidding farewell to the woes of embedded coding through its vast set of libraries.
Smowcode, or smart flow code, is a visual coding language for ESP32 and MSPM0+ microcontrollers. This low-code language is designed specifically for IoT chip coding (firmware). Founded in 2021 by Adhik Mewada, the platform is currently available in two versions: a non-commercial version for hobbyists, students, and enthusiasts without any coding restrictions or payments, and a commercial version for industry users with a potential cost.
During the final year of his polytechnic education, Mewada interned with an IoT device manufacturer to develop industry-grade firmware programs and microcontroller-based hardware devices. “While my boss gave me a simple logic diagram, I had to write a thousand lines of code for the same! I began thinking of a way to simplify my work,” shares Mewada.
That set the genesis for Smowcode, and Mewada started building Smow, a flow-based programming language that allows users to create code flows using Smowcode Studio. The language features two types of nodes—event nodes that trigger events and activity nodes that perform tasks, which then produce outputs in the case of first flows. In parallel flows, Smow allows multiple flows to execute simultaneously and independently. If the connected activity node hasn’t finished its task, events triggered by event nodes are stored in a queue.
“Smowcode offers a graphical approach to coding. We created a calculator project using the platform’s extensive library of components and functionalities, which features a keypad and performs addition and subtraction based on user input, displaying the result on the screen,” shares Mewada.
To ensure compatibility with various microcontrollers, Smowcode has accommodated different preferences and loading methods specific to each microcontroller. The platform uses just enough RAM to deploy the code and requires no fixed firmware or bootloader. “Different microcontrollers may have distinct loading procedures. We are rapidly integrating support for newer MCUs from the same and different manufacturers,” states Mewada.
“Once the flow has been created, by clicking upload, a user can facilitate the creation of a binary file from the code snippet, which is then uploaded automatically to the microcontroller. A separate .bin download button is present to simply download the binary to flash it separately in production,” explains Mewada.
While Mewada’s peers were learning how to code, the young entrepreneur was busy creating one, with very few references to understand the process of software release and creating setup files. “Engineering education typically focuses on web applications, neglecting crucial aspects like setup file creation. Additionally, mastering graphics for UI design presented further challenges. The main hurdle was the lack of comprehensive references. Finding references for coding language creators was daunting,” he explains.
The platform offers both free and premium versions, with the premium version catering mainly to corporate clients who require extensive usage capabilities. The free version is available with minimal limitations, enabling rapid project development. Users can also request additional features or libraries, which the company is actively working on. “For corporates, the premium version provides significantly higher usage limits, akin to a SaaS model but with a setup file installation process. Users can install that file and then rely on the internet for code compilation and burning it onto their microcontrollers. This setup minimises compilation and tool generation issues commonly encountered during programming,” the young entrepreneur adds.
The startup has collaborated with a few small-sized companies focusing on IoT gateway development and has experimented with coding some of their IoT gateway products using Smowcode. It has also partnered with companies providing embedded systems services. “Several pilot projects are underway with these companies, as they explore utilising our software for their development needs. Several enterprises have reached out to us to explore Smowcode’s potential for mobile development and other applications. Smowcode was instrumental in enabling an IoT Device Project for a company to swiftly communicate with their cloud production,” shares Mewada.
Smowcode Pvt Ltd is incubated under various incubation cells such as SPIT, Jai Hind, and even Software Technology Parks of India (STPI, Mumbai). Currently, with a team of 10 working from the Sardar Patel Institute of Technology, Mumbai, the majority of whom are involved in technical development, Smowcode is looking to interact and collaborate with MCU and embedded systems designers. The startup refused to divulge any details about its funding but mentioned that it has so far received college and university grants.