Skip to content

Commit 64951d3

Browse files
authored
Merge pull request #67 from ClemensElflein/feature/Unified-FW-Prep
Add troubleshooting guide for invalid robot firmware
2 parents e918842 + 0926252 commit 64951d3

1 file changed

Lines changed: 92 additions & 0 deletions

File tree

  • content/en/docs/troubleshooting/robot-firmware
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: "Troubleshooting: Invalid Robot Firmware"
3+
linkTitle: "Robot Firmware"
4+
description: >-
5+
Fix the 'Robot firmware ... invalid for this hardware' error by setting the
6+
correct board type in mower_params.yaml.
7+
tags: [troubleshooting, firmware, board, mower_params]
8+
---
9+
10+
The firmware logs the following error repeatedly and the status LED blinks red:
11+
12+
```text
13+
Robot firmware '<name>' invalid for this hardware...
14+
```
15+
16+
This means the `board:` value in your `mower_params.yaml` does not match the
17+
mainboard that is actually installed. The firmware rejects the name and keeps
18+
waiting for a valid one.
19+
20+
## Fix
21+
22+
{{< tabpane text=true >}}
23+
{{% tab header="Supported mower" text=true %}}
24+
25+
Open the ROS configuration (this opens `mower_params.yaml`):
26+
27+
```bash
28+
openmower configure ros
29+
```
30+
<br>
31+
32+
Set the `board:` value under `ll:` field to the board type that matches your hardware:
33+
34+
```yaml
35+
ll:
36+
board: "YardForce"
37+
```
38+
<br>
39+
40+
After saving, OpenMower restarts automatically and should boot with a green
41+
status LED.
42+
43+
{{% /tab %}}
44+
{{% tab header="Universal / Custom (MOWER=CUSTOM)" text=true %}}
45+
46+
Edit `~/params/custom_params.yaml`:
47+
48+
```bash
49+
nano ~/params/custom_params.yaml
50+
```
51+
<br>
52+
53+
Set the `board:` value under `ll:`, for a Universal board, use `Universal-5S`,
54+
`Universal-7S`, or `Universal-8S` depending on your battery:
55+
56+
```yaml
57+
ll:
58+
board: "Universal-7S"
59+
```
60+
<br>
61+
62+
Editing `custom_params.yaml` does not restart the stack automatically, so apply
63+
the change via:
64+
65+
```bash
66+
openmower restart
67+
```
68+
<br>
69+
70+
See [Universal Board Configuration]({{< relref "/docs/Knowledge-Base/configuration/universal-board-configuration" >}})
71+
for the full custom-build reference.
72+
73+
{{% /tab %}}
74+
{{< /tabpane >}}
75+
76+
## Valid board types
77+
78+
| Board type | Hardware |
79+
| -------------- | ---------------------------------------------------- |
80+
| `YardForce` | Regular YardForce board |
81+
| `YardForce-V4` | YardForce board with YFR4-xESC (old Rev.4 mow motor) |
82+
| `Universal-5S` | Universal board with 5S battery |
83+
| `Universal-7S` | Universal board with 7S battery |
84+
| `Universal-8S` | Universal board with 8S battery |
85+
| `Worx` | Universal board with Worx functionality |
86+
| `Lyfco-E1600` | Universal board with Lyfco-E1600 functionality |
87+
| `Husq310MKII` | Husqvarna 310 MKII board |
88+
89+
The value must match exactly (including capitalization).
90+
91+
The default template with all valid values lives in the OpenMowerOS repository:
92+
[mower_params.yaml](https://github.com/ClemensElflein/OpenMowerOS/blob/main/stage-openmower/40-openmower/files/home/openmower/params/mower_params.yaml).

0 commit comments

Comments
 (0)