Firmware Developer for CC2652 Zigbee Devices
Budget: ₹12,500 – ₹37,500 INR
Generic Firmware Requirements – CC2652 Zigbee Devices
Applies to: 16A Switch, Single Input Switch, Dimmer, Plug
Target MCU: CC2652 (Zigbee 3.0 + PA compatible)
1. Core Firmware Capabilities
Zigbee 3.0 Compliant Stack
Device role: End Device (Router or FFD optional if power-available)
Support joining/leaving networks
PAN ID, MAC-ID-based secure joining
Child aging and rejoin logic
Device binding/unbinding for groups/scenes
Network Stack Integration
IEEE 802.15.4 MAC over 2.4 GHz
Secure communication (AES-128 encryption)
RF Range optimization: ≥30 meters indoor
Support for mesh topology with ≥4 hops (routing handled by RTU/repeaters)
Manual switch events to trigger auto state update to RTU (MQTT interface indirectly via UART or GPIO triggers)
2. Device Behavior & Features
Manual Input Logic
Tactile push-button(s) to trigger local actions
Long-press ≥10 seconds = Factory reset (with LED confirmation)
Button press toggles state and reports to RTU
LED Indicator Modes
State LED Behavior
Searching/Connecting 2×100ms blink every 10s
Failed RTU Connection 10×100ms blink after 1 minute timeout
Normal ON Dim LED glow
Normal OFF Full LED brightness
Operational Error Custom blink pattern or fixed state
Persistent State
Store last known state in flash
Resume last state after power failure
Respond to RTU query with current state
3. RTU Interface & Communication
Provisioning
Secure joining using RTU MAC whitelist
Only 1 RTU allowed (RTU MAC binding at join time)
Reject other RTUs – maintain blacklist
Deregistration by cloud/RTU triggers factory reset + blacklist
Commands & OTA
UART/UART-over-GPIO interface for communication with RTU
Accept individual or group commands (on/off, dim, etc.)
Support OTA firmware updates using Zigbee OTA cluster
Firmware Protocol Hooks
Command Received: Validate → Execute → Respond with ACK
Manual Event: Execute → Send state update
Error State: Report via LED and diagnostic pin (if debug enabled)
4. Memory & Flash Requirements
Minimum Flash/RAM
Code size budget: ~200–300 KB (Zigbee stack + app)
64 KB RAM minimum
Non-Volatile Storage
Store:
Device configuration (RTU ID, Group ID)
State history (up to 24h buffering if power available)
OTA firmware slot
5. Debugging & Diagnostics
Expose debug pins (TX/RX, SWD, Reset) – unpopulated in production
Factory Test Mode (test firmware): LED toggle, Zigbee beacon, relay click
Console interface via UART to output logs (only in debug firmware)
6. Security & Updates
Zigbee-standard AES-128 network key
Private mesh: only route messages to/from whitelisted devices
Support OTA upgrade with signature validation
Blacklist mechanism for rejected RTUs or repeated auth failures
7. Power & Environment
Input voltage: 110V–240V AC through power supply module
Surges protected and noise filtered
Target relay/mechanical operations: ≥100k button presses, ≥200k relay cycles
Fully operational in washroom/humid conditions
Power-efficient LED driving (PWM dimming if needed)
8. Optional Configurations by Device Type
Device Extra Features
16A Switch Relay control, LED dim after ON, relay feedback GPIO
NONC Switch Input-only monitoring + feedback GPIO to RTU
Dimmer 3-button input logic, stage-based dimming (5–7 steps)
Plug No button, soft relay + power-sense pin (optional)
Applies to: 16A Switch, Single Input Switch, Dimmer, Plug
Target MCU: CC2652 (Zigbee 3.0 + PA compatible)
1. Core Firmware Capabilities
Zigbee 3.0 Compliant Stack
Device role: End Device (Router or FFD optional if power-available)
Support joining/leaving networks
PAN ID, MAC-ID-based secure joining
Child aging and rejoin logic
Device binding/unbinding for groups/scenes
Network Stack Integration
IEEE 802.15.4 MAC over 2.4 GHz
Secure communication (AES-128 encryption)
RF Range optimization: ≥30 meters indoor
Support for mesh topology with ≥4 hops (routing handled by RTU/repeaters)
Manual switch events to trigger auto state update to RTU (MQTT interface indirectly via UART or GPIO triggers)
2. Device Behavior & Features
Manual Input Logic
Tactile push-button(s) to trigger local actions
Long-press ≥10 seconds = Factory reset (with LED confirmation)
Button press toggles state and reports to RTU
LED Indicator Modes
State LED Behavior
Searching/Connecting 2×100ms blink every 10s
Failed RTU Connection 10×100ms blink after 1 minute timeout
Normal ON Dim LED glow
Normal OFF Full LED brightness
Operational Error Custom blink pattern or fixed state
Persistent State
Store last known state in flash
Resume last state after power failure
Respond to RTU query with current state
3. RTU Interface & Communication
Provisioning
Secure joining using RTU MAC whitelist
Only 1 RTU allowed (RTU MAC binding at join time)
Reject other RTUs – maintain blacklist
Deregistration by cloud/RTU triggers factory reset + blacklist
Commands & OTA
UART/UART-over-GPIO interface for communication with RTU
Accept individual or group commands (on/off, dim, etc.)
Support OTA firmware updates using Zigbee OTA cluster
Firmware Protocol Hooks
Command Received: Validate → Execute → Respond with ACK
Manual Event: Execute → Send state update
Error State: Report via LED and diagnostic pin (if debug enabled)
4. Memory & Flash Requirements
Minimum Flash/RAM
Code size budget: ~200–300 KB (Zigbee stack + app)
64 KB RAM minimum
Non-Volatile Storage
Store:
Device configuration (RTU ID, Group ID)
State history (up to 24h buffering if power available)
OTA firmware slot
5. Debugging & Diagnostics
Expose debug pins (TX/RX, SWD, Reset) – unpopulated in production
Factory Test Mode (test firmware): LED toggle, Zigbee beacon, relay click
Console interface via UART to output logs (only in debug firmware)
6. Security & Updates
Zigbee-standard AES-128 network key
Private mesh: only route messages to/from whitelisted devices
Support OTA upgrade with signature validation
Blacklist mechanism for rejected RTUs or repeated auth failures
7. Power & Environment
Input voltage: 110V–240V AC through power supply module
Surges protected and noise filtered
Target relay/mechanical operations: ≥100k button presses, ≥200k relay cycles
Fully operational in washroom/humid conditions
Power-efficient LED driving (PWM dimming if needed)
8. Optional Configurations by Device Type
Device Extra Features
16A Switch Relay control, LED dim after ON, relay feedback GPIO
NONC Switch Input-only monitoring + feedback GPIO to RTU
Dimmer 3-button input logic, stage-based dimming (5–7 steps)
Plug No button, soft relay + power-sense pin (optional)
Related categories:
Electronics
Microcontroller
Arduino
Debugging
Bluetooth Low Energy (BLE)
Embedded Systems
Security
Zigbee