I added an SIYI HM30 video/telemetry system to my Rover mower late last year and have been somewhat impressed with it, though it hasn’t been without a few struggles. Today, I solved one of those.
The beginning:
I often operate the mower in MANUAL or ACRO mode within very close range when trimming or defining perimeters. More often, though, I monitor remotely, at distances up to several hundred yards, which can push the range of my FrSky radios.
The HM30 tends to greatly outperform the Horus X12S and Archer RS combination with respect to range, leading me to do some experimentation with its capability to carry SBus RC data.
HM30 Iteration #1:
I simply removed the RC receiver from the mower and installed it on the HM30 ground unit RC port.
Advantage:
- Increased transmission range while remotely monitoring
Disadvantages:
- Significant delay in pairing when the HM30 units are first powered on, leaving the mower without RC control for up to several minutes before the HM30 handshake occurs.
- No passthrough telemetry (not supported by HM30 - leaving my Yaapu scripts and fancy big screen useless).
- Transmitter now near max range when operating in close proximity to the mower (reaching all the way back to the GCS to relay its signal through the HM30). Not good.
- Sole reliance on HM30 link, which proved unreliable once when the air unit failed, and I had to quickly cobble together a different solution to regain control just to be able to trailer the mower back to the shop.
This was a good proof of concept, but that’s about it.
HM30 Iteration #2:
I discovered the outstanding work done by @Eric_Stockenstrom on his MavToPass firmware for various microcontrollers. It can create a passthrough telemetry stream from a MAVLink connection (in this case, using the HM30 ground unit UART). I tried it with both a Teensy and ESP32 with mixed results. With some more effort, I’m sure I could get it to work better. Best results were achieved using a Teensy board + FPortv2, and the RC signal was 100% reliable, but passthrough telemetry was sometimes intermittent/incomplete, and it didn’t solve the bulk of the previous disadvantages, anyway. I do not write this to disparage the work done on MavToPass in any way, and I think it has a lot of merit in other applications; it simply was not the correct solution for my use case.
Advantage:
- Passthrough (Yaapu) telemetry mostly worked again
Disadvantages:
- Mostly remain from iteration 1…
I operated the mower this way for most of the winter, since I was mostly just testing firmware updates, but I knew I had to do better.
HM30 Iteration #3:
Many FrSky receivers support a redundant SBus input, so I decided to leverage that capability and eliminate most of the aforementioned disadvantages by using a second receiver (one connected directly to the autopilot and one connected through the HM30). This video does a good job explaining the redundant receiver concept. I tested redundancy by binding a second transmitter to ONLY the receiver connected to the HM30, and it worked perfectly.
Advantages:
- Passthrough (Yaapu) telemetry works!
- Redundant control
- No delay in RC control during boot
- Increased range during all normal methods of operation
Disadvantages:
- I’m out of UARTs.
- Passthrough telemetry seems only to work if the HM30 ground unit and attached receiver are powered off at boot time, allowing the primary receiver to make a connection with the RC transmitter before the redundant one.
Summary:
Overall, I’m very impressed with both the range and the quality of the HM30 link. Video is excellent. I can’t explain the air unit failure that I had, but I’m still encouraged by the system at large. Adding redundant RC control to the system gives some added range, safety, and peace of mind.