Full_Logo_White_PNG.png

Technical details

OBC

  • Powerful ATSAMD51J20A-AU 120 MHz Cortex-M4F processor with 1 MB flash + 256 KB RAM for all your CircuitPython needs

  • 32 Mbit SPI flash for storing CircuitPython code and libraries

  • High-precision ICM-20948 Inertial Measurement Unit including Accelerometer, Gyroscope and Magnetometer for Attitude management

  • MCP9808 Digital Temperature Sensor

  • SGP30 TVOC and eqCO2 air quality sensor

  • User-controllable WS2812B addressable RGB LED

  • 5V and 3.3V rails, providing up to 1A/500mA respectively

  • MicroSD Card slot

  • Female USB-C 2.0 connector for power and data logging

  • PQBH40 bus exposing 10 digital pins, 6 analog pins (+ true DAC), an I2C bus, an SPI bus and an UART
     

EPS

  • Well-known 48 MHz Cortex-M0 ATSAMD21E18 MCU with 256 KB flash + 32 KB RAM

  • 32 Mbit SPI flash for storing CircuitPython code and libraries

  • Flight-proven SPV1040 Maximum Power Point Tracking IC for solar cells power management

  • Ultra low input voltage L6924D Lithium battery charger management IC optimized for pairing with the SPV1040

  • 5V and 3.3V 2A power rails generated through high-performance DC/DC converters

  • Battery Current/Voltage/Power measurement through the flight-proven INA226 digital meter

  • Back-powering protection and load switching through the TPS22918, member of a flight-proven family of switches

  • User-controllable WS2812B addressable RGB LED

  • Female USB-C 2.0 connector for power and data logging

  • Standard Molex Picoblade 1.5 mm connectors for battery and solar cells

  • Connected to the OBC through SPI/I2C/UART for data communication and/or redundancy
     

Comms

  • Based on HopeRF’s RFM96W 868 MHz LoRa module, pad-to-pad compatible with the 433 MHz RFM95W version

  • Easily controlled through SPI bus

  • Secondary 2.4 GHz module (SKB369) based on Nordic Semi nRF52832 that can act as an independent or redundant processor through I2C or SPI

  • Female USB-C 2.0 connector for power and data logging (CH340E USB to UART bridge)

GitHub

Board details

On-Board Computer

 

Microcontroller. The heart of the board is an ATSAMD51J20, a powerful 120 MHz MCU with 1 MB flash + 256 KB of RAM. It’s the biggest ATSAMD MCU of its family, capable of delivering unparalleled performance using CircuitPython. It comes pre programmed with the UF2 bootloader + CircuitPython 6.0.0. To store CircuitPython’s libraries and code, an additional 4 MB SPI flash is fully available to you, appearing as a USB drive when connecting the board to a computer.

IMU. The board also has a high-precision ICM-20948 Inertial Measurement Unit (IMU), which integrates an accelerometer, a magnetometer and a gyroscope. This kind of device is used in nanosatellites for what is called attitude control (checking and managing the relative position of the satellite in space). It is connected to the MCU through the I2C bus using the peripheral address 0x68.

Sensors. Two additional sensors are present: an SGP30 air quality sensor (able to measure VOC -Volatile Organic Compounds and eqCO2 -equivalent CO2).

 

And an MCP9808 temperature sensor. Both are connected through I2C, with addresses 0x58 and 0x18 respectively.

RGB. The OBC has an addressable RGB LED, a WS1228B-MINI fully compatible with Adafruit’s NeoPixel library.

Power block. The OBC has an on-board regulator block, in case you want to use it without the EPS. It has two LDO, one to 3.3V for regular use and other to 1.8V for the gas sensor and the IMU.

Micro SD card. The board has a micro SD card slot available through the SPI interface. You can use it as you like: datalogging, storing configuration, etc.

Reset button. Simply press this button to reset the board. Please note that it also sends the reset signal through the PQBH40 bus, so it will also reset the Comms board if plugged! Also, if you press it twice, the board will boot to the UF2 bootloader.

Electric Power System

 

Microcontroller. The board is controlled by an ATSAMD21G18, a now-classic 48 MHz MCU with 256 KB flash + 32 KB of RAM extensively used in the maker community. It is in charge of controlling the power delivery of the system, and can take over the full control of the satellite if needed. As the OBC, it comes pre programmed with the UF2 bootloader + the latest build of CircuitPython and has an additional 4 MB SPI flash is fully available to you, appearing as a USB drive when connecting the board to a computer.

MPPT. Like a real nanosatellite, the EPS is able to harvest energy from solar panels to charge a Li-Po battery. To get the best possible efficiency, a flight-proven IC which implements the Maximum Power Point Tracking algorithm has been integrated (SPV1040). This IC delivers the maximum power possible to a load, depending on the solar radiation received.

Li-Po charger. To manage the battery charging, we use the L6924D charger IC. The main selling point of this IC is the ability to work with a low input voltage compared to others: it can be as low as 2.5V! This makes it the best choice for its use paired with an MPPT stage, since usually the output voltage of said stage is not enough to power a classic charger IC (lower than 4.5V). It also can charge the battery from USB, automatically selecting the best input method.

Power monitoring. A flight-proven INA226 I2C power meter is integrated on the board, capable of monitoring the power, voltage and current delivered from/to the battery. To save space and cost, the voltage of the 5V and 3.3V rails is monitored using two analog inputs of the ATSAMD21.

Voltage regulators. There are two regulators present in the EPS: A 3.3V@2A DC/DC buck converter and a 5V@2A DC/DC boost converter, both direct from the battery. They are in charge of generating the voltages for the entire satellite, so they are able to deliver a relatively high current.

Load switches. Four TPS22918 load switches, arranged in two reverse-protection configurations (one for each voltage rail, 5V and 3.3V), are present to control the delivery of power to the rest of the satellite through the PQBH40 bus. They are controlled by a digital GPIO input from the MCU.

RGB. The OBC has an addressable RGB LED, a WS1228B-MINI fully compatible with Adafruit’s NeoPixel library.

Reset button. Simply press this button to reset the board. If you press it twice, the board will boot to the UF2 bootloader. Keep in mind that this button resets only the EPS, not the other boards! The EPS has a GPIO connected to the general reset line of the satellite, so it is able to reset the OBC and Comms boards from software.

Communications Board

 

Sub-GHz radio module. The main radio of the board is a Sub-GHz module, by default the RFM95 868/915 MHz LoRa module. It is easily controlled by SPI, and can be replaced by other frequencies pin-to-pin compatible modules (for example, RFM96 for 433 MHz). A standard u.FL antenna connector is present.

SKB369 2.4 GHz SoC. A Nordic Semi nRF52832-based module, it integrates a powerful 64 MHz MCU with a 2.4 GHz PAN radio interface, able to implement protocols such as ANT or Bluetooth Low Energy. You can use this as a full processor (it is connected to the PQBH40 bus and the Sub-GHz radio) or just as a radio interface. A 2.54 mm 9-pin header is present to break out the pins of the module so you can use it’s GPIOs and program it. This SoC has no official CircuitPython support, so it must be programmed using native Nordic SDK or the Arduino Framework.

USB to Serial. Since the nRF52832 has no native USB support, an USB-to-Serial converter IC (CH340E) is used for communication with the SKB369, such as data logging or tracing.

Power. A 3.3V@500mA LDO is used to step-down the 5V from USB, in case the EPS is not connected.

Header Adapter (Breakout)

 

Breakout. The board is a simple breakout for the PQBH40 bus. It adapts the 40 pin (2x20) 1.27 mm connector to two 2x10 2.54 mm headers, so you can use the system with the well-known dupont cables.