Forums > Windsurfing   Gps and Speed talk

Another DIY GPS logger approach

Reply
Created by rp6conrad > 9 months ago, 2 May 2021
PacoRaapNL
73 posts
10 Feb 2024 9:12PM
Thumbs Up

Actimel, those are nice figures.

Linear not fully.
The end is steep but with less drain current the curve will be more flat.
www.ibt-power.com/bkencel/Lithium-Po-tech.html
I think a 800 mah for a day of use will work.

Yes we have to wait for Jan his SD card removal trick before pouring new versions.

Paco

PacoRaapNL
73 posts
11 Feb 2024 7:02PM
Thumbs Up

In the mean time my brains do not stop....Morning test drive in the car with with 15 sats where the gps is below in the box.Is that ok for a minimum?

Just a quick front cover design in Corel Draw.





Paco

sailquik
VIC, 6089 posts
11 Feb 2024 11:10PM
Thumbs Up

What GNSS setting? That will make a lot of difference for sat count.

And if it was in a car and not perfect view of open sky, that will also make a big difference depending where it was mounted. the only good test is sailing with it in position, or maybe riding a big with it on your arm away from trees and buildings.

I would expect more sats wth 2 or 3 GNSS turned on on open sky.

What is the sAcc error level?

What Hz?

PacoRaapNL
73 posts
11 Feb 2024 8:35PM
Thumbs Up

Where can I find the sACcc error level?


Paco

rp6conrad
306 posts
11 Feb 2024 11:27PM
Thumbs Up

The sAcc values are in the log files. A excellent tool for analysis the gps log files is gps-speedreader : ecwindfest.org/GPS/GPSSpeedreader.html
You can see al the data, and if you can even compare several logfiles.

Actimel87
18 posts
11 Feb 2024 11:53PM
Thumbs Up

Hey Paco,

You have to adjust it in the columns. Push alt+c checkmark Doppler Speed, Error estimate (SDOP/sAcc) and #of satellites.

Best Config settings I do also not really understand.
As fare I get it for the M10 exist 3 useful settings.

4 GNSS (GPS + GLONAS + GALILEO + BEIDOU) @ 4Hz sample rate
3 GNSS (GPS + GLONAS + GALILEO) @ 5Hz sample rate
2 GNSS (GPS + GLONAS) @ 10Hz sample rate

Less data therefor more accurate VS a lot data with a slightly higher failure "Correct?"

If you go 30 kn at 4Hz you do every ~4m a measuring point.
If you go 30 kn at 5Hz you do every ~3m a measuring point.
If you go 30 kn at 10Hz you do every ~1,5m a measuring point.

During my testrun i was hitting constantly 20-25 satellites with 3 GNSS @5Hz. The next testrun I will go with 4 GNSS to see if i will get more satellites.

boardsurfr
WA, 2289 posts
12 Feb 2024 12:56AM
Thumbs Up

Select to expand quote
PacoRaapNL said..

Here you GO-Pro... :-)



When you use a GoPro housing, make sure to always use a safety line that attaches the housing to your boom, helmet, or wherever you mount it. The GoPro clamps open up quite easily, and they also break quite easily. I just recently lost an ESP logger in a GoPro housing that I had mounted on top of the helmet. It probably floats but I did not realize it had come off until I was back on shore. I was winging, so it's possible the leash took it off, but it may also just have been the plastic mount becoming fragile. When I use my units on the boom, hitting them with my hand during a jibe sometimes opens the clamp.

With a GoPro housing, I see really no point in using a wireless charger. With a cable, I can check charging with a USB meter. The charge indicator tends to show "100%" a long time before the current drops to levels that indicate a full charge, and there's a lot of variation between the (supposedly identical) batteries in different units. Checking the charge current can help to target the charge range so you get longer battery life.

Perhaps the biggest advantage of the GoPro housing is that you can use the on-off switch on the motherboard. Some of my units discharge quite quickly in deep sleep (within a few days to a few weeks, especially if already partially discharged after a session).

rp6conrad
306 posts
12 Feb 2024 3:34AM
Thumbs Up

Select to expand quote
rp6conrad said..
Our beloved ESP32 in the T5-epaper configuration has a total of 16MB flash memory. When I started the project, I had no clue and I choose the Default "partition" scheme with only 4MB in the Arduino IDE.

I was wrong, the T5 2.13" has only 4 MB of flash memory. Never the less, 1.4 MB was unused, and it is now possible to operate the logger without a SD-card. When booting, the SD-card is checked, and if not present or accessible, the internal memory can be used for file storage. Important, not the fill 1.4 MB is usable, logging did stopped when still 270 kb was free. I guess this has to do with the "wear leveling" that the "LittleFS" file system uses.
The SW5.82 update has next changes :
Warning sample-rate setting moved to webserver index page (files)
Moved Button_push class E_Paper -> ESP_functions.h
BUFFER_SIZE 9500 -> 9000 due to ESP32 2.0x lib, to prevent "DRAM segment data does not fit."
interrupt on WAKE_UP_GPIO for set Wifi_Search to 150 without delay
Boot with Wifi station and acces point simultanous
Added local storage if no SD card found, only 1.5 Mb, total flash is only 4 Mb !!!
If in AP-mode, but counting down, shutdown is possible now.
Added Storage space + bat voltage + Firmware version to webserver files page
Added partitions.csv in the root dir, ESP32 V1.0 with 4MB flash
If this file is in the sketch dir, it will be used instead of the Arduino Menu setting !!
The update is fully compatible with the older SW, as the old partition scheme was used. Here the "File" webserver view from SD, and the second "local" with marginal sample_rate settings.
Work on the 16 MB other boards is in progress.


Greetings, Jan.

PacoRaapNL
73 posts
12 Feb 2024 3:54AM
Thumbs Up

Select to expand quote
rp6conrad said..
The sAcc values are in the log files. A excellent tool for analysis the gps log files is gps-speedreader : ecwindfest.org/GPS/GPSSpeedreader.html
You can see al the data, and if you can even compare several logfiles.


Found it,

I got 19 sats maximum in the car with 2 GNSS (GPS + GLONAS) @ 5Hz sample rate.
So I assume outside the car the number of sats will be higher.
With 18 sats the error is 0.146

@ boardsurfr, thanks for the tips of the life line leash.

With this project there are many solutions and directions to go.

Paco

boardsurfr
WA, 2289 posts
12 Feb 2024 4:11AM
Thumbs Up

Seeing that Jan has added logging to Flash, here's one more idea: add support for boards that do not have a display, but lots of Flash or PSRAM. For example, the FeatherS3 from Unexpected Maker has 16 MB Flash and 8 MB PSRAM, and their Tiny S3 has 8+8 MB. The Feather also has additional features to reduce power use in deep sleep.

Chips like these might be useful for making small loggers, similar to the Motion Mini. They'll be fine with smaller batteries, since they don't have to power the display, and probably can be run at lower CPU frequencies to reduce power use even further.

sailquik
VIC, 6089 posts
12 Feb 2024 8:15AM
Thumbs Up

Select to expand quote
PacoRaapNL said..
Found it,

I got 19 sats maximum in the car with 2 GNSS (GPS + GLONAS) @ 5Hz sample rate.
So I assume outside the car the number of sats will be higher.
With 18 sats the error is 0.146

@ boardsurfr, thanks for the tips of the life line leash.

With this project there are many solutions and directions to go.

Paco



Those numbers look about right for x 2 GNSS. You may get a couple more sats outside the car. I get 18 - 22 on my last sailing session on the same x 2 GNSS , most of the time 20-21. My error number was between 0.1 and 0.2, mostly about the middle between those. I ran @ 10 Hz with no missed points. (M10)

Actimel87
18 posts
12 Feb 2024 6:24PM
Thumbs Up

How about replacing the Flash?

BigBoss
45 posts
12 Feb 2024 7:11PM
Thumbs Up

Select to expand quote
rp6conrad said..

rp6conrad said..
Our beloved ESP32 in the T5-epaper configuration has a total of 16MB flash memory. When I started the project, I had no clue and I choose the Default "partition" scheme with only 4MB in the Arduino IDE.


I was wrong, the T5 2.13" has only 4 MB of flash memory. Never the less, 1.4 MB was unused, and it is now possible to operate the logger without a SD-card. When booting, the SD-card is checked, and if not present or accessible, the internal memory can be used for file storage. Important, not the fill 1.4 MB is usable, logging did stopped when still 270 kb was free. I guess this has to do with the "wear leveling" that the "LittleFS" file system uses.
The SW5.82 update has next changes :
Warning sample-rate setting moved to webserver index page (files)
Moved Button_push class E_Paper -> ESP_functions.h
BUFFER_SIZE 9500 -> 9000 due to ESP32 2.0x lib, to prevent "DRAM segment data does not fit."
interrupt on WAKE_UP_GPIO for set Wifi_Search to 150 without delay
Boot with Wifi station and acces point simultanous
Added local storage if no SD card found, only 1.5 Mb, total flash is only 4 Mb !!!
If in AP-mode, but counting down, shutdown is possible now.
Added Storage space + bat voltage + Firmware version to webserver files page
Added partitions.csv in the root dir, ESP32 V1.0 with 4MB flash
If this file is in the sketch dir, it will be used instead of the Arduino Menu setting !!
The update is fully compatible with the older SW, as the old partition scheme was used. Here the "File" webserver view from SD, and the second "local" with marginal sample_rate settings.
Work on the 16 MB other boards is in progress.


Greetings, Jan.


Very nice work Jan!!!

question: if a sessie is stored on flash, and the gps is after the sessie set to sleep, the gps has to reboot to access wifimode so the file/sessie can be downloaded. I assume the file still exist. After the download, the file needs to be deleted, otherwise there is not enough space for the next sessie. am I wrong?
just curious, what's your motivation to use flash memory besides the sd-card?

PacoRaapNL
73 posts
12 Feb 2024 7:40PM
Thumbs Up

Select to expand quote
Actimel87 said..
How about replacing the Flash?


I have been tinkering this too and looked for large RAM IC recently.
But soldering those tiny chips is not everyone game, but....
I do not know if this can be used?nl.aliexpress.com/item/1005006232697572.html?spm=a2g0o.cart.0.0.1ab361d7YIdP51&mp=1&gatewayAdapt=glo2nld6 wires just like the SD card extender.
But no contacts and enough 128 mb memory for a windfull day when saved as .gpy.
The memory with PCB will reside under the T5 E-ink PCB.
Without SD card in the fixed SD card holder the physical size of the T5 E-ink is the limiting size factor.

Paco

PacoRaapNL
73 posts
12 Feb 2024 7:40PM
Thumbs Up

Select to expand quote
Actimel87 said..
How about replacing the Flash?


I have been tinkering this too and looked for large RAM IC recently.
But soldering those tiny chips is not everyone game, but....
I do not know if this can be used?nl.aliexpress.com/item/1005006232697572.html?spm=a2g0o.cart.0.0.1ab361d7YIdP51&mp=1&gatewayAdapt=glo2nld6 wires just like the SD card extender.
But no contacts and enough 128 mb memory for a windfull day when saved as .gpy.
The memory with PCB will reside under the T5 E-ink PCB.
Without SD card in the fixed SD card holder the physical size of the T5 E-ink is the limiting size factor.

Paco

rp6conrad
306 posts
12 Feb 2024 7:48PM
Thumbs Up

Select to expand quote
BigBoss said..
question: if a sessie is stored on flash, and the gps is after the sessie set to sleep, the gps has to reboot to access wifimode so the file/sessie can be downloaded. I assume the file still exist. After the download, the file needs to be deleted, otherwise there is not enough space for the next sessie. am I wrong?
just curious, what's your motivation to use flash memory besides the sd-card?

Correct, the flash memory can be used in the exact same way as the SD-card ! With the 4 MB flash from the T5, there is only 1.1 MB
usable file space left, so not really a valid alternatif. 1.1 MB is about 3 h .gpy log file @ 5 Hz. But if you have a 16 MB flash, this can be a interesting alternative. There are lots of ESP32 boards with 16 MB on the market, so a version without display and without SD-card can result in a very small and cheap "mini" logger.
@Actimel : Replacing the flash should be possible, but you need the proper tooling for SMD soldering / desoldering. I have no idea or there are other hurdles (firmware ESP ?) and the ESP will accept the larger flash.

PacoRaapNL
73 posts
12 Feb 2024 8:34PM
Thumbs Up

Select to expand quote
rp6conrad said..

BigBoss said..
question: if a sessie is stored on flash, and the gps is after the sessie set to sleep, the gps has to reboot to access wifimode so the file/sessie can be downloaded. I assume the file still exist. After the download, the file needs to be deleted, otherwise there is not enough space for the next sessie. am I wrong?
just curious, what's your motivation to use flash memory besides the sd-card?


Correct, the flash memory can be used in the exact same way as the SD-card ! With the 4 MB flash from the T5, there is only 1.1 MB
usable file space left, so not really a valid alternatif. 1.1 MB is about 3 h .gpy log file @ 5 Hz. But if you have a 16 MB flash, this can be a interesting alternative. There are lots of ESP32 boards with 16 MB on the market, so a version without display and without SD-card can result in a very small and cheap "mini" logger.
@Actimel : Replacing the flash should be possible, but you need the proper tooling for SMD soldering / desoldering. I have no idea or there are other hurdles (firmware ESP ?) and the ESP will accept the larger flash.


Thanks, Jan,

I will order the 128Mb flash from the link I supplied. For 2 Euro's I take the gamble.

Paco

Actimel87
18 posts
12 Feb 2024 9:41PM
Thumbs Up

wait a second let's have a chat first :)


I think the flash chips which are used at other ESP32 boards should work.


Pro Flash storage
cheaper easely
smaller (Housing)
more robust

Pro Micro SD
disconnectable
endless storage

Espressif_Systems_01292021_esp32-1991551.pdf (mouser.de)
Page 23.
3.1.3 External Flash and SRAM
ESP32 supports multiple external QSPI flash and SRAM chips. More details can be found in Chapter SPI in the ESP32 Technical Reference Manual.ESP32 also supports hardware encryption/decryption based on AES to protect developers' programs and data in flash. ESP32 can access the external QSPI flash and SRAM through high-speed caches. ? Up to 16 MB of external flash can be mapped into CPU instruction memory space and read-only memory space simultaneously. - When external flash is mapped into CPU instruction memory space, up to 11 MB + 248 KB can be mapped at a time. Note that if more than 3 MB + 248 KB are mapped, cache performance will be reduced due to speculative reads by the CPU. - When external flash is mapped into read-only data memory space, up to 4 MB can be mapped at a time. 8-bit, 16-bit and 32-bit reads are supported. ? External SRAM can be mapped into CPU data memory space. SRAM up to 8 MB is supported and up to 4 MB can be mapped at a time. 8-bit, 16-bit and 32-bit reads and writes are supported.

boardsurfr
WA, 2289 posts
13 Feb 2024 12:51AM
Thumbs Up

Select to expand quote
PacoRaapNL said..

I will order the 128Mb flash from the link I supplied. For 2 Euro's I take the gamble.

Paco


You'll also need to modify the firmware to use the larger flash. ESP32 firmware is generally specific for the flash and PSRAM on the chip.

PacoRaapNL
73 posts
13 Feb 2024 3:16PM
Thumbs Up

Select to expand quote
boardsurfr said..

PacoRaapNL said..

I will order the 128Mb flash from the link I supplied. For 2 Euro's I take the gamble.

Paco



You'll also need to modify the firmware to use the larger flash. ESP32 firmware is generally specific for the flash and PSRAM on the chip.


boardsurfr, do I understand you wrong?

I am not talking about replacing the ONBOARD 4 MB memory with large size memory.I talk about the external memory board with flash memory chip will be connected by SPI pins by 6 wires to the T5 E-ink, same as the metal SD card connector is internally connected on the PCB to the same SPI pins.

Paco

rp6conrad
306 posts
13 Feb 2024 3:59PM
Thumbs Up

Select to expand quote
PacoRaapNL said..
I am not talking about replacing the ONBOARD 4 MB memory with large size memory.I talk about the external memory board with flash memory chip will be connected by SPI pins by 6 wires to the T5 E-ink, same as the metal SD card connector is internally connected on the PCB to the same SPI pins.

Paco

This chip will not act identical as a SD card, so you need to change the software (www.arduino.cc/reference/en/libraries/adafruit-spiflash/). It is easier to solder the SD card directly to the board.
Greetings, Jan.

PacoRaapNL
73 posts
13 Feb 2024 6:09PM
Thumbs Up

Select to expand quote
rp6conrad said..

PacoRaapNL said..
I am not talking about replacing the ONBOARD 4 MB memory with large size memory.I talk about the external memory board with flash memory chip will be connected by SPI pins by 6 wires to the T5 E-ink, same as the metal SD card connector is internally connected on the PCB to the same SPI pins.

Paco


This chip will not act identical as a SD card, so you need to change the software (www.arduino.cc/reference/en/libraries/adafruit-spiflash/). It is easier to solder the SD card directly to the board.
Greetings, Jan.


OK clear Jan, thanks.

boardsurfr
WA, 2289 posts
13 Feb 2024 11:50PM
Thumbs Up

Here's one more idea I want to throw out: support the T-Display S3 unit (with shell, www.lilygo.cc/products/t-display-s3?variant=42585826590901). It comes with 16 MB Flash + 8 MB PSRAM. Here's an image for size comparison:

The T-display is on the right. The idea is to use it with an armband (double-bagged inside a ziplock bag). This one is programmed in micropython, and not yet fully functional.

The display is nowhere near as good for on-the-water feedback as the e-paper, at least when double-bagged. It's just good enough to see the numbers when you take a break. But putting things together is a lot easier, you just have to connect the GPS chip cable to the internal connectors. Theoretically, this could enable more speedsurfers who shy away from the e-paper setup to make their own unit.

I think the shell version of the logger comes with a battery that's good for a few hours of logging (but I'm not sure since it's been a few months since I put this together). The 16 MB Flash is enough for 24+ hours of logging to .gpy files at 5 Hz.

While the display may be quite limited for on-the-water feedback, it's easy to read on shore, and it can help users to see what's going on while the unit is starting up, similar to the e-paper logger. I have learned that this stuff is quite important for the non-geek users, who can get quite confused if you give them an Openlog-based logger that produces LOGnnnn.txt files.

rp6conrad
306 posts
14 Feb 2024 5:06AM
Thumbs Up

I do have a T7 S3 16MB board, but without display. It has the extra connector, but this connector has GND, 3V, pin 43 and pin 44. You could connect the Ublox to this connector, but the power will not be switched off in "deepsleep". You need at least another On/Off switch to power off the board + ublox.
The ESP32 S3 for this board needs the ESP 32 V2.0 library. I have some issues with this library : on one laptop, it works fine, on the other laptop, I always have run time errors when uploading the sketch (probably an issue with the partition scheme).
Current consumption can be improved with lowering the CPU freq (default 240 MHz). In my actual setup, 40 MHz for the logging worked fine, with a current drop from 40 mA (T5 + M10 Current drop 87 mA -> 47 mA). This will be in the next update.
Support for the ESP32 S3 stand alone is work in progress.
Support for the ESP32 S3 with display is planned, but first I need to order one.
Greetings, Jan.

PacoRaapNL
73 posts
14 Feb 2024 3:02PM
Thumbs Up

Current consumption can be improved with lowering the CPU freq (default 240 MHz). In my actual setup, 40 MHz for the logging worked fine, with a current drop from 40 mA (T5 + M10 Current drop 87 mA -> 47 mA). This will be in the next update.

Thanks Jan, that would make the battery capacity less critical.

BTW did anyone thought about contacting Lilygo sales to ask if the T5 E-ink 213BN version could be equipped with larger onboard RAM chip from factory?

Paco

BigBoss
45 posts
16 Feb 2024 5:22PM
Thumbs Up

Select to expand quote
rp6conrad said..
I do have a T7 S3 16MB board, but without display. It has the extra connector, but this connector has GND, 3V, pin 43 and pin 44. You could connect the Ublox to this connector, but the power will not be switched off in "deepsleep". You need at least another On/Off switch to power off the board + ublox.
The ESP32 S3 for this board needs the ESP 32 V2.0 library. I have some issues with this library : on one laptop, it works fine, on the other laptop, I always have run time errors when uploading the sketch (probably an issue with the partition scheme).
Current consumption can be improved with lowering the CPU freq (default 240 MHz). In my actual setup, 40 MHz for the logging worked fine, with a current drop from 40 mA (T5 + M10 Current drop 87 mA -> 47 mA). This will be in the next update.
Support for the ESP32 S3 stand alone is work in progress.
Support for the ESP32 S3 with display is planned, but first I need to order one.
Greetings, Jan.


Jan, did you use the bainianxing ubx-m10050 (bu1025tf) gps chip?

rp6conrad
306 posts
16 Feb 2024 6:24PM
Thumbs Up

Select to expand quote
BigBoss said..
Jan, did you use the bainianxing ubx-m10050 (bu1025tf) gps chip?

No, I used the Beitian BE182 (M10 ublox) module.

Actimel87
18 posts
16 Feb 2024 8:52PM
Thumbs Up

Hello,

I have 2 questions.:)

1. how many satellites are abel to connect with Be-182?
I did not found a value in a data sheet.

2. Somehow the display is very static. It takes about ~200sec the give a new speed value.
The FW is 5.81 with FW 5.76 could watch the speed refresh every second or so. Do I miss some settings in the config?

rp6conrad
306 posts
16 Feb 2024 10:12PM
Thumbs Up

Select to expand quote
Actimel87 said..
Hello,

I have 2 questions.:)

1. how many satellites are abel to connect with Be-182?
I did not found a value in a data sheet.

2. Somehow the display is very static. It takes about ~200sec the give a new speed value.
The FW is 5.81 with FW 5.74 could watch the speed refresh every second or so. Do I miss some settings in the config?


1. With 3 GNSS @ 5 Hz active, the BE182 (M10) should connect to 20 - 28 sats with open sky view. With 2 GNSS active, it should connect to 14 - 20 sats.
2. That is not normal. The BE182 should report as a "M10 at 38400 baud". If not, try first to set "AUTODETECT@BOOT" in the config file. The problem is alone with the 5.81 SW ? Which screen (BN / B73 / B74) ?

Greetings, Jan.

Actimel87
18 posts
16 Feb 2024 10:29PM
Thumbs Up

It is set as M10 @ 38400.
I just downgraded from FW5.81B74 to FW 5.76BN. This version 5.76BNworks in terms of Display presentation really well.

I will test 5.82BN.

edit:
I just installed the right FW. Works perfect!
thank you



Subscribe
Reply

Forums > Windsurfing   Gps and Speed talk


"Another DIY GPS logger approach" started by rp6conrad