U5
← → to move between modules
06 / 09 · Security
SE050 secure element
An NXP EdgeLock SE050C2 on the I²C bus for key storage and crypto.
- Part
- SE050C2HQ1_Z01SDZ
- Address
- 0x48 (fixed)
- Protocol
- T=1 over I²C
- Enable
- GPIO8
U5 is an NXP EdgeLock SE050C2 — a certified secure element that generates and stores private keys in hardware and never exposes them. On a badge that wants to hold a Solana keypair, this is the part that makes that meaningful.
It shares GPIO9/GPIO10 with the button expander, at the fixed address 0x48 that cannot be changed. Before any transaction, GPIO8 (SE_EN) has to be driven HIGH — the enable line is a hard gate, not a suggestion.
The transport is T=1 over I²C, the smart-card protocol rather than plain register reads. The bring-up firmware proves the link by issuing a soft reset and reading back the 35-byte ATR.
Pins
| Pin | Net | Role | Function |
|---|---|---|---|
| GPIO8 | SE_EN | ENABLE | Enable line to U5 pin 14. Drive HIGH before any I²C transaction. |
| GPIO9 | SCL | I²C CLK | Shared with the TCA9534. 2K2 pull-up R10. |
| GPIO10 | SDA | I²C DATA | Shared with the TCA9534. 2K2 pull-up R8. |
Parts
- U5 SE050C2HQ1_Z01SDZ Secure element — key storage, crypto accelerator
Firmware
constexpr int PIN_SE050_ISO_RST = 8;
constexpr uint8_t SE050_ADDR = 0x48;
constexpr uint8_t SE050_ATR_LENGTH = 35;
constexpr bool SE050_ENABLE_ACTIVE_HIGH = true;Notes
- A healthy board answers at 0x20 (TCA9534) and 0x48 (SE050) on an I²C scan — serial command “s”.