DIY Efoil Data Logger

DIY efoil datalogger for VESC

I thought I would share my project on a DIY data logger for a VESC ESC.

I previously did logging with a Flipsky Wireless Bluetooth Module connected to my phone. This did work and I could read out the data and a map plot on the Vesc tool software to analyse rides, speed efficiency etc.

However, I then managed to lose my brand-new Google Pixel when the neck cord on my waterproof pouch snapped and the phone dropped to the bottom of the river. I did manage to save ot after an hour of diving in 2m murky water and it survived as the waterproof pouch worked. Also, I lost the connection every time I fell off and the phone went in the water – requiring a manual restart of the logging.

So, I decided to see if I could come up with an alternative that was self-contained, cheap, reliable and customizable. I know there are several commercially available alternatives but they seem either to have reliability issues (Vesc express) or be quite expensive (metr – now discontinued and voyage systems) and anyway I wanted a project.

I designed a simple system around an ESP32, a GNSS module and an SD card. The logger plugs into the VESC ESC via the UART port, stores data on the SD card and the files can be downloaded to the phone via a web interface created by the ESP32 (faster than Bluetooth for larger files). The files are in Vesc tool format and can be loaded and analysed with the Vesc tool.



Web interface :

Upload to logtrc.com :

20260905 logtrc

The main advantage of this device is that it is very customisable in terms of hardware and software – so you can add leds, buttons etc, and you can modify the auto start and auto stop parameters, wifi interface etc. Also it was great fun to build.

The code is relatively simple and easily modifiable with chat GPT etc. I used EasyEDA to design the PCB which is part of the JLCPCB ecosystem so easy to order the PCBs directly (5 minimum).

All the files are on my github :

The total cost is under 50€ including a good quality GNSS receiver and 5 custom PCBs with JLCPCB.

PARTS AND COSTS (approx):


ESP32 : 4.99€ (https://fr.aliexpress.com/item/1005006984793820.html)

GNSS module : ELT 0169 M10Q : 28.99€ (SAM-M10Q GNSS Antenna Module (GPS, GLONASS, Galileo, BeiDou) | u-blox | GNSS Store)

Micro SD card : 4.19€ (https://fr.aliexpress.com/item/32999509520.html)

Micro SD card module : 0.83€ (https://fr.aliexpress.com/item/1005005302035188.html)

PCB chez JLCPCB : 9.00€

3D printed case : a few cents

Other components : resistors, capacitors, LED, wiring, cable gland : already had.

TOTAL : 48€

You could probably get away with a cheaper GNSS from Aliexpress, but I have not tested that.

3 Likes

Looks nIce @skullym

My dad also build one, and some users are beta testing them now.
Connection to the Apex250 Puck <> VESC is done over BLE.
Up to 25Hz logging, wireless charging, lots of memory onboard, and auto upload to LogTRC.com
When in sleep modes ~40µA, so long time standby.
All configurable with an iOS/Android app

It will be opensource too when testing is completed.

Price will be around yours

2 Likes

Thanks @kian for the tip about LogTRC.com - i tried it a while ago and couldnt updload files but now I see it works well and gives great readouts.

1 Like

Having fun building something is why we all are here :slight_smile:

Just as comparison here is the new Rx Nano:
Logs VESC and GPS data, offers VESC Tool TCP bridge for configuration besides being the receiver for the V2 remotes of course. Access to VESC and log files via WiFi as well.

3 Likes

Nice… Yes, I know. Our version is “kind of big” (50mm by 21mm), but we already officially don’t have enough ground plane for the GNSS module. Making it smaller is possible, but it would cause GPS performance issues.

On the back of our PCB, we have a W25Q128JVSIQ for extra flash memory.

The Seeed XIAO nRF52840 Sense is kind of overkill, but besides the basic GPS functionality, we also have the Apex250 code running on it, as well as a virtual race course option.

No Wi-Fi, but everything is done over BLE. Even over-the-air updates work great over BLE.