Hello guest, if you read this it means you are not registered. Click here to register in a few simple steps, you will enjoy all features of our Forum.
This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Installing M10 GPS Module via SoftSerial
#1
Hi everyone,

I've been trying for a while to get GPS on my Babyhawk II HD drone. Initially tried with HGLRC M100 Mini and then with FlyFishRC M10 Mini.

In both cases GPS satellites are not found long-term, the GPS signal/appearance goes on and off in Betaflight, or in the short moments where satellites appear (HGLRC) it lasts only seconds.

First here is the way the above are connected to the flight controller, STM32F411 or F4. It has only x2 UARTs so according to sugestions in this forum and a thread in RCGroups but with a M8 chip GPS, it was connected the very same way.

Picture of the connection drawing by user @iFly4rotors (thank you for all the help):

[Image: attachment.php?aid=10916]


[Image: HDO0PyP.jpg]

---

The Betaflight configuration with the second module FlyFishRC (I was thinking the first one may have a defect) is as follows:

1. Configuration (literally following instructions from the user manual):

[Image: J0guBkl.jpg]

2. Ports (GPS via SoftSerial)

[Image: J0g5DGt.jpg]

3. GPS Tab (Betaflight)

[Image: J0glHfS.jpg]

Notes:

- With the FlyFishRC GPS module, at least while connected to Betaflight and with a battery, the GPS icon stays stable for as long as the battery is connected, and appears in Betaflight roughly about 4-10 seconds after connecting the Li-Po battery.

- As seen above, after some time, like 2-3 minutes inside one or two GPS satellites show for a short while but that's it. Worth noting the FlyFishRC module has a battery for keeping memory of satellites of the last location compared to the HGLRC which doesn't. The HGLRC one had more satellites shown in the Betaflight's GPS tab (inside), like 4-5 after 10 minutes but with no GPS Fix. Users generally report a minimum of like 15 different satellites inside from what I've read.

---

The drone's firmware is above 4.4 which must recognize the newer M10 chip. Why a M8 (the older) chip is not used as in the RC thread, because I want to keep my drone with the battery under 250 g. and the newer M10 nano GPS modules are all below 3 grams. The M8 are 8-10+.


I would like to ask experienced users what may be broken in the above configuration.  Could it be that the M10 GPS chip is having issues with SoftSerial instead of a dedicated physical UART unlike the M8? Could it be bad soldering or could it be that the A13 as shown above is not the right Tx point for the M10 chip? Shall I try with the A14 or else? Could it be that the let's say the A13 or other soldering connection is shorting with the PCB?

By the way, a BEC (battery eliminator circuit) has been tried too after the HGLRC didn't seem to work properly - connected directly to the battery pads on the FC. It didn't change anything in case the used 5V pad on the FC was not supplying enough power. So this must have something to do with either the SoftSerial or else.

Thanks in advance.
Reply
Login to remove this ad | Register Here
#2
I've never heard anything good about putting a GPS on softserial. Keep it to low data stuff like VTX control if possible.
[-] The following 1 user Likes Suros's post:
  • V-22
Reply
#3
1. You need Betaflight 4.5 for an M10 GPS, as earlier versions do not initialize them properly.
2. Do not put the GPS (or OSD, and definitely not RX) on soft serial. Especially on an F411, it's just not fast enough to reliably handle the communication. If you must run a GPS, HD VTX, and serial receiver, get a different FC.
[-] The following 1 user Likes V-22's post:
  • ph2t
Reply
#4
Thanks for the feedback. I am definitely not changing the flight controller as it works great and the drone does that as well. The system utilization with GPS on as reported by Betaflight is maximum 39-40% so I presume this is not too bad?

The info about 4.5 is pretty useful! I made a quick search online and it seems this version changes a lot for the nano GPS modules of M10 type. I will try with it, I guess I don't have another option with this FC.

From Reddit:

Quote:This was 100% me. Had the Flyfish mini gps m10 and I couldn’t get more than 5 or 6 sats. Tried everything. THEN got a new bz-181 m10 and it was more or less the exact same situation. THEN I upgraded to betaflight 4.5 and I get 10-15 sats in 2-3 minutes.
Reply
#5
If you just want coordinates in the OSD and/or via Telemetry that's fine, but do not rely on a Softserial connected GPS for GPS rescue.
[-] The following 1 user Likes V-22's post:
  • d@wn
Reply
#6
I have upgraded the drone firmware to 4.5.0 RC2 however cannot seem to get the softserial option back.


[Image: J1UOgUB.jpg]


[Image: J1Ue2xs.jpg]

Any ideas what may be wrong/I am missing?
Reply
#7
It's possible you didn't define it in the build options.
Reply
#8
Hi D@wn,

Just to clarify and refresh my memory. If I recall correctly, the quad has a 
digital HD module that takes a full, hard, UART and you have an RX receiver 
hat takes a full, hard, UART, leaving NO available hard UARTS so SoftSerial MUST 
be used for anything else including the GPS. Now, we know that this is NOT 
ideal for the GPS, however, neither of the other components will work well, 
on SoftSerial so it must be used for the GPS. With your particular setup, 
SoftSerial is really THE ONLY option for a GPS. Also, you are using a Beitian 
GPS, right? Is my understanding correct?? 

Go back to the RCGroups thread on setting up and configuring SoftSerial on 
your FC and setting up GPS on the SoftSerial. Go through all of the steps.
The commands should (maybe) be the same with the newer version of the
Betaflight firmware. 

Anyone else out there that is using the new version of Betaflight want to 
check the RCGroups thread and ensure that all of the commands still work
the same way.

As long as the resource remapping and Betaflight configures the same 
way, then it should work. 

If you get it working, but just don't get very many satellites, then that
is a totally different issue. 

Can you post a picture of the quad showing the GPS and how it is
mounted? 

Are you still using the original GPS module all this time? If so, maybe you
could pick up another, different brand GPS module to try and see if you
get the same results. Just a thought. Once the software issues are resolved,
then it is down to something physical. 

Later, iFly   High Five
______________________________________
My BUILDS  ||   My INDEX   ||  Parts Guide  <-- Download


Reply
#9
(11-Feb-2024, 08:50 PM)Suros Wrote: It's possible you didn't define it in the build options.

I made sure GPS is selected in the build options, it actually goes there by default.


(11-Feb-2024, 10:54 PM)iFly4rotors Wrote: Hi D@wn,

Just to clarify and refresh my memory. If I recall correctly, the quad has a 
digital HD module that takes a full, hard, UART and you have an RX receiver 
hat takes a full, hard, UART, leaving NO available hard UARTS so SoftSerial MUST 
be used for anything else including the GPS. Now, we know that this is NOT 
ideal for the GPS, however, neither of the other components will work well, 
on SoftSerial so it must be used for the GPS. With your particular setup, 
SoftSerial is really THE ONLY option for a GPS. Also, you are using a Beitian 
GPS, right? Is my understanding correct?? 

Go back to the RCGroups thread on setting up and configuring SoftSerial on 
your FC and setting up GPS on the SoftSerial. Go through all of the steps.
The commands should (maybe) be the same with the newer version of the
Betaflight firmware. 

Anyone else out there that is using the new version of Betaflight want to 
check the RCGroups thread and ensure that all of the commands still work
the same way.

As long as the resource remapping and Betaflight configures the same 
way, then it should work. 

If you get it working, but just don't get very many satellites, then that
is a totally different issue. 

Can you post a picture of the quad showing the GPS and how it is
mounted? 

Are you still using the original GPS module all this time? If so, maybe you
could pick up another, different brand GPS module to try and see if you
get the same results. Just a thought. Once the software issues are resolved,
then it is down to something physical. 

Later, iFly   High Five


Well, SoftSerial used to work OK with Betaflight 4.4.2 version so I believe it is the pads reassignment thing. From the RCGroups thread I believe these are the right CLI commands:

If you using Crossfire at TX2 RX2 the you need another pad for Softserial TX pad.
You find a free mini pad at top, left of the STM32F411CEU6. This pad is connected to A14 from F411
Use the pad A14 as soft serial TX and the RGB pas as soft serial RX.
Here the CMD commands:
feature GPS
resource SERIAL_TX 11 A14
resource SERIAL_RX 11 A15
SAVE



I will try with them on my current version. At the moment I don't have an image of the new GPS module, it is a new M10 nano one (first was HGLRC) - actually you can see the image above - it is the very same installation to the A14 pad for Tx + RGB for Rx, plus FC's 5V and GND.



To be honest, even if I don't get enough satellites with the Betaflight 4.5 firmware over SoftSerial compared to 4.4.2 I had, that's fine. I will just give up on that board, but I want to make sure it doesn't, i.e. that I have tested it and know that it doesn't work. Because there are comments online that version 4.5 fixes the M10 nano chips no or few satellites problem. And I want to know this is the case for me too (or not).

Thank you, both. I will test the above commands and report back.
[-] The following 1 user Likes d@wn's post:
  • iFly4rotors
Reply
#10
Tried the

feature GPS
resource SERIAL_TX 11 A14
resource SERIAL_RX 11 A15
SAVE

command

I believe this were the working ones with firmware version 4.4.2 and as in the above screenshots. Serial port still doesn't appear in Ports. Enabled LED RGB support in the Configuration tab as the RGB on the fllght controller is used for either Rx or Tx (will need to check). Still nothing.

May need to go through the back-up (DIFF) to see if there is something I am missing.
Reply
#11
The resource name for softserial has changed in 4.5. Try this:

Code:
feature GPS
feature SOFTSERIAL
resource SOFTSERIAL_TX 1 A14
resource SOFTSERIAL_RX 1 A15
save
[-] The following 1 user Likes V-22's post:
  • d@wn
Reply
#12
The person asking should know what the GPS module is there for. If he wants a GPS module to provide only the display of some information in OSD, for which some delay and insufficient updating of values is not a problem, then let him connect the GPS module to softserial. If he would like to use the GPS module for GPS rescue, forget about the softserial. In that case, the update of the required amount of data must be fast, smooth and without jams, softserial is not able to provide that.
[-] The following 1 user Likes MomoBrut's post:
  • iFly4rotors
Reply
#13
(13-Feb-2024, 01:01 AM)V-22 Wrote: The resource name for softserial has changed in 4.5. Try this:

Code:
feature GPS
feature SOFTSERIAL
resource SOFTSERIAL_TX 1 A14
resource SOFTSERIAL_RX 1 A15
save

Thank you, this worked! However I cannot get the GPS to appear. Could it be something to do with the previous CLI commands? Please see below:

[Image: JEH6iRn.jpg]


[Image: JEH6Zxf.jpg]


[Image: JEHPC0B.jpg]


The GPS module powers normally. It only has one red LED which is steady red. Yesterday when I tried with the previous commands the LED was flashing which as far as I remember from the manual means that it is looking for satellites. Actually as I said that it started flashing but it took maybe five minutes before that.

I have also noticed something else. With 4.5.0 CPU usage is pretty high. It used to be 49-50% with 4.4.2, now average is 70%. Also, with this setting sometimes Betaflight takes ages to read data when switching over tabs.


(13-Feb-2024, 03:22 PM)MomoBrut Wrote: The person asking should know what the GPS module is there for. If he wants a GPS module to provide only the display of some information in OSD, for which some delay and insufficient updating of values is not a problem, then let him connect the GPS module to softserial. If he would like to use the GPS module for GPS rescue, forget about the softserial. In that case, the update of the required amount of data must be fast, smooth and without jams, softserial is not able to provide that.

I fully agree with you and this is not going to be used for GPS rescue, nor anything serious. My biggest aim is to know my altitude and potentially speed. That's all (basic data about my flight but predominantly altitude). Even is it is rough, approximate and comes with minor delay, that's fine. It was apparently good enough for the German owner at RCGroups, this is why he's shown how he made it over SoftSerial.
Reply
#14
I suggest to replace the AIO. Instead of looking for a solution that will never work well and later solve the problem of lack of memory or slow F411 for later versions of BF, small number of UARTs, etc., I would recommend a HAKRC AIO with F722, which has a barometer and a larger number of UARTs. So if you only need to know the altitude, the barometer will do without need of GPS module And if the original AIO should remain, you can buy just a barometer for a few bucks and you don't need GPS module, which doesn't show the altitude very accurately anyway.
Reply
#15
I already have two working M10-chip GPS modules and a working flight controller board. I am not changing the latter just for GPS data unless I crash or completely destroy it. And in this case I am most likely going directly for O3 or a completely new drone.

Maybe Betaflight 4.5 is more demanding or maybe there are too many items on the OSD. Delays in getting data from the flight controller only took place once I set the SerialPort sensor input to GPS. As far as I've read in the 4.5.0 RC2 release notes, the software starting from this version goes through the GPS module parameters and configure it dynamically and without user interaction. This is why I presume the GPS not appearing with 4.5.0 and appearing with 4.4.2 without changes to pads and solders has something to do with configuration. I've only had half an hour yesterday evening, will explore more when I have more time...
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  <2g GPS Mod - Ultra-lightweight GPS! V-22 18 4,159 28-Feb-2023, 12:00 PM
Last Post: hugnosed_bat
  GoPro GPS Module Pinout (Gopro 9/10) dsminhthe 5 997 16-Feb-2023, 12:42 PM
Last Post: dronemagic
  Tutorial The pinouts of Gopro 5 GPS module dsminhthe 0 416 21-Oct-2022, 04:26 AM
Last Post: dsminhthe
  FC GPS - trying to plug into BetaFPV 20A AIO V3 Dream Weaver 3 1,075 14-Mar-2022, 07:04 AM
Last Post: kafie1980
  iRangeX iRX6 Multiprotocol TX Module powered directly from i6 transmitter bruno61 0 655 05-Oct-2021, 10:37 PM
Last Post: bruno61


Login to remove this ad | Register Here