Neewer Light Control Protocol Research - keefo/NeewerLite GitHub Wiki

Neewer Light Control Protocol Research

This document outlines the reverse engineering process and findings for Neewer lighting devices, including command protocols and packet structures.

Table of Contents

Android App Reverse Engineering

Prerequisites

  • Install jadx for decompiling Android APK files:
    brew install jadx
    

Process

  1. Download APK: Get the latest Neewer APK from APKCombo

  2. Extract APK contents:

    unzip Neewer_5.0.5_Apkpure.apk
    
  3. Decompile DEX files to Java source code:

    jadx classes.dex
    jadx classes2.dex
    jadx classes3.dex
    jadx classes4.dex
    jadx classes5.dex
    

iOS Bluetooth Packet Logging

Prerequisites

  1. Install Neewer iOS App: Download from the App Store
  2. Enable Bluetooth Logging: Install iOSBluetoothLogging.mobileconfig on your iPhone and enable it.
  3. On your Macbook(macOS 15.5), Get PacketLogger: Download PacketLogger.app from Apple Developer Portal or use the local copy

Setup Process

  1. Connect your iPhone to your macOS device via USB cable
  2. Launch PacketLogger.app and start logging iPhone Bluetooth packets
  3. Filter by Packet Type: ATT Send to focus on relevant traffic
  4. Use the Neewer iOS app to control your light
  5. Monitor the packet stream in PacketLogger to capture command sequences.
  6. Copy the captured command sequences and shared it.

The command sequences should be something looks like these:

Jul 25 01:43:44.423  ATT Send         0x0050  NEEWER-RGB62       Write Command - Handle:0x000D - Value: 7887 0532 372F 0000 9C  
Jul 25 01:43:44.519  ATT Send         0x0050  NEEWER-RGB62       Write Command - Handle:0x000D - Value: 7887 0532 371A 0000 87  
Jul 25 01:43:44.622  ATT Send         0x0050  NEEWER-RGB62       Write Command - Handle:0x000D - Value: 7887 0532 3714 0000 81  

Reference: TwoCanoes Bluetooth Packet Capture Guide

CB60 RGB Command Protocol

CCT + GM (Green/Magenta) Commands

The CB60 RGB supports Color Temperature (CCT) adjustment from 2700K to 6500K with Green/Magenta tint control:

Example Commands:

  • CCT 2700K + -50GM: 7890 0BDF 243A B446 5D87 1D1B 0004 CE
  • CCT 6500K + +50GM: 7890 0BDF 243A B446 5D87 1D41 6404 F4

Command Structure:

CMD  TAG  SIZE    MAC               subTAG  INT  CCT  GM  DIMMING  CHECKSUM
78   90   0B    DF243AB4465D        87     1D   1B   00    04       CE
78   90   0B    DF243AB4465D        87     1D   41   64    04       F4

Parameter Ranges:

  • CCT: 0x1B (2700K) to 0x41 (6500K)
  • GM: 0x00 (-50 Green) to 0x64 (+50 Magenta)

Scene Effect Commands

The CB60 RGB supports 17 different scene effects with the following command structure:

Command Structure:

CMD  TAG  SIZE    MAC               SCE_TAG  SCE_ID  BRR  COLOR  SPEED  CHECKSUM
78   91   0B    DF243AB4465D        8B       11      07   01     03     4F

Scene Effect Types:

Scene Name ID Parameters
Lighting 01 BRR, CCT, SPEED
Paparazzi 02 BRR, CCT, GM, SPEED
Defective Bulb 03 BRR, CCT, GM, SPEED
Explosion 04 BRR, CCT, GM, SPEED, Sparks (01-0A)
Welding 05 BRR_low, BRR_high, CCT, GM, SPEED
CCT Flash 06 BRR, CCT, GM, SPEED
HUE Flash 07 BRR, HUE (2-byte LE 0000-6801), SAT (00-64), SPEED
CCT Pulse 08 BRR, CCT, GM, SPEED
HUE Pulse 09 BRR, HUE (2-byte LE 0000-6801), SAT (00-64), SPEED
Cop Car 0A BRR, Color Mode (00-05), SPEED
Candlelight 0B BRR_low, BRR_high, CCT, GM, SPEED, Sparks
HUE Loop 0C BRR, HUE_low, HUE_high, SPEED
CCT Loop 0D BRR, CCT_low, CCT_high, SPEED
INT Loop 0E BRR_low, BRR_high, HUE, SPEED
TV Screen 0F BRR, CCT, GM, SPEED
Firework 10 BRR, Color Mode (00-02), SPEED, Sparks
Party 11 BRR, Color Mode (00-02), SPEED

Cop Car Color Modes:

  • 00: Red only
  • 01: Blue only
  • 02: Red and Blue
  • 03: White and Blue
  • 04: Red, Blue, White
  • 05: All colors

Example Commands:

// Cop Car - Red only (Color 00)
7891 0BDF 243A B446 5D8B 0A32 0005 74

// Cop Car - Blue only (Color 01)  
7891 0BDF 243A B446 5D8B 0A32 0105 75

Device Info:

  • Model: CB60 RGB
  • Identifier: NW-20210012&FFFFFFFF

RGB62 Light Command Protocol

Power Control Commands

Power OFF:

7881 0102 FC

Power ON:

7881 0101 FB

HSI Mode Color Control

The RGB62 supports HSI (Hue, Saturation, Intensity) color adjustments. Example sequence showing color transitions:

7886 040C 0132 3273  // Hue: 0C, Saturation: 32, Intensity: 32
7886 0413 0133 327B  // Hue: 13, Saturation: 33, Intensity: 32
7886 0415 0134 327E  // Hue: 15, Saturation: 34, Intensity: 32
7886 041F 0136 328A  // Hue: 1F, Saturation: 36, Intensity: 32
7886 0426 0138 3293  // Hue: 26, Saturation: 38, Intensity: 32
7886 0428 0139 3296  // Hue: 28, Saturation: 39, Intensity: 32

CCT Mode Controls

Green/Magenta Adjustment:

7887 0532 2115 0000 6C  // CCT: 32, GM: 21
7887 0532 2315 0000 6E  // CCT: 32, GM: 23
7887 0532 2615 0000 71  // CCT: 32, GM: 26
7887 0532 2715 0000 72  // CCT: 32, GM: 27
7887 0532 2915 0000 74  // CCT: 32, GM: 29
7887 0532 2F15 0000 7A  // CCT: 32, GM: 2F
7887 0532 3115 0000 7C  // CCT: 32, GM: 31

Color Temperature Adjustment:

7887 0532 3315 0000 7E  // CCT: 32, GM: 33
7887 0532 3915 0000 84  // CCT: 32, GM: 39
7887 0532 3D15 0000 88  // CCT: 32, GM: 3D
7887 0532 3E15 0000 89  // CCT: 32, GM: 3E

Brightness Control:

7887 0536 3E15 0000 8D  // Brightness: 36
7887 0543 3E15 0000 9A  // Brightness: 43
7887 0545 3E15 0000 9C  // Brightness: 45

Effect Commands

CCT Flash Effect:

788B 0506 3237 3205 AE

Welding Effect (Brightness Range Control):

788B 0605 0032 3732 05AE  // Lower: 32, Upper: 37
788B 0605 0050 3732 05CC  // Lower: 50, Upper: 37
788B 0605 0064 3732 05E0  // Lower: 64, Upper: 37

Explosion Effect:

788B 0604 3237 3205 05B2

Command Structure Notes

  • Device Handle: Commands are sent to Handle 0x000D
  • Device Identifier: NEEWER-RGB62
  • Command Format: All commands follow a consistent hex structure with checksums
  • Parameter Ranges:
    • Brightness: 00-64 (0-100%)
    • CCT values vary by specific implementation
    • GM (Green/Magenta): Bidirectional tint control