<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openmower.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Agr</id>
	<title>Open Mower Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openmower.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Agr"/>
	<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Special:Contributions/Agr"/>
	<updated>2026-05-21T01:18:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-CAN&amp;diff=508</id>
		<title>Unicore GPS Setup-CAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-CAN&amp;diff=508"/>
		<updated>2025-06-08T20:44:58Z</updated>

		<summary type="html">&lt;p&gt;Agr: Agr moved page Unicore GPS Setup-CAN to Unicore GPS Setup-UART&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Unicore GPS Setup-UART]]&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=507</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=507"/>
		<updated>2025-06-08T20:44:56Z</updated>

		<summary type="html">&lt;p&gt;Agr: Agr moved page Unicore GPS Setup-CAN to Unicore GPS Setup-UART&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which UART line you choosen ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:Wm9xx.png|WM9XX&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
&lt;br /&gt;
Alternative to manual wiring: [https://github.com/xtech/hw-openmower-utils/tree/main/hw-openmower-utils-v1-arduino-uno-um9x adapter board]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
File:Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over UART ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your UART bus is already occupied)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which UART-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default baud rate, reset (FRESET) and try again.   &lt;br /&gt;
&lt;br /&gt;
For next step - with every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=506</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=506"/>
		<updated>2025-06-08T20:42:20Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which UART line you choosen ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:Wm9xx.png|WM9XX&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
&lt;br /&gt;
Alternative to manual wiring: [https://github.com/xtech/hw-openmower-utils/tree/main/hw-openmower-utils-v1-arduino-uno-um9x adapter board]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
File:Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over UART ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your UART bus is already occupied)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which UART-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default baud rate, reset (FRESET) and try again.   &lt;br /&gt;
&lt;br /&gt;
For next step - with every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=505</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=505"/>
		<updated>2025-06-08T20:40:48Z</updated>

		<summary type="html">&lt;p&gt;Agr: /* Step 3. Configure UM9XX over UART */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which UART line you choosen ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:Wm9xx.png|WM9XX&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
&lt;br /&gt;
Alternative to manual wiring: [https://github.com/xtech/hw-openmower-utils/tree/main/hw-openmower-utils-v1-arduino-uno-um9x adapter board]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
File:Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over UART ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your UART bus is already occupied)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which UART-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default &lt;br /&gt;
&lt;br /&gt;
With every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=504</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=504"/>
		<updated>2025-06-08T20:39:53Z</updated>

		<summary type="html">&lt;p&gt;Agr: /* Step 1. Solder headers on WM9XX and note which UART line you choosen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which UART line you choosen ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:Wm9xx.png|WM9XX&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
&lt;br /&gt;
Alternative to manual wiring: [https://github.com/xtech/hw-openmower-utils/tree/main/hw-openmower-utils-v1-arduino-uno-um9x adapter board]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
File:Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over UART ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your CAN bus is already occupied) &lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which UART-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default &lt;br /&gt;
&lt;br /&gt;
With every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=503</id>
		<title>Unicore GPS modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=503"/>
		<updated>2025-06-08T20:37:58Z</updated>

		<summary type="html">&lt;p&gt;Agr: /* Step-by step set-up guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Several users have chosen alternative GPS RTK modules with chips by &#039;&#039;Unicore&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;UM960&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM980&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM982&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These chips are sold in different variants. Some come with a USB-C socket (so they can be connected directly to the Raspberry Pi). Some have different antenna socket (which need an &#039;&#039;SMA F&#039;&#039; to &#039;&#039;MMCX M90&#039;&#039; cable).&lt;br /&gt;
&lt;br /&gt;
Compared to the &#039;&#039;ArduSimple simpleRTK2B,&#039;&#039; they&#039;re a bit cheaper and support triple-band frequencies.&lt;br /&gt;
&lt;br /&gt;
== Variants how modules can be connected and configured ==&lt;br /&gt;
* Connection&lt;br /&gt;
** Module USB-c -&amp;gt; RPI USB (e.g. with angle connector)&lt;br /&gt;
** Module UART -&amp;gt; MainBoard UART (requires header connectivity)&lt;br /&gt;
&lt;br /&gt;
* Configuration&lt;br /&gt;
** With vendor software (requires Windows PC) - should be done before installing module into mower&lt;br /&gt;
** Over UART bus (only terminal) - should be done when RPI installed and operational&lt;br /&gt;
&lt;br /&gt;
== Step-by step set-up guides ==&lt;br /&gt;
*[[Unicore GPS Setup-CAN| With wiring to mainboard and configuration on UART]]&lt;br /&gt;
* &amp;lt;TODO&amp;gt; add other guides&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
[https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf Command reference]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
The vendor offers [https://en.unicore.com/products/uprecise.html &#039;&#039;UPrecise&#039;&#039;] to check all status details and configure the receiver. The UI is pleasing and has many features, but also quite some bugs. The download requires creating a free account.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
The following configuration works quite well. COM3 is used when connected via USB.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FRESET&lt;br /&gt;
CONFIG COM3 460800&lt;br /&gt;
MODE ROVER UAV&lt;br /&gt;
GPGGA 0.1&lt;br /&gt;
GPGSV 1&lt;br /&gt;
GPRMC 1&lt;br /&gt;
GPGSA 1&lt;br /&gt;
GPVTG 1&lt;br /&gt;
GPGST 1&lt;br /&gt;
SAVECONFIG&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;These lines can be pasted into &#039;&#039;UPrecise&#039;&#039; after connecting to the receiver. Theoretically, you can also connect directly to the receiver&#039;s TTY, but make sure to send CR+LF (&amp;lt;code&amp;gt;\r\n&amp;lt;/code&amp;gt;) line endings, otherwise the commands won&#039;t be recognized.&lt;br /&gt;
&lt;br /&gt;
=== OpenMower (&amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_PORT=&amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rebooting ==&lt;br /&gt;
Sometimes the receiver just can&#039;t get a fix. Then it might be helpful to reboot it. There are three buttons in &#039;&#039;UPrecise&#039;&#039;, which execute these commands:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button&lt;br /&gt;
!Command&lt;br /&gt;
|-&lt;br /&gt;
|Hot Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Warm Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Cold Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM ALMANAC IONUTC POSITION&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
See also section 8.3 (&amp;quot;Reset&amp;quot;) in the [https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf command reference]. In contrast to the &amp;lt;code&amp;gt;FRESET&amp;lt;/code&amp;gt; command, these command &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; wipe the configuration.&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=502</id>
		<title>Unicore GPS modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=502"/>
		<updated>2025-06-08T20:37:43Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Several users have chosen alternative GPS RTK modules with chips by &#039;&#039;Unicore&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;UM960&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM980&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM982&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These chips are sold in different variants. Some come with a USB-C socket (so they can be connected directly to the Raspberry Pi). Some have different antenna socket (which need an &#039;&#039;SMA F&#039;&#039; to &#039;&#039;MMCX M90&#039;&#039; cable).&lt;br /&gt;
&lt;br /&gt;
Compared to the &#039;&#039;ArduSimple simpleRTK2B,&#039;&#039; they&#039;re a bit cheaper and support triple-band frequencies.&lt;br /&gt;
&lt;br /&gt;
== Variants how modules can be connected and configured ==&lt;br /&gt;
* Connection&lt;br /&gt;
** Module USB-c -&amp;gt; RPI USB (e.g. with angle connector)&lt;br /&gt;
** Module UART -&amp;gt; MainBoard UART (requires header connectivity)&lt;br /&gt;
&lt;br /&gt;
* Configuration&lt;br /&gt;
** With vendor software (requires Windows PC) - should be done before installing module into mower&lt;br /&gt;
** Over UART bus (only terminal) - should be done when RPI installed and operational&lt;br /&gt;
&lt;br /&gt;
== Step-by step set-up guides ==&lt;br /&gt;
*[[Unicore GPS Setup-CAN| With wiring to mainboard and configuration on CAN]]&lt;br /&gt;
* &amp;lt;TODO&amp;gt; add other guides&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
[https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf Command reference]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
The vendor offers [https://en.unicore.com/products/uprecise.html &#039;&#039;UPrecise&#039;&#039;] to check all status details and configure the receiver. The UI is pleasing and has many features, but also quite some bugs. The download requires creating a free account.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
The following configuration works quite well. COM3 is used when connected via USB.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FRESET&lt;br /&gt;
CONFIG COM3 460800&lt;br /&gt;
MODE ROVER UAV&lt;br /&gt;
GPGGA 0.1&lt;br /&gt;
GPGSV 1&lt;br /&gt;
GPRMC 1&lt;br /&gt;
GPGSA 1&lt;br /&gt;
GPVTG 1&lt;br /&gt;
GPGST 1&lt;br /&gt;
SAVECONFIG&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;These lines can be pasted into &#039;&#039;UPrecise&#039;&#039; after connecting to the receiver. Theoretically, you can also connect directly to the receiver&#039;s TTY, but make sure to send CR+LF (&amp;lt;code&amp;gt;\r\n&amp;lt;/code&amp;gt;) line endings, otherwise the commands won&#039;t be recognized.&lt;br /&gt;
&lt;br /&gt;
=== OpenMower (&amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_PORT=&amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rebooting ==&lt;br /&gt;
Sometimes the receiver just can&#039;t get a fix. Then it might be helpful to reboot it. There are three buttons in &#039;&#039;UPrecise&#039;&#039;, which execute these commands:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button&lt;br /&gt;
!Command&lt;br /&gt;
|-&lt;br /&gt;
|Hot Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Warm Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Cold Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM ALMANAC IONUTC POSITION&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
See also section 8.3 (&amp;quot;Reset&amp;quot;) in the [https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf command reference]. In contrast to the &amp;lt;code&amp;gt;FRESET&amp;lt;/code&amp;gt; command, these command &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; wipe the configuration.&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=501</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=501"/>
		<updated>2025-06-08T20:36:08Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which UART line you choosen ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:Wm9xx.png|WM9XX CAN&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
&lt;br /&gt;
Alternative to manual wiring: [https://github.com/xtech/hw-openmower-utils/tree/main/hw-openmower-utils-v1-arduino-uno-um9x adapter board]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
File:Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over UART ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your CAN bus is already occupied) &lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which UART-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default &lt;br /&gt;
&lt;br /&gt;
With every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=500</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=500"/>
		<updated>2025-06-08T12:54:34Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which CAN line you choosen ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=400 heights=400&amp;gt;&lt;br /&gt;
File:Wm9xx.png|WM9XX CAN&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; widths=400 heights=400&amp;gt;&lt;br /&gt;
File:UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
File:Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over CAN ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your CAN bus is already occupied) &lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which COM-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default &lt;br /&gt;
&lt;br /&gt;
With every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=499</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=499"/>
		<updated>2025-06-08T12:46:10Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which CAN line you choosen ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:Wm9xx.png|WM9XX CAN&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
File:Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over CAN ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your CAN bus is already occupied) &lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which COM-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default &lt;br /&gt;
&lt;br /&gt;
With every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=498</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=498"/>
		<updated>2025-06-08T12:45:06Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which CAN line you choosen ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;slideshow&amp;quot;&amp;gt;&lt;br /&gt;
File:Index.php?title=File:Wm9xx.png|link=File:Wm9xx.png|WM9XX CAN&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
File:Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over CAN ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your CAN bus is already occupied) &lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which COM-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default &lt;br /&gt;
&lt;br /&gt;
With every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=497</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=497"/>
		<updated>2025-06-08T12:44:15Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which CAN line you choosen ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Wm9xx.png| WM9XX CAN&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
File:Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over CAN ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your CAN bus is already occupied) &lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which COM-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default &lt;br /&gt;
&lt;br /&gt;
With every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=496</id>
		<title>Unicore GPS modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_modules&amp;diff=496"/>
		<updated>2025-06-08T12:31:54Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Several users have chosen alternative GPS RTK modules with chips by &#039;&#039;Unicore&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;UM960&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM980&#039;&#039;&lt;br /&gt;
* &#039;&#039;UM982&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These chips are sold in different variants. Some come with a USB-C socket (so they can be connected directly to the Raspberry Pi). Some have different antenna socket (which need an &#039;&#039;SMA F&#039;&#039; to &#039;&#039;MMCX M90&#039;&#039; cable).&lt;br /&gt;
&lt;br /&gt;
Compared to the &#039;&#039;ArduSimple simpleRTK2B,&#039;&#039; they&#039;re a bit cheaper and support triple-band frequencies.&lt;br /&gt;
&lt;br /&gt;
== Variants how modules can be connected and configured ==&lt;br /&gt;
* Connection&lt;br /&gt;
** Module USB-c -&amp;gt; RPI USB (e.g. with angle connector)&lt;br /&gt;
** Module CAN -&amp;gt; MainBoard CAN (requires header connectivity) &lt;br /&gt;
&lt;br /&gt;
* Configuration&lt;br /&gt;
** With vendor software (requires Windows PC) - should be done before installing module into mower&lt;br /&gt;
** Over CAN bus (only terminal) - should be done when RPI installed and operational&lt;br /&gt;
&lt;br /&gt;
== Step-by step set-up guides ==&lt;br /&gt;
*[[Unicore_GPS_Setup-CAN| With wiring to mainboard and configuration on CAN]]&lt;br /&gt;
* &amp;lt;TODO&amp;gt; add other guides&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
[https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf Command reference]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
The vendor offers [https://en.unicore.com/products/uprecise.html &#039;&#039;UPrecise&#039;&#039;] to check all status details and configure the receiver. The UI is pleasing and has many features, but also quite some bugs. The download requires creating a free account.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
The following configuration works quite well. COM3 is used when connected via USB.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FRESET&lt;br /&gt;
CONFIG COM3 460800&lt;br /&gt;
MODE ROVER UAV&lt;br /&gt;
GPGGA 0.1&lt;br /&gt;
GPGSV 1&lt;br /&gt;
GPRMC 1&lt;br /&gt;
GPGSA 1&lt;br /&gt;
GPVTG 1&lt;br /&gt;
GPGST 1&lt;br /&gt;
SAVECONFIG&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;These lines can be pasted into &#039;&#039;UPrecise&#039;&#039; after connecting to the receiver. Theoretically, you can also connect directly to the receiver&#039;s TTY, but make sure to send CR+LF (&amp;lt;code&amp;gt;\r\n&amp;lt;/code&amp;gt;) line endings, otherwise the commands won&#039;t be recognized.&lt;br /&gt;
&lt;br /&gt;
=== OpenMower (&amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_PORT=&amp;quot;/dev/ttyUSB0&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rebooting ==&lt;br /&gt;
Sometimes the receiver just can&#039;t get a fix. Then it might be helpful to reboot it. There are three buttons in &#039;&#039;UPrecise&#039;&#039;, which execute these commands:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Button&lt;br /&gt;
!Command&lt;br /&gt;
|-&lt;br /&gt;
|Hot Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Warm Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Cold Start&lt;br /&gt;
|&amp;lt;code&amp;gt;RESET EPHEM ALMANAC IONUTC POSITION&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
See also section 8.3 (&amp;quot;Reset&amp;quot;) in the [https://core-electronics.com.au/attachments/localcontent/Unicore_Reference_Commands_Manual_For_N4_High_Precision_Products_V2_EN_R1_1_189543505cb.pdf command reference]. In contrast to the &amp;lt;code&amp;gt;FRESET&amp;lt;/code&amp;gt; command, these command &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; wipe the configuration.&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=495</id>
		<title>Unicore GPS Setup-UART</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=Unicore_GPS_Setup-UART&amp;diff=495"/>
		<updated>2025-06-08T12:17:56Z</updated>

		<summary type="html">&lt;p&gt;Agr: Created page with &amp;quot;= Step-by step guide to setup UM9XX module. =  Prerequisites: * Modified mower with replaced mainboard * Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.  == Step 1. Solder headers on WM9XX and note which CAN line you choosen == &amp;lt;gallery&amp;gt; Wm9xx.png| WM9XX CAN &amp;lt;/gallery&amp;gt;  You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.  Remaining 2 &amp;#039;&amp;#039;&amp;#039;not needed&amp;#039;&amp;#039;&amp;#039;:  * EN - can be used to shut down the module temporarily * PPS is a pulse once per second, in case...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Step-by step guide to setup UM9XX module. =&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
* Modified mower with replaced mainboard&lt;br /&gt;
* Installed RPI with &amp;lt;code&amp;gt;openmower&amp;lt;/code&amp;gt; service running.&lt;br /&gt;
&lt;br /&gt;
== Step 1. Solder headers on WM9XX and note which CAN line you choosen ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Wm9xx.png| WM9XX CAN&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need 4 middle pins from 6 available: gnd, vcc, tx, rx.&lt;br /&gt;
&lt;br /&gt;
Remaining 2 &#039;&#039;&#039;not needed&#039;&#039;&#039;: &lt;br /&gt;
* EN - can be used to shut down the module temporarily&lt;br /&gt;
* PPS is a pulse once per second, in case you want to time something&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2. Wire WM9XX to the mainboard ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Pinout&lt;br /&gt;
|-&lt;br /&gt;
! MainBoard !! UM9XX&lt;br /&gt;
|-&lt;br /&gt;
| TXD || TXD&lt;br /&gt;
|-&lt;br /&gt;
| RXD || RXD&lt;br /&gt;
|-&lt;br /&gt;
| 5V_IN || VCC&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
UM9XX wiring - pinout.jpg| UM9XX wiring sample&lt;br /&gt;
Mainboard wiring.jpg| Mainboard wiring sample&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 3. Configure UM9XX over CAN ==&lt;br /&gt;
&lt;br /&gt;
* Install miniterm (part of python3-serial)&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python3-serial&amp;lt;/code&amp;gt;&lt;br /&gt;
* Stop openmower service (otherwise your CAN bus is already occupied) &lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl stop openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
* Connect to the CAN bus with miniterm (because we wired directly to mainboard, CAN will be available on &amp;lt;code&amp;gt;/dev/ttyAMA1&amp;lt;/code&amp;gt;, default baud rate is 115200 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;div style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;amp;#9888; Next steps depend on which COM-line you wired headers &amp;amp;#9888; &amp;lt;/div&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Following code samples assume you wired to bottom lane (COM1), if not, replace COM1 -&amp;gt; COM2&lt;br /&gt;
&lt;br /&gt;
* Reset and configure Baud rate&lt;br /&gt;
 FRESET⏎ Enter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 openmower@openmower:~ $ python -m serial.tools.miniterm /dev/ttyAMA1 115200 -e&lt;br /&gt;
 --- Miniterm on /dev/ttyAMA1  115200,8,N,1 ---&lt;br /&gt;
 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---&lt;br /&gt;
 FRESET&lt;br /&gt;
 $command,FRESET,response: OK*4D&lt;br /&gt;
 system is rebooting&lt;br /&gt;
 ..........&lt;br /&gt;
 $devicename,COM1*67&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute &lt;br /&gt;
&lt;br /&gt;
 CONFIG COM1 460800⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Now exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Connect again to UM9x but with new/higher baud rate via:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 python -m serial.tools.miniterm /dev/ttyAMA1 460800 -e&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; if you are not receiving responces to your commands, something is wrong with baud-rate or COM port you are using, reconnect with default &lt;br /&gt;
&lt;br /&gt;
With every &amp;quot;GP*&amp;quot; command your sent, you&#039;ll get spammed with more messages. &lt;br /&gt;
At the end it will become hard to recognize the &amp;quot;OK&amp;quot; from &amp;quot;SAVECONFIG&amp;quot;, but it&#039;s mandatory that you ensure that &amp;quot;SAVECONFIG&amp;quot; got done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 MODE ROVER UAV ⏎ Enter&lt;br /&gt;
 GPGSV COM1 2 ⏎ Enter&lt;br /&gt;
 GPRMC COM1 1 ⏎ Enter&lt;br /&gt;
 GPGSA COM1 1 ⏎ Enter&lt;br /&gt;
 GPVTG COM1 1 ⏎ Enter&lt;br /&gt;
 GPGGA COM1 0.5 ⏎ Enter&lt;br /&gt;
 SAVECONFIG ⏎ Enter&lt;br /&gt;
&lt;br /&gt;
Example of expected execution output&lt;br /&gt;
&lt;br /&gt;
 $GNGGA,192705.50,,,,,0,00,9999.0,,,,,,*45&lt;br /&gt;
 $command,SAVECONFIG,response: OK*55&lt;br /&gt;
 $GNGGA,192706.00,,,,,0,00,9999.0,,,,,,*43&lt;br /&gt;
 $GPGSA,,1,,,,,,,,,,,,,,,,*73&lt;br /&gt;
 $GNRMC,192706.00,V,,,,,,,030625,0.0,E,N,V*7B&lt;br /&gt;
&lt;br /&gt;
exit miniterm via &amp;lt;code&amp;gt; Ctrl + ] &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4. Configure openmower ==&lt;br /&gt;
&lt;br /&gt;
Update your &amp;lt;code&amp;gt;mower_config.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export OM_GPS_PROTOCOL=&amp;quot;NMEA&amp;quot;&lt;br /&gt;
export OM_GPS_BAUDRATE=&amp;quot;460800&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start openmower service&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start openmower&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: green&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Assuming you already configured RTK base, you can bring mower outside and check if you are getting GPS FIX.&lt;br /&gt;
&lt;br /&gt;
For support and assistance in troubleshooting [https://discord.com/channels/958476543846412329/1379531837273149470 join discord].&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=File:UM9XX_wiring_-_pinout.jpg&amp;diff=494</id>
		<title>File:UM9XX wiring - pinout.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=File:UM9XX_wiring_-_pinout.jpg&amp;diff=494"/>
		<updated>2025-06-08T10:32:04Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UM9XX wiring / pinout&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=File:Mainboard_wiring.jpg&amp;diff=493</id>
		<title>File:Mainboard wiring.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=File:Mainboard_wiring.jpg&amp;diff=493"/>
		<updated>2025-06-08T10:31:14Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mainboard pinout&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
	<entry>
		<id>https://wiki.openmower.de/index.php?title=File:Wm9xx.png&amp;diff=492</id>
		<title>File:Wm9xx.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.openmower.de/index.php?title=File:Wm9xx.png&amp;diff=492"/>
		<updated>2025-06-08T10:18:27Z</updated>

		<summary type="html">&lt;p&gt;Agr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;can settings&lt;/div&gt;</summary>
		<author><name>Agr</name></author>
	</entry>
</feed>