# BEE-1012, UEL-Y-Sys and SD-1 SAT — Beacon Format, Orbit and Downlinks

Issue 0.2, 2026-10-13 (issue 0.1: 2026-10-07). Yonsei University Astrodynamics and Control Laboratory (ground segment operator of the three satellites). Prepared by Yonghoon Chung.

This page gives the orbit, the radio links and the byte layout of the housekeeping beacons of the three Yonsei satellites launched on KSLV-II Nuri flight 5 (2026-10-07 03:25 UTC), so that SatNOGS and other community stations can track them, tell the frames apart and decode them. The Kaitai Struct decoders below were checked against all 31 frames of SatNOGS observation 15144789 and against beacons recorded by the Yonsei ground station on the first pass.

## 1. Orbit and identification

Launch 2026-10-07 03:25 UTC, KSLV-II Nuri flight 5, Naro Space Center. Separation about 17 minutes after lift-off into a sun-synchronous orbit of about 570 km (local time of descending node about 12:30). The objects of launch 2026-229 were identified by matching Yonsei pass timings against every candidate TLE (2026-10-11):

| Satellite | COSPAR designation | NORAD catalogue number | TLE line 1 shows |
|---|---|---|---|
| BEE-1012 | 2026-229F | 100960 | `A0960` |
| UEL-Y-Sys | 2026-229C | 100957 | `A0957` |
| SD-1 SAT | 2026-229L | 100965 | `A0965` |

Catalogue numbers above 99999 are written in Alpha-5 form (100960 → `A0960`); current tracking software (SatNOGS, Gpredict 2.3, satellite.js 4) accepts it. Current elements are available as a three-line TLE set at `https://hyvrid.yonsei.ac.kr/tle/nuri5` (names as above, refreshed from Space-Track every three hours; `/tle/nuri5.json` says when) and from CelesTrak (`gp.php?CATNR=100960`) and Space-Track. The table below is filled from that set when the page loads; the derived values are two-body approximations.
## 2. Radio links (common to all three)

UHF is common to all three satellites; S-band exists on BEE-1012 and UEL-Y-Sys only. The rest of this page describes the UHF beacon.

| Item | UHF beacon and telemetry | S-band payload downlink |
|---|---|---|
| Frequency | 436.500 MHz, same for all three | 2403.500 MHz; SD-1 SAT has no S-band |
| Transceiver | GomSpace NanoCom AX100, 1 W | EnduroSat S-Band Transmitter, transmit only, 1.0 W (licensed emission 2M00G3DM) |
| Modulation | GFSK, 4800 baud, h = 0.667 (±1600 Hz) | digital phase modulation in 2 MHz; symbol rate and coding to be confirmed after on-orbit commissioning (planned late October to early November 2026) |
| Framing | AX100 "mode 5": preamble 0xAA, ASM 0x930B51DE, Golay(24,12) length, CCSDS scrambler, RS(255,223), CRC-32C | not published |
| Spacecraft antenna | turnstile | patch, 8.3 dBi (BEE-1012; UEL-Y-Sys to be confirmed) |
| When it transmits | beacon bursts: BEE-1012 and UEL-Y-Sys 2–4 frames about every 40 s, SD-1 SAT 1 frame about every 10 s (first-pass value, to be confirmed); plus replies to Yonsei telecommands | only while the Yonsei station commands a file download during a pass; no periodic S-band beacon, so community stations will not hear it unless a session is arranged with Yonsei |
| gr-satellites | `framing: AX100 ASM+Golay`, `telemetry: csp` | — |
## 3. Frame as delivered by the AX100 deframer

After ASM detection, de-randomisation, Reed-Solomon correction and CRC-32C check, the frame that reaches the decoder (and that SatNOGS stores) is

```
[CSP header 4 B][beacon body N B][CSP CRC-32 4 B, only if CSP CRC flag = 1]
```

The CSP header is CSP 1.x in **network byte order** (big endian 32-bit word): priority (2 bits), source (5), destination (5), destination port (6), source port (6), reserved (4), HMAC, XTEA, RDP, CRC (1 bit each).

| Satellite | Identifier (first bytes of body) | Body length | CSP CRC flag | Frame length |
|---|---|---|---|---|
| BEE-1012 | `BEE1012` (7 B ASCII) | 210 B | 1 | 4 + 210 + 4 = **218 B** |
| UEL-Y-Sys | `UELYSYS` (7 B ASCII) | 211 B | 1 | 4 + 211 + 4 = **219 B** |
| SD-1 SAT | `SD1` + 0x00 (4 B) | 91 B | 0 | 4 + 91 = **95 B** |

The identifier is sufficient to tell the three satellites apart. Other frames occur on the same frequency (replies to Yonsei telecommands, payload reports) and do not start with these identifiers; the decoders reject them.

Byte offsets below count from the start of the frame, so the CSP header occupies bytes 0–3 and the identifier starts at byte 4. Multi-byte fields are **little endian** unless marked BE. `u1/u2/u4` are unsigned, `s1/s2/s4` signed, `f4` IEEE-754 single.

## 4. BEE-1012 beacon (body 210 B)

| Offset | Size | Type | Field | Unit / notes |
|---|---|---|---|---|
| 0 | 4 | u4 BE | CSP header | |
| 4 | 7 | ASCII | identifier | `BEE1012` |
| 11 | 2 | u2 BE | CCSDS stream ID | 0x081A |
| 13 | 2 | u2 BE | CCSDS sequence | count = low 14 bits |
| 15 | 2 | u2 BE | CCSDS length | 0x00C4 = 196 → packet 203 B |
| 17 | 4 | u4 BE | time code, seconds | epoch 2026-01-01 00:00:00 UTC once the clock is set; free-running until then |
| 21 | 2 | u2 BE | time code, sub-seconds | |
| 23 | 2 | u2 | obc_boot_count | |
| 25 | 4 | u4 | obc_sequence | beacon counter |
| 29 | 1 | u1 | obc_reset_cause | |
| 30 | 1 | u1 | ax100_active_conf | |
| 31 | 2 | u2 | ax100_boot_count | |
| 33 | 4 | u4 | ax100_boot_cause | |
| 37 | 2 | s2 | ax100_temp_board | 0.1 °C |
| 39 | 2 | s2 | ltrx_temp | 0.1 °C (ANT61 Beacon S L-band unit) |
| 41 | 1 | s1 | ltrx_connection_quality | 0–5 |
| 42 | 2 | u2 | ltrx_battery_capacity | 0.1 % |
| 44 | 36 | — | EPS PMU block | see §7 |
| 80 | 39 | — | EPS PDU block | see §7 |
| 119 | 25 | — | EPS ACU 0 block | see §7 |
| 144 | 25 | — | EPS ACU 1 block | see §7 |
| 169 | 22 | — | Battery BP8 block | see §7 |
| 191 | 1 | u1 | gpio_status | bit mask |
| 192 | 1 | u1 | padding | |
| 193 | 1 | u1 | sp_deploy_status | 0 solar panels stowed, 1 deployed |
| 194 | 20 | — | ADCS block | see §7 |
| 214 | 4 | — | CSP CRC-32 | trailer |

## 5. UEL-Y-Sys beacon (body 211 B)

| Offset | Size | Type | Field | Unit / notes |
|---|---|---|---|---|
| 0 | 4 | u4 BE | CSP header | |
| 4 | 7 | ASCII | identifier | `UELYSYS` |
| 11 | 2 | u2 BE | CCSDS stream ID | 0x081A |
| 13 | 2 | u2 BE | CCSDS sequence | count = low 14 bits |
| 15 | 2 | u2 BE | CCSDS length | 0x00CC = 204 → packet 211 B |
| 17 | 4 | u4 BE | time code, seconds | as BEE-1012 |
| 21 | 2 | u2 BE | time code, sub-seconds | |
| 23 | 2 | u2 | obc_boot_count | |
| 25 | 4 | u4 | obc_sequence | beacon counter |
| 29 | 1 | u1 | obc_reset_cause | |
| 30 | 4 | u1 ×4 | i2c_switch_status[4] | |
| 34 | 1 | u1 | ax100_active_conf | |
| 35 | 2 | u2 | ax100_boot_count | |
| 37 | 4 | u4 | ax100_boot_cause | |
| 41 | 2 | s2 | ax100_temp_board | 0.1 °C |
| 43 | 36 | — | EPS PMU block | see §7 |
| 79 | 39 | — | EPS PDU block | see §7 |
| 118 | 25 | — | EPS ACU 0 block | see §7 |
| 143 | 25 | — | EPS ACU 1 block | see §7 |
| 168 | 22 | — | Battery BP8 block | see §7 |
| 190 | 4 | u1 ×4 | dsp_i2c_status[4] | deployment panel |
| 194 | 1 | u1 | dsp_gpio_status | |
| 195 | 20 | — | ADCS block | see §7 |
| 215 | 4 | — | CSP CRC-32 | trailer |

## 6. SD-1 SAT beacon (body 91 B)

Different bus (GomSpace P60 Dock EPS with BPX battery, ISIS antenna). No CCSDS header.

| Offset | Size | Type | Field | Unit / notes |
|---|---|---|---|---|
| 0 | 4 | u4 BE | CSP header | CRC flag 0 |
| 4 | 4 | ASCII | identifier | `SD1` + 0x00 |
| 8 | 4 | u4 | ops_restored_timestamp | s; 0 until a time value has been restored |
| 12 | 4 | u4 | ops_seconds_since_first_boot | s |
| 16 | 2 | u2 | ops_boot_count | |
| 18 | 2 | u2 | ops_warning_flags | bit mask |
| 20 | 4 | u4 | utrx_boot_cause | AX100 |
| 24 | 2 | u2 | utrx_boot_count | |
| 26 | 2 | s2 | utrx_board_temp | 0.1 °C |
| 28 | 1 | u1 | utrx_active_conf | |
| 29 | 2 | u2 | dock_out_en_mask | bit mask |
| 31 | 2 | u2 | pdu_out_en_mask | bit mask |
| 33 | 2 | u2 | pdu_conv_en_mask | bit mask |
| 35 | 12 | s2 ×6 | acu_cin[6] | mA |
| 47 | 12 | u2 ×6 | acu_vin[6] | mV |
| 59 | 2 | u2 | vbatt | mV (4S pack, about 15.7 V) |
| 61 | 2 | s2 | vcc | raw |
| 63 | 2 | u2 | batt_v | mV |
| 65 | 2 | s2 | batt_c | mA |
| 67 | 2 | s2 | batt_chrg | mA |
| 69 | 2 | s2 | batt_dischrg | mA |
| 71 | 2 | s2 | batt_temp | not used (reads 0) |
| 73 | 2 | s2 | dock_temp | 0.1 °C |
| 75 | 2 | u2 | dock_boot_count | |
| 77 | 2 | u2 | gnd_wdt_cnt | |
| 79 | 2 | u2 | can_wdt_cnt | |
| 81 | 4 | u4 | gnd_wdt_left | s |
| 85 | 4 | u4 | can_wdt_left | s |
| 89 | 4 | u4 | dock_reset_cause | |
| 93 | 1 | u1 | uant_door_states | bit mask |
| 94 | 1 | u1 | uant_feedback_switches | bit mask |

## 7. Common blocks (BEE-1012 and UEL-Y-Sys)

Offsets inside each block. The blocks are GomSpace NanoPower P80 (PMU, PDU, ACU), NanoPower BP8 battery and CubeSpace CubeADCS.

**EPS PMU block, 36 B**

| Offset | Size | Type | Field | Unit |
|---|---|---|---|---|
| 0 | 4 | u4 | bootcause | |
| 4 | 2 | u2 | resetcause | |
| 6 | 2 | u2 | bootcount | |
| 8 | 6 | u1 ×6 | out_en[6] | 0/1 |
| 14 | 4 | s2 ×2 | temp[2] | 0.1 °C |
| 18 | 1 | u1 | batt_mode | |
| 19 | 2 | s2 | batt_i | mA |
| 21 | 2 | u2 | batt_v | mV (8S pack, about 31.7 V) |
| 23 | 1 | u1 | sm_en | |
| 24 | 2 | u2 | gnd_wdt_cnt | |
| 26 | 2 | u2 | bus_wdt_cnt | |
| 28 | 4 | u4 | gnd_wdt_left | s |
| 32 | 4 | u4 | bus_wdt_left | s |

**EPS PDU block, 39 B**

| Offset | Size | Type | Field | Unit |
|---|---|---|---|---|
| 0 | 26 | s2 ×13 | out_i[13] | mA, output current per channel |
| 26 | 13 | u1 ×13 | out_en[13] | 0/1 |

**EPS ACU block, 25 B** (one per solar-array controller)

| Offset | Size | Type | Field | Unit |
|---|---|---|---|---|
| 0 | 12 | s2 ×6 | input_i[6] | mA |
| 12 | 12 | u2 ×6 | input_v[6] | mV |
| 24 | 1 | u1 | mppt_mode | |

**Battery BP8 block, 22 B**

| Offset | Size | Type | Field | Unit |
|---|---|---|---|---|
| 0 | 2 | u2 | bootcount | |
| 2 | 2 | u2 | bootcause | |
| 4 | 2 | u2 | resetcause | |
| 6 | 4 | f4 | soc | 0.0–1.0 |
| 10 | 4 | f4 | bat_avr_temp | °C |
| 14 | 2 | u2 | vbat | mV |
| 16 | 4 | f4 | i | A, + discharge / − charge |
| 20 | 2 | u2 | heater_i | mA |

**ADCS block, 20 B**

| Offset | Size | Type | Field | Unit |
|---|---|---|---|---|
| 0 | 1 | u1 | power_state | bit mask of powered sensors/actuators |
| 1 | 1 | u1 | control_mode | 0 none, 1 detumbling |
| 2 | 12 | f4 ×3 | gyro rate x, y, z | deg/s |
| 14 | 6 | u1 ×6 | css[6] | coarse sun sensors, raw |

## 8. Sample frames (SatNOGS observation 15144789, 2026-10-07)
Frames exactly as stored by SatNOGS (CSP header first).

**BEE-1012**, 218 bytes, 06:44:35 UTC

```
94 84 66 01 42 45 45 31 30 31 32 08 1a d5 52 00 c4 00 0f 70 d2 ee 17 01 00 3c 00 00 00 21 01 8b
00 01 00 00 00 cc 00 be 00 00 d4 03 02 00 00 00 64 00 77 00 01 01 00 00 00 00 9b 00 9f 00 03 65
00 e9 7b 07 00 00 04 00 07 8b 02 00 0f 01 00 00 94 ff 27 00 64 ff f8 ff 63 01 04 00 04 00 02 00
04 00 02 00 03 00 03 00 e3 00 00 01 00 00 01 00 00 01 00 00 01 00 01 51 00 56 00 28 00 1f 00 55
00 05 00 25 01 43 00 6c 00 51 00 51 00 51 00 01 d8 01 da 01 ab 00 ae 00 01 00 05 00 fc 1a c2 1a
8a 1a 27 1b 36 00 44 00 01 79 00 01 00 00 00 de 9b 3a 3f 00 00 78 41 fd 7b 00 00 00 be 02 00 18
00 00 04 00 5c 8f 62 bf 0a d7 83 3e 8f c2 9d bf 03 03 03 03 21 14 07 ba fc 1e
```

**UEL-Y-Sys**, 219 bytes, 06:44:08 UTC

```
94 83 38 01 55 45 4c 59 53 59 53 08 1a c4 43 00 cc 00 0f 71 d2 a0 ec 05 00 2b 02 00 00 21 01 01
01 01 01 ed 01 01 00 00 00 64 00 02 00 00 00 64 00 27 01 01 01 00 00 00 00 19 00 1e 00 03 33 00
bf 7b 07 01 00 06 00 1c 44 02 00 0f 01 00 00 2f 00 8e fe ba ff 28 01 01 00 00 00 01 00 03 00 04
00 02 00 05 00 02 00 02 00 01 00 00 01 00 00 00 00 00 00 00 00 00 2d 00 33 00 33 00 38 00 3d 00
40 00 2c 29 5f 28 0d 29 a7 23 9f 28 50 29 01 3d 00 34 00 c7 01 3f 00 31 00 00 00 d2 0a 65 0a 39
0b 74 0a 92 0a 44 00 01 2d 01 01 00 00 00 bb e8 3a 3f 00 00 28 41 c9 7b 6f 12 83 bd 01 00 01 01
01 01 0f 0c 00 29 5c 3f 3f 33 33 d3 3e 28 5c cf 3f 75 1a 3e 05 0f 05 2e f4 cb f1
```

**SD-1 SAT**, 95 bytes, 06:48:27 UTC

```
94 85 80 00 53 44 31 00 00 00 00 00 a1 2b 00 00 01 00 01 00 00 00 00 01 be 00 6c 00 02 33 07 00
00 00 00 35 00 0f 01 3a 00 27 01 13 00 11 00 52 40 9c 40 65 3a c3 3a 07 01 07 01 c8 3d 77 ff c6
3d c5 01 4c 02 87 00 00 00 78 00 af 00 00 00 02 00 58 69 02 00 2c 01 00 00 00 03 00 00 f0 ff
```

