Skip to main content

Cubean

Cubean TX Line
Protocol (Controller → Roaster)

    Direction: Arduino/controller → Cubean roaster

    Rate: 9600 baud, 8 data bits, no parity, 1 stop bit (SERIAL_8N1)

    Interval: Sent every ~200ms

    Packet Length: 11 bytes

    Structure:

    Byte PosIndex NameHex Hex
    Meaning 0 Start Byte 0x02FE Start ofbyte frame1 1 Temp IntEF 0x29Start 41°Cbyte 2 2 Temp Deci00 0x00 .0°CUnused/reserved 3 Heater PWM00 0x48 72 → 72/127 ≈ 56.7% heaterUnused/reserved 4 Exhaust Fan PWM5A 0x40Drum/Cooler/Fan 64state → 64/127 ≈ 50.4% fan(bitfield?) 5 Bitfield64 0xC0Heat Drumpower ON(0–100 + Cooling Fan ONdecimal) 6 End/Repeat Byte02 0x02Unknown, possibly a mode ID 7 Often76 repeatedFan startspeed (0–255 scale) 8 AA Marker 9 55 Marker 10 22 Checksum or paddingend byte

    Cubean RX Protocol (Roaster → Controller)


      Direction: Cubean roaster → Arduino/controller

      RXRate: Line
      Same UART config: 9600 baud, SERIAL_8N1

      Interval: ~200ms

      Packet Length: 11 bytes

      Structure:

      Byte PosIndex NameHex Hex
      Meaning 0 Start Byte 0x02FE Start ofbyte telemetry packet1 1 Temp IntEF 0x29Start 41°Cbyte 2 2 Temp Deci0X 0x00Temperature .0°Chigh nibble (BCD/hex?) 3 Heater PWM EchoYY 0x42Temperature 66low → 66/127 ≈ 52.0% actual heater outputnibble 4 Exhaust Fan Echo00 0x40 64 → 64/127 ≈ 50.4% fan outputUnknown 5 Bitfield00 0xC0 Drum ON + Cooling Fan ONUnknown 6 Padding/Repeat00 0x02Possibly status byte 7 Matches00 startPossibly another status byte 8 AA Marker 9 55 Marker 10 XX Checksum or data byte