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