# Cubean
## Cubean TX 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 Index | Hex | Meaning |
---|
0 | FE | Start byte 1 |
1 | EF | Start byte 2 |
2 | 00 | Unused/reserved |
3 | 00 | Unused/reserved |
4 | 5A | Drum/Cooler/Fan state (bitfield?) |
5 | 64 | Heat power (0–100 decimal) |
6 | 02 | Unknown, possibly a mode ID |
7 | 76 | Fan speed (0–255 scale) |
8 | AA | Marker |
9 | 55 | Marker |
10 | 22 | Checksum or end byte |
## Cubean RX Protocol (Roaster → Controller)
- **Direction:** Cubean roaster → Arduino/controller
- **Rate:** Same UART config: `9600 baud`, `SERIAL_8N1`
- **Interval:** ~200ms
- **Packet Length:** 11 bytes
- **Structure:**
Byte Index | Hex | Meaning |
---|
0 | FE | Start byte 1 |
1 | EF | Start byte 2 |
2 | 0X | Temperature high nibble (BCD/hex?) |
3 | YY | Temperature low nibble |
4 | 00 | Unknown |
5 | 00 | Unknown |
6 | 00 | Possibly status byte |
7 | 00 | Possibly another status byte |
8 | AA | Marker |
9 | 55 | Marker |
10 | XX | Checksum or data byte |