
#include "esp_system.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"
#include "mqtt_client.h"
static const char *TAG = "GIZANTECH";
void app_main(void) {
ESP_LOGI(TAG, "Initializing system...");
esp_err_t ret = nvs_flash_init();
if (ret == ESP_ERR_NVS_NO_FREE_PAGES) {
ESP_ERROR_CHECK(nvs_flash_erase());
ret = nvs_flash_init();
}
ESP_ERROR_CHECK(ret);
wifi_init_sta();
mqtt_app_start();
sensor_task_init();
modbus_master_init();
while(1) {
vTaskDelay(pdMS_TO_TICKS(1000));
float temp = read_temperature();
float humidity = read_humidity();
publish_telemetry(temp, humidity);
}
}
static void modbus_master_init(void) {
mb_master_init(UART_NUM_2, 9600);
ESP_LOGI(TAG, "Modbus initialized");
}
static void ota_task(void *pvParameters) {
esp_https_ota_config_t config = {
.url = FIRMWARE_URL,
.cert_pem = server_cert,
};
esp_err_t ret = esp_https_ota(&config);
if (ret == ESP_OK) {
esp_restart();
}
}Tech Stack
Technical Capabilities
Battle-tested technologies for every layer of your IoT stack.
Frameworks
Protocols
Wireless
Cloud & Edge
99.99%
Uptime Target
Firmware designed to run uninterrupted in harsh industrial environments.
<10µA
Deep Sleep Current
Extreme power optimization for battery-operated field devices.
<30s
OTA Update Time
Secure, compressed over-the-air firmware updates with rollback support.
Frequently asked questions
Can you take our ESP32 prototype to production-ready firmware?
Yes — that is the core of what we do. We harden prototype firmware with Secure Boot v2, flash encryption, a robust OTA pipeline, watchdog-backed fail-safety, and field validation, so a working bench demo becomes firmware that survives years of deployment.
Which ESP32 frameworks and RTOS do you build on?
Primarily ESP-IDF with FreeRTOS for production work, plus the Arduino framework for fast prototyping and Zephyr or bare-metal C where a project demands it. We choose based on the product lifecycle and certification needs, not habit.
Do you handle industrial protocols like Modbus and RS485?
Yes. We routinely integrate Modbus RTU over RS485, CAN bus, I2C, SPI, and UART sensors, including the transceiver, biasing, and protection design needed for reliable industrial communication in electrically noisy environments.
Can you connect our devices to the cloud and a dashboard?
We build the full pipeline: MQTT with mutual-TLS to AWS IoT Core, LoRaWAN or cellular (GSM/LTE-M) telemetry for remote sites, and InfluxDB/Grafana or cloud-native dashboards so operators see live data and alerts.
Do you implement secure firmware updates (OTA)?
Yes. We implement signed, encrypted OTA with rollback protection so devices update safely in the field without bricking, and we pair it with Secure Boot and flash encryption so the firmware itself cannot be trivially extracted or replaced.