Ulysses Flight Computer
Components
Controller

The board uses a RP2350 Stamp XL from solder party that, other than the micro-controller, mounts:
- 16 Mb of external FLASH
- 500 mA 3.3V LDO
- Footprints for external SWD and UART JST connectors
The Stamp has been chosen for the ease of mounting and for a lack of a commercially available RP2350 board / chip at the time of design. The main downside is the dimensions of the castellated board, which define the board layout.
The RP2350B is a dual core ARM-M33 or Hazard-3 RISV-V micro-controller with 520Kb of SRAM and 16 Mb of external FLASH memory. It has a flexible clock, varying from 150 MHz up to 200 MHz.
It supports up to 2x SPI hardware channels, 2x I2C hardware channels 2x UART hardware channels and 4x ADC devices with 12 bits of resolution. It supports 48 GPIO pins with connection to 3 PIO blocks.
programming the controller with a .uf2 file
The Stamp XL has 2 buttons marked "reset" and "boot". In order to program the board it must be powered on from the off state while holding the "boot" button.
Once on, the board will appear as an external storage (like a usb stick) on any externally connected computer trough usb.
In this state it is possible to program the board by dragging the relevat ".uf2" file inside the fake external storage. As soon as the file upload will complete, the board will automatically reset and start with the program. At least one power reset is advisable afterward to ensure the board is in the correct state.
Power Supply

The Ulysses flight computer uses an MPM3610 switching regulator with a maximum load of 1.2 A. This converts the +BATT voltage down to +5V. The voltage is then lowered by the Stamp internal LDO down to +3.3V.
expected Power usage
While idle the board is expected to not consume any power.
Sensors
The Ulysses flight computer mounts a 10 DoF sensor pack, capable of fixing in place both position and orientation of the vehicle at any time trough integration. In the future it shoud be possible to also integrate the GPS data trough the UART telemetry channel, coming from the Telemacus radio & tracker.
| Sensor | designation | quantity | resolution | precision |
|---|---|---|---|---|
| IMU | lsm6dso32 | 2 | ||
| magnetometer | lis3mdl | 1 | ||
| barometer | bmp390 | 1 | 3 Pa | 50 Pa |
lis3mdl
This is a 3-axis magnetometer from STMicroelectronics.
lso6dso32
This is a package with a 3-axis accelerometer and a 3-axis gyroscope. It is often referred as the "IMU", or "Inertial Reference Unit".
bmp390
This is a precision barometer
Pyro Channels

The Board currently host the capability for connecting up to two pyro channels. The circuit is split between a high side and a low side in order to check fo the continuity of the pyros.
We use a VND5160 automotive switch as the high side mosfet because it can limit the maximum current passing trough the channels to 5 Amps. This prevents a brownout of the board in case of a pyro short circuit, while ensuring the proper activation of every channel.
To check for continuity on one of the pyro, the proper high side switch must be open, while the low side must be kept closed. A voltage different than 0 on the "pyro_check" pin should be correlated to the presence of continuity on the proper channel.
To fire one of the channels, the low side and the appropriate high side switch must be turn on at the same time.
Power for the pyro channels comes from the "V_PYRO" net, which can be connected to the main battery or to an external battery with the correct setup of the pyro Nanofit connector at the base of the board depending on the need of the vehicle.
I/O Ports & Connectors
Molex Nanoftis

There are 3 Molex Nanofit connector, dedicated to the power management of the vechile and the connection to the Tracker:
- The Battery connector with connections to the battery lead
- The Pyro connector, which could be used to connect an external battery to use for the pyros or could be jumped to use the main battery. A specific connector should be made in order to jump the connector
- The Telemetry connector which brings the battery cables to the Tracker along side a UART connection. The telemetry has the pins already switched in respect of the main board, so no null modem cable is required
USB port
A USB type-c port is available on the side of the board. This may be blocked during assembly of the avionics bay. It is used for programming the board and recovering file in case of a filesystem in the FLASH memory.
Expansion Connector

a 24-pin connector has been left open and unconnected to support future expansion to the board or "hacked" solutions to everyday problems, especially when dealing with near-deadline problems.
It exposes multiple grounding pins, two battery voltage pins, a 3.3 Volts pin, the sensor SPI bus, an I2C bus, a UART interface and some GPIO pins, including some with ADC capabilities.
It may be left unpopulated, required soldering to fit any external connection, or may be mounted with a DuPont pin header (male or female)
History
Rev 1.0
Problems
The first revision suffered from multiple failures:
- Sensor pad were too small, with no consideration to the solder mask or the pad dimension. Only the IMU's soldered correctly.
- The Speaker had a unconnected pad, making it useless
- The wrong footprint for the USB was used, resulting in the lack of the underlying hole
Soldered Boards
we only soldered one, the id n.1. It now lives on the graveyard panel in the lab
Rev 2.0
Problems
- Sensor pad were still to small, resulting in low soldering reliability. Every sensor soldered, but we could never get a single board with every sensor soldered
- every NMOS had the gate and drain pin inverted
- we forgot to order the PMOS mosfet controlling the servo
- The Resistor packs filtering the SD channels had the wrong footprint, resulting inverted connections
Soldered Boards
we soldered 3 boards: id n.2,3,4
Rev 2.2
Changes have been made from the rev 2.0 in order to comply to the TN0018 technical note from ST-Microelectronics on the sensor footprints. Also, an additional backup barometer and magnetometer have been added, as they have represented the biggest soldering challenge.
Problems
The VND5160 footprint is wrong, resulting in the lack of pyro channel n.2- The PMOS footprint is wrong, resulting in the lack of both servo channels (this can be resolved bypassing the PMOS)
- The sensor's CS pins have no pull high, resulting in problems talking to them trough the StampXL. This can be fixed in software.
Soldered Boards
the n.5 was a complete assembly, lacking only the connectors. An over-application of solder paste resulted in a sensor failure and a short of the SPI bus. rework solved the short, but only one of the two IMU ended up working. The rest of the sensor pack failed to respond to SPI calls. Also a problem with the n-mos controlling the speaker was detected, creating a 250 mA load, and overheating the speaker. This has been solved removing the n-mos controlling the speaker. Another rework bringed every sensor except for the magnetometer back to life. It is now considered a working board.
the n.6 was a complete assembly. We discovered the problem with the pyro channel [n.2] and the problem with the pull-highs on the sensor's SPI channel. Other than some small details, the board result completely working. A buzzer was also mounted, while it lacks a pull low, it is completely functional.
the n.7 was a complete assembly. No further problems were encountered, other than the one already listed.
Rev 2.3
the n.8 was a complete assembly. The MPM battery regulator was burned during operation at Roccaraso (2025) due to a wrong external battery connector, with inverted polarity. The MCU is still working and the board is pending repairs
the n.9 was a complete assembly. No fault was detected. This board flown in the maiden flight of Minerva 2.
the n.10 was a complete assembly. No fault was detected. This board is meant as a backup for the competition flight of Minerva 2.