Skip to main content

Hardware Design

Design Choices

Up next is provided a table including the most important information of the OBC. In the following sections is found information about each one of them as well as the overall design of the system.

Quick Facts Table

ComponentValue
MicrocontrollerSTM32L476RG
CoreARM Cortex-M4
GenerationSTM32L4 Series of ultra-low-power MCUs
Flash Memory1 MB
SRAM128 KB

Table 1: OBC Hardware Quick Facts Table

Microcontroller Unit (MCU)

The selected microcontroller unit is the STM32L476RG. Among its main features one can find outstanding processing performance, fast interrupt handling, low gate count and ultra-low-power consumption. Some of the reasons that back up this choice are provided next:

  • Common industry use, therefore there is a lot of documentation about it on STMicroelectronics' website, but also a significant amount of online tutorials which showcase how this device could be used for a multitude of tasks.
  • Size of the flash memory and effiency of SRAM, paired up with the 32 KB of hardware parity check, enabling the creation a buffer for important data to be safely stored in.
  • The availability of a wide array of peripheral communications including I2C, USART, SPI, and SWPM create a very flexible environment for trying out several methods of setup and communication. This is also relevant considering the modular approach to the
  • The number of internal and possible external clocks with a capacity of oscillating to 80 MHz allows the satellite to operate under multiple different modes, each with different clock settings well-suited to power management applications.

The microcontroller hosts an overall 4 GByte memory area, at adresses ranging between 0x0000 0000 and 0xFFFF FFFF. Accessible for our use are two SRAM memories providing a total sum of 128KB and a Flash memory with an storage capacity of 1MB.

MemoryAddressesStorage CapacityBoot AreaApplication Code
SRAM10x2000 0000 - 0x2003 FFFF96 KBytesNONO
SRAM20x1000 0000 - 0x1000 7FFF32 KBytesNONO
Flash0x0800 0000 - 0x080F FFFF1 MByteYESYES

Table 2: Embedded Memories information

The flash memory is also divided in two 512KBytes banks, enabling read-while-write operations. The embedded SRAM can be accessed in read/write at CPU clock speed with 0 wait states.

Clocks

The MCU is provided with internal clocks but a pair of external clocks are accommodated for clock configuration. This is due to the fact that the speed of the MCU will be slown down depending on the state of the battery as well as due to the necessity of high speeds by the K-Band payload.

These two external clocks will provide redundancy and a stable reference signal to the OBC ensuring proper timings. One of this clocks is a 32.768KHz SMD Low Profile Crystal (ABS09-32.768KHZ-7-T), providing a lower speed signal while the other clock, a ECX-32 SMD CRYSTAL(ECS-120-18-33-JEM-TR3), provides a high speed signal at a frequency 32 MHz. Both were selected due to their temperature operative ranges as well as package size, while also considering availability.

PoL Controls

While the PoL Controls do not belong to the OBC subsystem in on of itself they are located in the OBC-COMMS board and controlled by the MCU. These are requiered to easily shutdown parts of the system as well as ensuring voltages in critical points. Even though this task could moreless be performed by transistors, the use of PoL IC improves reliability and offers a safer alternative.

The selected IC for this task is the BD2232G-GTR due to it being equipped with the functions of over-current detection, thermal shutdown and under-voltage lockout. The package size and thermal properties also match the system requirements.

Schematic Design

MCU

The MCU is undoubtedly the most complex piece of the OBC-COMMS PCB in terms of connectivity. It communicates with the rest of the system using DACs, ADCs, UART, I2C (to a great extent), SPI and GPIOs. The schematic of the MCU is provided next:

Solar Array

Figure 1: MCU Schematic

In order to avoid high frequency interferance with the voltage supply of the MCU seven capacitors are placed in parallel before the input resulting in the following configuration.

Solar Array

Figure 2: MCU Decoupling Capacitors Schematic

Now a table with some information about each one of the PINs of thee MCU is given and most relevant explanations are provided later:

Pin Number / NamePCB Pin NameTypeDescription
1/VBATVCCPowerGeneral Power line at 3.3V
2/PC13NC--
3/PC14OSC32_INInput32 kHz Oscillator Input
4/PC15OSC32_OUTOutput32 kHz Oscillator Output
5/PHOOSC_INInput12 MHz Oscillator Input
6/PH1OSC_OUTOutput12 MHz Oscillator Output
7/NRSTNRSTDigital InputSTM32 Reset Pin
8/PC0SCL3I2CI2C3 Clock Bus
9/PC1SDA3I2CI2C3 Data Bus
10/PC2SEL_PH0Digital OutputSelector for Photodiode Multiplexer
11/PC3NC--
12/VSSAGNDPowerGround
13/VDDAVCCPowerGeneral Power line at 3.3V
14/PA0BATT_NTCAnalog InputBattery Temperature NTC Sensor
15/PA1ADC_PLAnalog InputADC Input
16/PA2XNCUnused Pin for Future or No Use
1/PA3CHRGOFFDigital OutputBattery Charging Enable Pin
18/VSSGNDPowerGround
19/VDDVCCPowerGeneral Power line at 3.3v
20/PA4CLPROGAnalog OutpotCharge Current Programming Output
21/PA5DAC_PLAnalog OutputDAC Output for Payload
22/PA6XNot connectedUnused Pin for Future or No Use
23/PA7PoL_ADCS_POWER_ENDigital OutputPoint of Load Control for ADCS
24/PC4FAULTDigital InputBattery Charging Fault Status Pin
25/PC5ADC_PHAnalog InputPhotodiode Array Output
26/PB0STM32_PB0GPIOConnected to STM32 PB0, User Defined
27/PB1XNot connectedUnused Pin for Future Use
28/PB2CHRGDigital InputBattery Charging Monitoring Pin
29/PB10HEATER_ENDigital OutputHeater Enable Pin
30/PB11PoL_BURN_ENDigital OutputPoint of Load Control for Antenna Deployment
31/VSSGNDPowerGround
32/VDDVCCPowerGeneral Power line at 3.3V
33/PB12SX1262_NSSSPI Chip SelectSX1262 Chip Select
34/PB13SCKSPI ClockSX1262 SPI Clock
35/PB14MISOSPI MISOSX1262 SPI Master-In Slave-Out
36/PB15MOSISPI MOSISX1262 SPI Master-Out Slave-In
37/PC6PoL_P/L_ENDigital OutputPoint of Load Control for Payload
38/PC7XNot connectedUnused Pin for Future or No Use
39/PC8XNot connectedUnused Pin for Future or No Use
40/PC9SX1262_NRSTDigital InputSX1262 Reset
41/PA8SX1262_BUSYDigital OuputSX1262 Busy Indicator
42/PA9STM32_PA9GPIOConnected to STM32 PA9, User Defined
43/PA10DIO1Digital IinputSX1262 Interrupts
44/PA11SEL_PH1Digital OutputSelector for Photodiode Multiplexer
45/PA12SEL_PH2Digital OutputSelector for Photodiode Multiplexer
46/PA13SWDIOSerial Wire I/OSTM32 Debug Port
47/VSSGNDPowerGround
48/VDDUSBVCCPowerGeneral Power line at 3.3V
49/PA14SWCLKSerial WireSTM32 Debug Port
50 /PA15STM32_PA15GPIOConnected to STM32 PA15, User Defined
51/PC10UART_TXUART (Output)UART TX Bus to P/L
52/PC11UART_RXUART (Input)UART RX Bus to P/L
53/PC12XNot connectedUnused Pin for Future or No Use
54/PD2XNot connectedUnused Pin for Future or No Use
55/PB3SWOSerial WireSTM32 Debug Pin
56/PB4XNot connectedUnused Pin for Future or No Use
57/PB5PFOPowerPower Fault Output
58/PB6SCL1I2CI2C1 Clock Bus
59/PB7SDA1I2CI2C1 Data Bus
60/BOOT0Boot0BootBoot Pin
61/PB8XNot connectedUnused Pin for Future or No Use
62/PB9XNot connectedUnused Pin for Future or No Use
63/VSSGNDPowerGround
64/VDDVCCPowerGeneral Power line at 3.3V

Table 3: MCU PINs

PoL Control

The Point-of-Load (PoL) control provides powering of critical components of the system, those being the P/L, ADCS, Thermal Knife and the Battery Heater. The IC is powered by the 3.3V line and the schematic follows the manufacturers reference design, with EN/EN# pin being controlled by the OBC with GPIOs (as MCU Outputs).

Solar Array

Figure 3: PoL Controls Schematic

The outputs of these PoL is connected to the vertical connectors on the sides of the PCB.

External Clocks

The OBC external clocks are provided with decoupling capacitors to minimize any noise that might affect the reference signals. The schematics are provided next:

External Clocks

Figure 3: External Clocks Schematic

Capacitors are placed at the extremes of the clocks to reduce the gain of higher harmonics produced by the crystals themselves.

Overall Schematic

A schematic of the whole system is provided now, highlihting the parts with different colours:

External Clocks

Figure 4: Overall OBC Schematic

  • Red: The MCU itself, coupled with the pull-up resistors and capacitors it needs for its pins.
  • Green: The 4 power switch ICs which can switch several pin outputs to zero (more specifically: P/L_POWER, ADCS_POWER, BURNCOMMS, and HEATER_PWR).
  • Light blue: The outside lateral connectors used for system power and data connectivity.
  • Dark blue: The Umbilical Power Diode used to protect the circuit from reflections while being directly powered .
  • Pink: The 2 external oscillators (Low speed and High speed) used as redundant clocks for the OBC circuit.
  • Orange: The MCU's decoupling capacitors used to reduce and filter out noise caused by sudden changes in power demand from a device or component.
  • Yellow: The mounting holes for the PCB, which will be used to fixate all the PCB in place with a long screw and give them a common GND pin.

PCB Design

Next an explanation of the OBC side of the OBC-COMMS PCB is given. Information related to the COMMS side is in its respective section. A render of the PCB is provided in the next figure:

Figure 5: OBC-COMMS PCB with OBC Components highlighted

  • Light red: MCU.
  • Green: Pull-up resistors for I2C.
  • Pink: Decoupling capacitors.
  • Dark blue: Power switch ICs (PoL Control) and their respective input capacitor.
  • Purple: Crystal oscillators and their respective coupling capacitors.
  • Crimson red: Umbilical diode and connector.
  • Light blue: Input capacitor and resistor for NRST and Boot0 respectively.

The MCU is located at the top layer of the PCB, placed at the left side of the board to keeking most power distribution as far away as possible from the COMMS side of the PCB to minimize interference. This distribution also keeps the I2C pins close to the vertical connectors which helps reduce noise from the PCB. The Decoupling capactitors  are placed throughout the board on the STM32 voltage pins.

The I2C Pull-up resistors are simply placed as close as possible to the corresponding pins. This decision also happens to minimize the lenght of the lines as the PINs are close to the vertical conectors. This same philosophy applies to the  input capacitor and resistor for NRST and Boot0.

All this components are besides the NRST capacitor are on the top layer. On the bottom layer we find the Power switch ICs (PoL Control) which are once again located as close as possible to the vertical connectors where their outputs match in order to minime power losses, keep lines short and avoid interferences with COMMS. On the same side are the  Crystal oscillators which are located at the top right corner as the MCU is then located straight on top of them. This is fundamental as the harmonics generated by these clocks are dangerous to the COMMS subsystem, so keeping them as far as possible from the RF lines and transciever minimizes risk of coupling.

The last piece of the OBC PCB are the Umbilical diode and connector, also on the bottom layer and, once again, close to the vertical connectors for the same reasons as before.

A list of the components as well as some information for each part is provided next:

Microcontroller Unit (MCU)

The table containing the MCU information:

CharacteristicDescription
MicrocontrollerSTM32L476RGT7
MCU ManufacturerST
CoreARM Cortex M4
Word Length32-bit
Frequency (MHz)80
ArchitectureRISC
FPUYes
Consumption9.6mA
Interfacesx3 I2C, x3 SPI, x2 UART, x3 USART, x8 GPIO
ADC3
DAC2
Flash1MB
RAM128KB

Table 4: MCU Information

Decoupling capacitors 

Capacitor C31 is a 4.7uF ceramic capacitor (GRT188R61E475KE13D) with the following characteristics:

Temp. coeff. or Cap. ChangeTemp. RangeRef. Temp.Rated VoltageCapacitanceCapacitance ToleranceOperating Temp. RangeMounting Method
-15 to 15 %-55 to 125°C25°CDC 100V4.7uF+/-10%-55 to 85°CFlow, Reflow

Table 5: GRT188R61E475KE13D (C31) Relevant Values

Capacitors C32 to C36 are all 100nF ceramic capacitors (GRM188R72A104KA35J) with the following characteristics:

Temp. coeff. or Cap. ChangeTemp. RangeRef. Temp.Rated VoltageCapacitanceCapacitance ToleranceOperating Temp. RangeMounting Method
-15 to 15 %-55 to 125°C25°CDC 100V0.1uF+/-10%-55 to 125°CFlow, Reflow

Table 6: GRM188R72A104KA35J (C32, C33, C34, C35, C36) Relevant Values

Capacitor C37 is a 1uF ceramic capacitor (GRM188R61A105KA61D) with the following characteristics:

Temp. coeff. or Cap. ChangeTemp. RangeRef. Temp.Rated VoltageCapacitanceCapacitance ToleranceOperating Temp. RangeMounting Method
-15 to 15 %-55 to 85°C25°CDC 10V1uF+/-10%-55 to 85°CFlow, Reflow

Table 7: GRM188R61A105KA61D (C37) Relevant Values

I2C Pull-up resistors

The I2C PU Resistors (R1, R2, R7, R8) are all 4.7k thick film resistors (CRCW06034K70JNEAC):

ResistancePower RatingToleranceTemp. CoefficientMin. Operating Temp.Max. Operating Temp.Voltage Rating
4.7 kOhms100 mW (1/10 W)5%200 PPM / °C-55 °C+155 °C75 V

Table 8: I2C PU Resistors Values (R1, R2, R7, R8)

 Crystal Oscillators

The Crystal oscillators present the following capacitors to filter harmonics:

RefDesPackageValueQtyDescriptionManufacturer Code
C38, C39040210pF1Multilayer ceramic capacitors C0G ±2%, 50V06035A100GAT2A
C40, C4104023.3pF1Multilayer Ceramic Capacitors C0G ±5%, 100VGCM1885C2A200JA16D

Table 9: Crystal Oscillators Capacitors Values

Umbilical diode (RBS1LAM40ATR)

The umbilical connector boasts two diodes, which are the same component:

TypeConfigurationTechnologyIfVrrmVfIfsmIrVrMax Op. Temp.
Schottky DiodesSingleSi1 A40 V340 mV40 A150 µA20 V+125 °C

Table 10: Umbilical Diodes Values

 Input C&R for NRST and Boot0

NRST and Boot0 make use of the following components:

  • The resistor R6 (CRCW040210K0FKEDC):
ResistancePower RatingToleranceTemp. CoefficientMin. Operating Temp.Max. Operating Temp.Voltage Rating
10 kOhms63 mW (1/16 W)1%100 PPM / °C-55 °C+155 °C50 V

Table 11: R6 Values

  • The capacitor C42 (GRM188R72A104KA35J) is the same as the capacitors C32 to C36 decoupling capaciitors .

Power switch ICs Capacitors

The power switch capacitors are the same as the C37 decoupling capacitor .

PCB Layers

The OBC-COMMS layers are explained on the COMMS section of hardware-

State of the art

The Due to the novel nature of the satellite, research in this area is somewhat restricted. Most of the currently deployed spacecraft are primarily the outcome of educational initiatives and an emerging market. Considering all this, the assessment is focused on three enterprises currently offering market solutions, the already introduced Alba Orbital and FOSSA Systems, along with Citadel Space Systems. It is worth mentioning that the products of the latter company, still do not have experience in space. The 3 reference PocketQubes are Unicorn-2, FOSSASat-2 and Scquire, developed by Alba Orbital, FOSSA Systems and, Citadel Space Systems respectively.

The analysis breakdown of their microcontrollers on-board is performed in table 2.1. The underlying purpose of this comparison is to identify the technology that best meets the requirements of our On-Board Computer. In this regard, the research is focused on the relevant features of the microcontroller selected to fly towards space, such as word length, maximum frequency, architecture among others.

OrganizationAlba OrbitalFOSSA SystemsCitadel Space Systems
PocketQubeUnicorn-2FOSSASat-2Squire
MicrocontrollerMSP430STM32L4TMS570
MCU ManufacturerTISTTI
CoreCPUARM Cortex M4ARM Cortex R5F
Word Length16-bit32-bit32-bit
Frequency (MHz)1680300
ArchitectureRISCRISCRISC
FPUNoYesYes
Consumption6.72mA9.6mA990mA
Interfacesx1 I2C, x1 SPI, x1 UARTx3 I2C, x3 SPI, x2 UART, x3 USART, x8 GPIOx2 I2C, x5 SPI, x4 UART, x16 GPIO
ADC832
DAC-2-
Flash16KB1MB4MB
RAM512B128KB512KB

Table x: State of the art comparison

According to the previous table, the microcontroller selected by the emergent picosatellite companies are Texas Instruments (TI) and STMicroelectronics (ST). Regarding the processor core, it is common for the microcontrollers to be based upon a processor manufactured by another enterprise. In this case, the STM32L4 and the TMS570 are based on ARM Cortex M4 and ARM Cortex R5F respectively, both developed by Arm. However, TI has opted to develop the Central Processing Unit (CPU) core themselves. Furthermore, the critical features that significantly impact microcontroller per-On-board computer software development for PocketQubes formance are frequency and word length.

On the one hand, the frequency establishes the speed of the CPU, expressed in Hertz or MegaHertz represents the number of clock cycles per second. In our scenario, the TMS570 is the fastest in terms of intruction execution with 300 MHz, followed by the STM32L4 with 80 MHz and finally, the slowest being MSP430 at 16 MHz. On the other hand, the word length determines the width of the processor registers and the bus data width. Consequently, the memory space, data and instruction handling, and data precision are dependent on this parameter. For this reason, the processing performance of the 32-bit microcontroller from FOSSA Systems and Citadel Space Systems is more powerful, than the 16-bit selected by Alba Orbital.

However, performance comes together with power consumption so adjusting the system functioning to its requirements is key. In this context, the assessment should focus on the optimum trade-off between performance and power consumption where the battery capacity plays a critical role. The only parameter that the application writer can tune in order to regulate the power consumption is the clock frequency. For the sake of simplicity, the maximum power consumption of each microcontroller has been analyzed at their respective maximum frequencies (16 MHz, 80 MHz, and 300 MHz). As anticipated, the microcontroller operating at the highest frequency exhibits the highest power consumption, measuring 990 mA. This value is over ten times larger than the power consumption of the STM32L4, which consumes 9.6 mA, and the STM32L4, in turn, consumes twice the power of the MSP430 at 6.72 mA.

Furthermore, the system can reap advantages from the inclusion of a Floating Point Unit (FPU), which is specifically designed to handle floating-point operations. While the CPU is capable of performing such operations, the FPU executes them not only faster, but also with higher precision. Interestingly, Alba Orbital made the decision not to incorporate this component, whereas FOSSA Systems and Citadel Space Systems opted to implement it.

One thing in common among the pioneering entities is the architecture of the MCU. Based on Reduced Instruction Set Computing (RISC), the processing focuses on the use of simple instructions that can be executed in a clock cycle. In general, RISC architecture when compared to Complex Instruction Set Computing (CISC), is much faster, less resource consuming and more power-efficient, which is ideal for embedded systems. Even though CISC reduces the number of memory access since more operations can be done with a single complex instruction, pipelining in RISC also accelerates the memory access process.

Regarding interfaces, it is the part that depends the most on the overall system architecture. In other words, it depends on which are the devices that the microcontroller has to communicate with and which is the protocol required to do so. The system governing FOSSASAT-2 and Squire is more complex since they feature a wide variety of serial peripheral interfaces such as I2C, SPI, UART, USART and GPIO. On the contrary, Unicorn-2 looks somewhat simpler with only one I2C, one SPI and one UART peripheral interfaces required. In addition, FOSSASat-2 accomodates three ADCs, Scquire features two of them and MSP430 has up to 8 ADC channel available. In terms of DAC, STM32L4 is the only one having this feature, with 2 DACs.

Last but not least, the discussion concerning memory storage is given. As stated before it is directly dependent on the word length, since the more addresses we can use the larger the memory can be. Memory needs to have enough room for both data and the program itself. The three introduced PocketQubes accomodate a Flash memory along with a RAM memory whose sizes are determined according to the system needs.