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

Component Value
Microcontroller STM32L476RG
Core ARM Cortex-M4
Generation STM32L4 Series of ultra-low-power MCUs
Flash Memory 1 MB
SRAM 128 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.

Memory Addresses Storage Capacity Boot Area Application Code
SRAM1 0x2000 0000 - 0x2003 FFFF 96 KBytes NO NO
SRAM2 0x1000 0000 - 0x1000 7FFF 32 KBytes NO NO
Flash 0x0800 0000 - 0x080F FFFF 1 MByte YES YES

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 / Name PCB Pin Name Type Description
1/VBAT VCC Power General Power line at 3.3V
2/PC13 NC - -
3/PC14 OSC32_IN Input 32 kHz Oscillator Input
4/PC15 OSC32_OUT Output 32 kHz Oscillator Output
5/PHO OSC_IN Input 12 MHz Oscillator Input
6/PH1 OSC_OUT Output 12 MHz Oscillator Output
7/NRST NRST Digital Input STM32 Reset Pin
8/PC0 SCL3 I2C I2C3 Clock Bus
9/PC1 SDA3 I2C I2C3 Data Bus
10/PC2 SEL_PH0 Digital Output Selector for Photodiode Multiplexer
11/PC3 NC - -
12/VSSA GND Power Ground
13/VDDA VCC Power General Power line at 3.3V
14/PA0 BATT_NTC Analog Input Battery Temperature NTC Sensor
15/PA1 ADC_PL Analog Input ADC Input
16/PA2 X NC Unused Pin for Future or No Use
1/PA3 CHRGOFF Digital Output Battery Charging Enable Pin
18/VSS GND Power Ground
19/VDD VCC Power General Power line at 3.3v
20/PA4 CLPROG Analog Outpot Charge Current Programming Output
21/PA5 DAC_PL Analog Output DAC Output for Payload
22/PA6 X Not connected Unused Pin for Future or No Use
23/PA7 PoL_ADCS_POWER_EN Digital Output Point of Load Control for ADCS
24/PC4 FAULT Digital Input Battery Charging Fault Status Pin
25/PC5 ADC_PH Analog Input Photodiode Array Output
26/PB0 STM32_PB0 GPIO Connected to STM32 PB0, User Defined
27/PB1 X Not connected Unused Pin for Future Use
28/PB2 CHRG Digital Input Battery Charging Monitoring Pin
29/PB10 HEATER_EN Digital Output Heater Enable Pin
30/PB11 PoL_BURN_EN Digital Output Point of Load Control for Antenna Deployment
31/VSS GND Power Ground
32/VDD VCC Power General Power line at 3.3V
33/PB12 SX1262_NSS SPI Chip Select SX1262 Chip Select
34/PB13 SCK SPI Clock SX1262 SPI Clock
35/PB14 MISO SPI MISO SX1262 SPI Master-In Slave-Out
36/PB15 MOSI SPI MOSI SX1262 SPI Master-Out Slave-In
37/PC6 PoL_P/L_EN Digital Output Point of Load Control for Payload
38/PC7 X Not connected Unused Pin for Future or No Use
39/PC8 X Not connected Unused Pin for Future or No Use
40/PC9 SX1262_NRST Digital Input SX1262 Reset
41/PA8 SX1262_BUSY Digital Ouput SX1262 Busy Indicator
42/PA9 STM32_PA9 GPIO Connected to STM32 PA9, User Defined
43/PA10 DIO1 Digital Iinput SX1262 Interrupts
44/PA11 SEL_PH1 Digital Output Selector for Photodiode Multiplexer
45/PA12 SEL_PH2 Digital Output Selector for Photodiode Multiplexer
46/PA13 SWDIO Serial Wire I/O STM32 Debug Port
47/VSS GND Power Ground
48/VDDUSB VCC Power General Power line at 3.3V
49/PA14 SWCLK Serial Wire STM32 Debug Port
50 /PA15 STM32_PA15 GPIO Connected to STM32 PA15, User Defined
51/PC10 UART_TX UART (Output) UART TX Bus to P/L
52/PC11 UART_RX UART (Input) UART RX Bus to P/L
53/PC12 X Not connected Unused Pin for Future or No Use
54/PD2 X Not connected Unused Pin for Future or No Use
55/PB3 SWO Serial Wire STM32 Debug Pin
56/PB4 X Not connected Unused Pin for Future or No Use
57/PB5 PFO Power Power Fault Output
58/PB6 SCL1 I2C I2C1 Clock Bus
59/PB7 SDA1 I2C I2C1 Data Bus
60/BOOT0 Boot0 Boot Boot Pin
61/PB8 X Not connected Unused Pin for Future or No Use
62/PB9 X Not connected Unused Pin for Future or No Use
63/VSS GND Power Ground
64/VDD VCC Power General 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:

Characteristic Description
Microcontroller STM32L476RGT7
MCU Manufacturer ST
Core ARM Cortex M4
Word Length 32-bit
Frequency (MHz) 80
Architecture RISC
FPU Yes
Consumption 9.6mA
Interfaces x3 I2C, x3 SPI, x2 UART, x3 USART, x8 GPIO
ADC 3
DAC 2
Flash 1MB
RAM 128KB

Table 4: MCU Information

Decoupling capacitors

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

Temp. coeff. or Cap. Change Temp. Range Ref. Temp. Rated Voltage Capacitance Capacitance Tolerance Operating Temp. Range Mounting Method
-15 to 15 % -55 to 125°C 25°C DC 100V 4.7uF +/-10% -55 to 85°C Flow, 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. Change Temp. Range Ref. Temp. Rated Voltage Capacitance Capacitance Tolerance Operating Temp. Range Mounting Method
-15 to 15 % -55 to 125°C 25°C DC 100V 0.1uF +/-10% -55 to 125°C Flow, 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. Change Temp. Range Ref. Temp. Rated Voltage Capacitance Capacitance Tolerance Operating Temp. Range Mounting Method
-15 to 15 % -55 to 85°C 25°C DC 10V 1uF +/-10% -55 to 85°C Flow, 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):

Resistance Power Rating Tolerance Temp. Coefficient Min. Operating Temp. Max. Operating Temp. Voltage Rating
4.7 kOhms 100 mW (1/10 W) 5% 200 PPM / °C -55 °C +155 °C 75 V

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

Crystal Oscillators

The Crystal oscillators present the following capacitors to filter harmonics:

RefDes Package Value Qty Description Manufacturer Code
C38, C39 0402 10pF 1 Multilayer ceramic capacitors C0G ±2%, 50V 06035A100GAT2A
C40, C41 0402 3.3pF 1 Multilayer Ceramic Capacitors C0G ±5%, 100V GCM1885C2A200JA16D

Table 9: Crystal Oscillators Capacitors Values

Umbilical diode (RBS1LAM40ATR)

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

Type Configuration Technology If Vrrm Vf Ifsm Ir Vr Max Op. Temp.
Schottky Diodes Single Si 1 A 40 V 340 mV 40 A 150 µA 20 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):
Resistance Power Rating Tolerance Temp. Coefficient Min. Operating Temp. Max. Operating Temp. Voltage Rating
10 kOhms 63 mW (1/16 W) 1% 100 PPM / °C -55 °C +155 °C 50 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.

Organization Alba Orbital FOSSA Systems Citadel Space Systems
PocketQube Unicorn-2 FOSSASat-2 Squire
Microcontroller MSP430 STM32L4 TMS570
MCU Manufacturer TI ST TI
Core CPU ARM Cortex M4 ARM Cortex R5F
Word Length 16-bit 32-bit 32-bit
Frequency (MHz) 16 80 300
Architecture RISC RISC RISC
FPU No Yes Yes
Consumption 6.72mA 9.6mA 990mA
Interfaces x1 I2C, x1 SPI, x1 UART x3 I2C, x3 SPI, x2 UART, x3 USART, x8 GPIO x2 I2C, x5 SPI, x4 UART, x16 GPIO
ADC 8 3 2
DAC - 2 -
Flash 16KB 1MB 4MB
RAM 512B 128KB 512KB

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.