> For the complete documentation index, see [llms.txt](https://docs.arkelectron.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.arkelectron.com/products/gps/ark-teseo-gps.md).

# ARK TESEO GPS

The ARK TESEO GPS is a [DroneCAN](https://docs.px4.io/main/en/dronecan/) GNSS module built around the [ST Teseo-LIV4F](https://www.st.com/en/positioning/teseo-liv4f.html) L1/L5 multi-constellation receiver. It also carries an IIS2MDC magnetometer, BMP390 barometer, and ICM-42688-P IMU.

{% embed url="<https://docs.px4.io/main/en/dronecan/#gps>" %}

## Firmware

Follow the steps for updating the firmware through the flight controller. The firmware will automatically update the LIV4F GPS module firmware on first boot if the embedded version differs from what is on the chip.

{% embed url="<https://docs.px4.io/main/en/dronecan/#firmware-update>" %}

See the latest firmware below.

{% file src="/files/EhFKwFKvXMDBpI7whqtD" %}
ARK Teseo GPS Firmware
{% endfile %}

{% file src="/files/OezQjboIWjBNPyzHdpXg" %}
ARK Teseo GPS Bootloader
{% endfile %}

## Release Notes

* 86-1.16.c93582f2 - 2026-5-5
  * Fix NMEA parsers eating first char of each first field. Observable on the RMC timestamp (hhmmss.sss): UTC hours 10-19 appear as 00-09 and 20-23 as 00-03.
* 86-1.16.3c45b562 - 2025-9-26
  * Migrate to build server
  * Improve NMEA decoder
  * platforms: Serial new dedicated writeBlocking method [#25537](https://github.com/PX4/PX4-Autopilot/pull/25537)
  * Update to STA8041\_LIV4F\_PVT\_STD\_4\_6\_8\_5\_11\_UPG [Teseo Firmware](https://www.st.com/en/embedded-software/teseo-liv4fsw.html)
* 86-1.15.b4c24e95 - 2025-6-13
  * Update to STA8041\_LIV4F\_PVT\_STD\_4\_6\_8\_5\_10\_UPG [Teseo Firmware](https://www.st.com/en/embedded-software/teseo-liv4fsw.html)
* 86-1.15.6616d230 - 2025-2-26
  * Update to STA8041\_LIV4F\_PVT\_STD\_4\_6\_8\_5\_9\_UPG [Teseo Firmware](https://www.st.com/en/embedded-software/teseo-liv4fsw.html)
  * Add TESEO\_\* parameters to configure constellations
  * Default to GPS + GLONASS + BeiDou + Galileo
    * Note that only 4 constellations can be enabled at a time
* 86-1.15.1895b31a - 2025-2-12
  * Disable mag bias estimator by default
* 86-1.15.14443827 - 2025-2-5
  * Update to STA8041\_LIV4F\_PVT\_STD\_4\_6\_8\_5\_8\_UPG [Teseo Firmware](https://www.st.com/en/embedded-software/teseo-liv4fsw.html)
  * Fix speed accuracy reporting
  * Fix EPH reporting
* 86-1.15.37fb6452 - 2024-11-11
  * Update to STA8041\_LIV4F\_PVT\_STD\_4\_6\_7\_5\_7\_UPG [Teseo Firmware](https://www.st.com/en/embedded-software/teseo-liv4fsw.html)
  * Implement automatic LIV4F updating within the driver
  * Fix speed accuracy reporting

## 3D Model

Find 3D models and case files at <https://github.com/ARK-Electronics/ARK_TESEO_GPS>

## Pinout

#### CAN - 4 Pin JST-GH

<table><thead><tr><th width="134">Pin Number</th><th width="237">Signal Name</th><th>Voltage</th></tr></thead><tbody><tr><td>1</td><td>5V</td><td>5.0V</td></tr><tr><td>2</td><td>CAN_P</td><td>5.0V</td></tr><tr><td>3</td><td>CAN_N</td><td>5.0V</td></tr><tr><td>4</td><td>GND</td><td>GND</td></tr></tbody></table>

#### CAN - 4 Pin JST-GH

<table><thead><tr><th width="134">Pin Number</th><th width="237">Signal Name</th><th>Voltage</th></tr></thead><tbody><tr><td>1</td><td>5V</td><td>5.0V</td></tr><tr><td>2</td><td>CAN_P</td><td>5.0V</td></tr><tr><td>3</td><td>CAN_N</td><td>5.0V</td></tr><tr><td>4</td><td>GND</td><td>GND</td></tr></tbody></table>

#### I2C + Timepulse - 5 Pin JST-GH

<table><thead><tr><th width="134">Pin Number</th><th width="237">Signal Name</th><th>Voltage</th></tr></thead><tbody><tr><td>1</td><td>5.0V Out (500mA)</td><td>5.0V</td></tr><tr><td>2</td><td>I2C2_SCL</td><td>3.3V</td></tr><tr><td>3</td><td>I2C2_SDA</td><td>3.3V</td></tr><tr><td>4</td><td>TIMEPULSE</td><td>3.3V</td></tr><tr><td>5</td><td>GND</td><td>GND</td></tr></tbody></table>

{% hint style="info" %}
The **I2C2 SCL/SDA lines on this connector are currently unused** by the firmware.

The TIMEPULSE pin outputs a PPS signal that the flight controller can use to accurately timestamp incoming PVT solutions.
{% endhint %}

#### Debug - 6 Pin JST-SH

<table><thead><tr><th width="153">Pin Number</th><th width="210">Signal Name</th><th>Voltage</th></tr></thead><tbody><tr><td>1</td><td>3.3V</td><td>3.3V</td></tr><tr><td>2</td><td>USART2_TX</td><td>3.3V</td></tr><tr><td>3</td><td>USART2_RX</td><td>3.3V</td></tr><tr><td>4</td><td>FMU_SWDIO</td><td>3.3V</td></tr><tr><td>5</td><td>FMU_SWCLK</td><td>3.3V</td></tr><tr><td>6</td><td>GND</td><td>GND</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.arkelectron.com/products/gps/ark-teseo-gps.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
