Hardware/CubeSat RPi

From UIT
Jump to: navigation, search


This board is to serve an easy to use demonstrator for a CubeSat On-Board Computer (OBC). It hosts a Raspberry Pi Zero and an FPGA. Two boards are available, one with a Microsemi ProASIC3 and the other with a Microsemi IGLOO FPGA.

Type FPGA Rack Description
2019 FPGA + RPi 2020 FPGA + RPi 2020 schematic

top view
bill of materials

FPGAs: ProASIC3 A3P3000, A3P1500, A3P1000 or A3P600

Main components

Raspberry Pi

The Raspberry Pi Zero is used as the main processor, typically running Linux.


The FPGA does all the real-time work. It is a Microsemi ProASIC3. This device family has been tested for radiation tolerance.

The PCB was foreseen for a M1A3PE3000-2FG484I FPGA. Nevertheless, it should accommodate for AP1500, AP1000 and AP600. Possible variants are:

  • AP3000 : basic circuit
  • M1AP3000 : circuit with integrated Cortex processor
  • AP3000E : extended : has more I/O banks
  • AP3000L : low power


The clock oscillator is a 32MHz XO (Standard) CMOS ECS-2033-320-AU.


Board to board

The inter-board connection is a serial bus with coaxial cables for Tx and Rx lines. These channels are duplified for reasons of security. To this comes a 0 V, a 3.3 V and 5 V power supply.

All the connections are done by coaxial connectors aligned on both sides of the board. This allows to stack the boards with a coaxial spacer tube. There are 6 connectors per side: 2 for the power, 2 for Tx and 2 for Rx. The power lines are common to both sides of the PCB. The Tx and Rx lines on each side of the PCB are independently connected to the FPGA, thus allowing a token ring communication scheme.

Raspberry Pi to FPGA

All Raspberry Pi (RPi) I/O lines are connected to the FPGA. 5 of them are connected to the FPGA programming lines.

RPi specific I/O are:

pins function
3, 5 I2C 1
4 GP CLK 0
8, 10 UART 0
12, 35, 38, 40 PCM/I2S
19, 21, 23, 24, 26 SPI 0
27, 28 I2C EEPROM
32 PWM 0
33 PWM 1

Pins used for the FPGA configuration (via JTAG) are:

Igloo board
13 reset_n
16 TMS
18 TCK
15 TDI

Flat cables

The board has two lateral 20-pin flat cable connectors. Obviously, they are meant for debug purposes.

Power is found on the last pins:

pin voltage
17 3.3 V
18 Gnd
19 5 V
20 Gnd


The Raspberry Pi Zero loads its operating system from the SD card.

The FPGA can be programmed either from the JTAG connector or from the Raspberry Pi. One has to make sure that the lines on the Raspberry Pi connector are tri-stated when trying to program the FPGA.

Power supplies

The board is powered from a standard 5 V ± 5% (4.75 V to 5.25 V) as defined for USB.

This power supply is used by:

  • the Raspberry Pi which generates a 3.3 V for itself
  • a DC/DC converter which generates a 1.5 V for the FPGA core from the 5 V power supply

The RPi 3.3 V can be used for the FPGA I/O banks through a 0 Ω resistor if there is no 3.3 V power from the inter-board connector.

The FPGA is supplied with:

Name function voltage
GND ground 0 V
GNDQ quiet ground 0 V
VCOMPLA/B/C/D/E/F PLL ground 0 V
VCC core supply 1.5 V
VCCIBx I/O supply 3.3 V
VMVx quiet I/O supply 3.3 V
VCCPLA/B/C/D/E/F PLL supply 1.5 V
VJTAG JTAG supply 3.3 V
VPUMP programming supply 3.3 V

To do

Any board that doesn't need a modification is obsolete.

Personal tools