开关 / 模组固件开发
覆盖主流 Wi-Fi / BLE / Zigbee / Matter 芯片,生产级稳定性。从硬件选型到产线烧录工具,我们把所有脏活都做了。
支持的芯片 / SUPPORTED SoC
一份代码,跨芯片移植
Espressif
ESP32-C3 / S3 / C6
主力 Wi-Fi 6 + BLE 5 平台,支持 Matter over Thread,出货百万级。
BekenCorp
BK7231N / BK7238
性价比首选,广泛用于 1-4 路开关、灯带、插座品类。
Telink
TLSR8258 / 8278
低功耗 BLE / Zigbee 双模,适用于电池供电传感器。
Realtek
RTL8720D
Wi-Fi + BLE 5,内置安全启动,适合中高端产品线。
Silicon Labs
EFR32MG24
Matter 旗舰节点,Thread / Zigbee 多协议共栈。
Custom
自定义平台
HAL 抽象层完整,移植到新芯片通常 3-5 周。
量产固件该有的,我们都有
OTA差分升级、断点续传、灰度发布、回滚保护。单包通常 < 80KB,4G 网络下成功率 99.6%。
PROVISIONING支持 SmartConfig、AP 配网、BLE 配网、Matter Setup Code。蓝牙辅助配网 8 秒内完成。
SCENE_ENGINE设备本地场景与定时,无网络也能联动。最多 32 条规则,μs 级触发。
LIGHTING_FX呼吸、渐变、彩虹、音乐律动等 30+ 灯效内置,可由 APP / Web / MQTT 触发。
SECURITY设备唯一密钥、TLS 1.3、JWT 鉴权、安全启动、固件加密。等保 + GB/T 41387 合规。
FACTORY_TOOL产线烧录 + 三色灯老化测试 + RF 校准 + 喷码记录,治具一键集成。
02 / 固件 / FIRMWARE
Tasmota / ESPHome 固件,覆盖 11 款 ESP 芯片
选择你的芯片型号下载对应固件包。zip 内含 OTA 升级用 .bin 与串口整片烧录用 .factory.bin。
// Tasmota — 开源本地控制固件,Web 界面配置,MQTT / HTTP 控制。
8266ESP8266↓ tasmota_8266.zip32ESP32↓ tasmota_32.zipsolo1ESP32 Solo1↓ tasmota_solo1.zips2ESP32-S2↓ tasmota_s2.zips2cdcESP32-S2 CDC↓ tasmota_s2cdc.zips3ESP32-S3↓ tasmota_s3.zipc2ESP32-C2↓ tasmota_c2.zipc3ESP32-C3↓ tasmota_c3.zipc5ESP32-C5↓ tasmota_c5.zipc6ESP32-C6↓ tasmota_c6.zipp4ESP32-P4↓ tasmota_p4.zip
// ESPHome — YAML 配置生成固件,原生集成 Home Assistant。
8266ESP8266↓ esphome_8266.zip32ESP32↓ esphome_32.zipsolo1ESP32 Solo1↓ esphome_solo1.zips2ESP32-S2↓ esphome_s2.zips2cdcESP32-S2 CDC↓ esphome_s2cdc.zips3ESP32-S3↓ esphome_s3.zipc2ESP32-C2↓ esphome_c2.zipc3ESP32-C3↓ esphome_c3.zipc5ESP32-C5↓ esphome_c5.zipc6ESP32-C6↓ esphome_c6.zipp4ESP32-P4↓ esphome_p4.zip
// 语音平台支持
Google HomeAmazon EchoAmazon RingApple HomeKit小米 / 小爱
代码示例 / SAMPLE
一段代码看懂业务模型
// elink_switch.c — channel toggle
/* Triggered by physical button OR cloud cmd */
void elink_switch_toggle(uint8_t ch) {
elink_state_t *s = elink_get_state();
s->channels[ch] ^= 1;
// 1. drive GPIO
hal_gpio_set(PIN_RELAY(ch), s->channels[ch]);
// 2. publish shadow update
elink_mqtt_pub("shadow/update",
"{\"ch\":%d,\"power\":%d}",
ch, s->channels[ch]);
// 3. local scene linkage
scene_engine_emit(EV_CH_CHANGED, ch);
}// ota_callback.c
static void on_ota_progress(int pct) {
led_blink(LED_GREEN, pct);
if (pct == 100) {
elink_log("OTA done, verifying...");
if (ota_verify_signature() == 0) {
elink_mqtt_pub("ota/ack",
"{\"ok\":1,\"ver\":\"%s\"}",
FW_VERSION);
hal_reboot();
} else {
ota_rollback(); // dual-bank safety
}
}
}