Skip to the content
PCBKitNew board
4 layers70 × 70 mmSIGURD, the printed circuit board in 3D

Propulsion Engine Controller

Size
70 × 70 mm
Copper layers
4
Thickness
1.61 mm
Parts
159
Nets
118
Pads
548
Tracks, vias
967, 132
Pours
26
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
11 Oct 2025
Updated
22 Mar 2026

Overview

SIGURD is an open-source printed circuit board by aesirkth, from the aesirkth/Fafnir repository on GitHub. It is a 4-layer board of 70 × 70 mm with 159 parts on 118 nets, routed with 967 tracks and 132 vias.

It is built around the TCAN334GDCN, AP63203WU and LM51231QRGRRQ1, with the TPS56A37RPAR, TPS4H160AQPWPRQ1 and ESD2CAN36DBZRQ1 among its other parts. Its parts include 52 resistors, 42 capacitors, 18 diodes, 8 ICs and 7 connectors. It belongs with the STM32 boards of this library.

Main components

10

README

README.md

Fafnir

Propulsion Engine Controller

Prerequisites

Follow zephyr getting started guide

Build

bash
cd zephyr-firmware
west update
cd fafnir
west build -b fafnir app --pristine
west flash

Build for native simulation

bash
docker run -ti -v /Volumes/external/zephyrproject/:/workdir -v /Volumes/external/aesir/Fafnir/zephyr-firmware/:/app ghcr.io/zephyrproject-rtos/zephyr-build:main
cd /app/fafnir
west build -b native_sim/native/64 app --pristine -- -DEXTRA_CONF_FILE=debug.conf
./build/zephyr/zephyr.exe

or

bash
west build -b native_sim/native/64 app -- -DEXTRA_CONF_FILE=debug.conf && ./build/zephyr/zephyr.exe

Using shell in simulation

You can send can messages like this

bash
uart: ~$ can send can_loopback0 ID DATA

For example, running

bash
uart: ~$ can send can_loopback0 123 0

will tell Fafnir to go into state STATE_INIT.

Running

bash
uart: ~$ can send can_loopback0 124 0 1

will use the override feature to set N2 Valve HIGH.

CAN message specification to Fafnir

CAN IDbytedatatype
0x1230launch sequence number (1-6)uint8
0x1240Solenoid ID (1-4)uint8
11 == open, 0 == closedbool

Note that the launch sequence number corresponds to the launch sequence number as given in https://aesir.slab.com/posts/mjollnir-launch-sequence-2juh5ekp

Note that the Solenoid ID corresponds to the solenoid ports on the Fafnir board. Mjollnir only has two solenoids which correspond to:

text
Solenoid ID 2 => Bypass valve
Solenoid ID 3 => Pilot valve
Solenoid ID 4 => Control vent

Solenoid IDs 1 and 4 are not connected and don't do anything.

CAN acknowledges

CAN IDbytedatameaning
0x12500x01Changing state!
1<byte>the state we're changing to
0x12500x02Received valid override command!
1<byte>The first byte we received
2<byte>The second byte we received
0x12500xF0Recieved invalid state
0x12500xF1Cannot perform ignition command while attempting ignition. (Protection against double send)
1<byte>State command we received
0x12500xF2Invalid state command
0x12500xF3Invalid override command
0x12500xF4Invalid pin given in override command

The state we're changing to is of type equal to this C enum:

c
typedef enum {
    STATE_IDLE,
    STATE_INIT,
    STATE_FILL,
    STATE_STOP_FILL,
    STATE_UMBILICAL,
    STATE_N2_PRESSURIZATION,
    STATE_IGNITION_1,
    STATE_IGNITION_2,
    STATE_IGNITION_3,
    STATE_IGNITION_4,
    STATE_SAFE,
    STATE_ABORT_BEFORE_COUNTDOWN,
    STATE_ABORT_AFTER_COUNTDOWN
} State_t;

Note that this is NOT the same as the launch sequence number used in the command above (0x123).

Parts

159
QtyValueFootprintReferences
170.1uCapacitor_SMD:C_0402_1005MetricC3, C4, C5, C6, C7, C14, C15, C17, C19, C23, C27, C30, C32, C35, C40, C44 +1
1047kResistor_SMD:R_0603_1608MetricR29, R31, R32, R33, R34, R36, R37, R38, R43, R44
610kResistor_SMD:R_0402_1005MetricR9, R11, R16, R20, R35, R45
51.0AFuse:Fuse_1812_4532MetricF7, F8, F9, F10, F11
51kResistor_SMD:R_0402_1005MetricR23, R24, R27, R28, R42
53VDiode_SMD:D_SOD-323D10, D11, D14, D16, D18
5~Diode_SMD:D_0603_1608MetricD12, D13, D15, D17, D19
410uCapacitor_SMD:C_0603_1608MetricC13, C22, C41, C42
41MResistor_SMD:R_0603_1608MetricR12, R13, R14, R15
44.7uCapacitor_SMD:C_0402_1005MetricC1, C2, C11, C28
4LEDDiode_SMD:D_0603_1608MetricD7, D9, D20, D21
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_Pad_ViaH1, H2, H3, H4
3100Resistor_SMD:R_0402_1005MetricR1, R40, R50
310uCapacitor_SMD:C_0805_2012MetricC29, C31, C43
31kResistor_SMD:R_0603_1608MetricR4, R5, R22
20.02Resistor_SMD:R_2512_6332MetricR6, R21
210Resistor_SMD:R_0402_1005MetricR25, R51
215kResistor_SMD:R_0402_1005MetricR19, R46
218pCapacitor_SMD:C_0402_1005MetricC9, C10
222uCapacitor_SMD:C_0603_1608MetricC16, C21
222uCapacitor_SMD:C_0805_2012MetricC36, C37
23.3kResistor_SMD:R_0402_1005MetricR7, R8
23kResistor_SMD:R_0603_1608MetricR30, R39
2ESD2CAN36DBZRQ1ESD2CAN36-Q1:SOT-23-3_DBZ_TEXCR1, CR2
2SolderJumper_3_OpenJumper:SolderJumper-3_P2.0mm_Open_TrianglePad1.0x1.5mm_NumberLabelsJP2, JP3
1+12VTestPoint:TestPoint_Pad_D2.0mmTP5
1+24VTestPoint:TestPoint_Pad_D2.0mmTP1
1+3V3TestPoint:TestPoint_Pad_D2.0mmTP3
10.47uCapacitor_SMD:C_0402_1005MetricC33
1100pCapacitor_SMD:C_0402_1005MetricC39
110kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3
110uFAUL0640-100MT:IND-SMD_L7.0-W6.6_FAUL06XXL2
1120Resistor_SMD:R_0402_1005MetricR52
1120Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR10
115AFuse:Fuse_1206_3216MetricF1
11uCapacitor_SMD:C_0603_1608MetricC38
120kResistor_SMD:R_0402_1005MetricR49
124MHzCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmY1
13.9uInductor_SMD:L_Changjiang_FNR4030SL1
130pCapacitor_SMD:C_0402_1005MetricC34
1330nCapacitor_SMD:C_0402_1005MetricC24
1383kResistor_SMD:R_0402_1005MetricR48
1470Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2
1470pCapacitor_SMD:C_0402_1005MetricC12
147pCapacitor_SMD:C_0402_1005MetricC26
149.9kCapacitor_SMD:C_0402_1005MetricR17
15.6uFEXL0660A-5R6M:IND-SMD_L6.6-W6.4L3
152.3kResistor_SMD:R_0402_1005MetricR47
154.9kResistor_SMD:R_0402_1005MetricR18
156Resistor_SMD:R_0402_1005MetricR41
16.8nCapacitor_SMD:C_0402_1005MetricC25
17.5kResistor_SMD:R_0603_1608MetricR26
1AP63203WUPackage_TO_SOT_SMD:TSOT-23-6U9
1CAN inputConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ2
1CAN out (optional)Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ3
1CHANNELS1935242:CONN10_1935242_PXCJ14
1CMT-8504-100FEXL0660A-5R6M:BUZ-SMD_4P-L7.5-W7.5-P7.59-TLBZ1
1CSD17577Q3APackage_SON:VSON-8_3.3x3.3mm_P0.65mm_NexFETQ3
1CSD18543Q3APackage_SON:VSON-8_3.3x3.3mm_P0.65mm_NexFETQ4
1Conn_01x04Connector_PinSocket_1.27mm:PinSocket_1x04_P1.27mm_VerticalJ6
1DDiode_SMD:D_SOD-523D2
1GNDTestPoint:TestPoint_Pad_D2.0mmTP4
1INA226Package_SO:VSSOP-10_3x3mm_P0.5mmU4
1INPUTConnector_AMASS:AMASS_XT30PW-F_1x02_P2.50mm_HorizontalJ1
1LED_ARBGLED_SMD:LED_Lumex_SML-LX0404SIUPGUSBD5
1LM51231QRGRRQ1LM51231-Q1:RGR0020C-MFGU3
1MMBT3904Package_TO_SOT_SMD:SOT-23Q1
1SENSE1TestPoint:TestPoint_Pad_D2.0mmTP7
1SERVO1727023:CONN_1727023_PXCJ5
1STM32U575CGTxPackage_QFP:LQFP-48_7x7mm_P0.5mmU2
1SWDConnector_JST:JST_SH_SM06B-SRSS-TB_1x06-1MP_P1.00mm_HorizontalJ4
1SZNUP2105LPackage_TO_SOT_SMD:SOT-23D6
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP5
1SolderJumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_Pad1.0x1.5mm_NumberLabelsJP4
1TCAN334GDCNPackage_TO_SOT_SMD:TSOT-23-8U1
1TPS4H160AQPWPRQ1TPS4H160-Q1:PWP0028C_NU6
1TPS56A37RPARTPS56A37RPAR:RPA0010A-MFGIC3
1VN7050ASTRVN7050ASTR:SOIC_050ASTR_STMU7
1rxDiode_SMD:D_0603_1608MetricD4

The 157 most common of 159 parts.

Questions

How big is the SIGURD PCB?

It measures 70 × 70 mm and has 4 copper layers, 1.61 mm thick.

What parts does the SIGURD use?

159 parts, built around the TCAN334GDCN, AP63203WU, LM51231QRGRRQ1 and TPS56A37RPAR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the SIGURD KiCad files?

From the aesirkth/Fafnir repository on GitHub, at the commit this page was made from: the board is Hardware/SIGURD.kicad_pcb and its schematic Hardware/Ignition.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SIGURD design in my own project?

Its repository states no licence, so its author keeps all rights: ask aesirkth before reusing the design.

Similar boards

  • 4 layers70 × 70 mmSensor, the printed circuit board in 3D

    Sensor

    aesirkth/Sigurd

    Propulsion Sensor Unit

    161 parts
  • 4 layers38 × 53 mm1280 modem, the printed circuit board in 3D

    1280 modem

    klownfish/brage_telemetry

    A CAN connected 1W 2.4GHz telemetry modem

    96 parts
  • 6 layers33 × 45 mmPower, the printed circuit board in 3D

    Power

    da-penguin-guy/PiPortable

    This is a project that is designed to shove a CM5, a huge battery, and the pi touchscreen into a handheld form-factor.

    134 parts
  • 4 layers100 × 100 mmBOOSTV3, the printed circuit board in 3D

    BOOSTV3

    zhaque3/DC-DC-Boost-Converter

    A repository consisting of the PCB Design and firmware for DC-DC Boost converter on the University of Alberta EcoCar vehicle.

    199 parts
  • 2 layers64 × 77.7 mmGpio expander, the printed circuit board in 3D

    Gpio expander

    steinkohl/esp32-ethernet-main-pcb

    45 parts
  • 2 layers64 × 55 mmGpio expander, the printed circuit board in 3D

    Gpio expander

    steinkohl/gpio-expander-pcb

    39 parts
  • 2 layers60 × 60 mmCANE Junction, the printed circuit board in 3D

    CANE Junction

    Gregification/BeeMS

    Battery Management System

    98 parts5MIT
  • 4 layers100 × 100 mmBrain, the printed circuit board in 3D

    Brain

    Pegoku/SarcasmOS

    Personal assistant characterized by Bender from Futurama

    225 parts2