Tera Communications SA is a Bulgarian company that develops Shelly product line:
Tera Communications evaluated different possible approaches, including: doing it all from the scratch based on the vendor-provided
SDKs; using an Arduino layer; stitching together various pieces of open-source libraries and solutions.
Mongoose OS was selected as it enables an out of the box Over-The-Air updates, application data storage, proper HTTP server and networking library implementation, user configuration mechanisms which were a must have for the production devices.
“Our first targets were Shelly 2 and Shelly 4 Pro based on ESP8266 and CC3200 respectively. We had somewhat-working firmware for Shelly 2 based on the Arduino core, but it was too glitchy and unreliable. OTA often failed with a bricked device.” says Kiril Zyapkov, a lead Software Engineer.
Mongoose OS allowed for a faster and simpler development for the Tera Communications team and a high level of flexibility
for their solution.
“It grew as we worked. There were a few hiccups along the way when we bumped Mongoose OS - new features, API changes, etc. But most issues were addressed and resolved promptly by Mongoose OS team. Don't trust documentation, look at the code instead. It's beautiful anyway.” we heard from Tera Communications.
Mongoose OS was used to shorten the iteration loop creating firmware for Shelly products.
Kiril Zyapkov continues: “We are now used to having all the goodies Mongoose OS provides: critical housekeeping features, utilities, networking protocols. We have brought devices from zero to a working firmware in a couple of days. That wouldn't be possible without Mongoose OS”.