The short introduction (⚠️ Alert, geeky content below ⚠️)
On this page, you will meet our working process, tools, and technologies that we use every day. Every segment of new product development is important in its own way. We are up to date with new technology solutions in the field of communication, microprocessors, cloud, and other IoT segments.
What software tools do we use?
This is actually a pretty complex question. For most purposes, we use IDE’s made by JetBrains (PHP Storm, IntelliJ, etc.) or VS Studio Code, but of course, there is a huge plethora of tools used in development. If we are talking about PIC32 microcontrollers then we are using Microchip’s Harmony Framework and MPLAB X IDE, which is based on Netbeans. For our IoTaaP, which is based on ESP32, we are using VS Code with PlatformIO framework. Some prototyping and development tools have their own IDE’s, like mbed Compiler for mbed, or Nucleo (STM32). For hardware, we are using various tools available, and our team members can choose a tool that fits their needs.
What hardware do we use?
For prototyping, we mostly use IoTaaP development boards, but sometimes we love to use 3rd party libraries and features of well-known platforms like NVIDIA® Jetson™, mbed, and Raspberry Pi. Most of our products are based on ESPRESSIF technology, like ESP32 but based on project needs we are working with PIC32 and ARM also. Our PCBs are produced by our trusted partners with some cool ISO certificates. For communication, we love to work with u-blox, Quectel, Huawei, and other connectivity solutions.
If you know just a little bit about IoT, then you are aware of the fact that IoT devices have to use as little as possible energy. Our modules are ultra-low power and can be battery-powered. Of course, we have some modules that need just a little bit more juice but we are constantly improving these solutions. Modules in deep sleep require around 0.26uA and with only a small battery, modules can work for 90 days in deep sleep mode. It’s pretty important to mention that most of the time IoT modules are sleeping or deep sleeping to keep the battery life.
Server-side and Cloud
Now it gets interesting. IoT modules can be ‘offline (at least relatively) and communicate with one another. IoT modules are fulfilling their purpose when they are connected to the internet. For this purpose, we are using IoTaaP (our in-house developed IoT platform), which is the solution that covers MQTTS brokers, OTA updates, configuration, and data exchange. Mostly we use our own hardware and firmware solutions that are cloud compatible out of the box, which speeds up the development process. We have a few instances running multiple backends and microservices for different products, we are using NGINX to handle all the requests, Node.js to handle our backend, Python frameworks for microservices, and much more… Of course, we are open to other platforms, that can be easily attached to our IoT platform.