Wiznet makers

Lihan__

Published August 27, 2025 ©

6 UCC

5 WCC

0 VAR

0 Contests

0 Followers

0 Following

Original Link

NTRIP Receiver with WIZnet WizFi360 and Teensy

High-speed NTRIP receiver built with Teensy 4.1 and WizFi360 Wi-Fi module. Achieves RTK Fix within 10 seconds compared to ESP8266’s tens of seconds.

COMPONENTS
PROJECT DESCRIPTION

Software Apps and Online Services

Arduino IDE

ChatGPT (code generation support)

u-center (u-blox GNSS configuration & monitoring)

RTCM3 protocol

Tags

WizFi360

Teensy 4.1

RTK

NTRIP

GNSS


DESCRIPTION

Project Overview

This project demonstrates building an NTRIP receiver using a WizFi360 Wi-Fi module and a Teensy 4.1 board.
Compared to the traditional ESP8266-based solution, which required tens of seconds to reach an RTK Fix, this new combination achieves Fix within 10 seconds under good conditions.

The performance improvement is due to WizFi360’s fast UART throughput (1 Mbps) and straightforward TCP→UART data pipeline, significantly reducing latency and jitter.


Key Features

Ultra-fast Fix: Achieves Fix in under 10 seconds in optimal conditions.

Stable data stream: RTCM3 correction data is delivered without fragmentation or delay.

Extended capability: SD card logging of UBX/NAV messages supported.

ChatGPT-assisted coding: AT command-based TCP/NTRIP connection generated step by step with AI support.


Hardware Setup

WizFi360 TX → Teensy RX1, WizFi360 RX → Teensy TX1

Teensy UART1 ↔ WizFi360 (115200 bps)

Teensy UART2 → F9P GNSS receiver (RTCM3 corrections, 460800 bps)

F9P UART1 → Teensy UART4 (UBX log capture and SD storage)


Software Implementation

// ntrip_config.h
static const char NTRIP_HOST[] = "rtk2go.com";
static const uint16_t NTRIP_PORT = 2101;
static const char NTRIP_USER[] = "your_email";
static const char NTRIP_PASS[] = "";
// AT command-based TCP connection
WF_SERIAL.println(F("AT+CIPMUX=0"));
WF_SERIAL.println(F("AT+CIPMODE=1"));
WF_SERIAL.print(F("AT+CIPSTART=\"TCP\",\""));
WF_SERIAL.print(NTRIP_HOST);
WF_SERIAL.print(F("\","));
WF_SERIAL.println(NTRIP_PORT);

Core Functionality

 

Streams RTCM3 binary via USB serial for validation.

Forwards RTCM3 directly to the F9P receiver to enable RTK Fix.

Logs UBX data (NAV-PVT, NAV-SAT, NAV-RELPOSNED) to SD card with buffering for high throughput.


Network Architecture

NTRIP Caster (e.g. rtk2go.com)
       ↓ (RTCM3 over TCP)
WizFi360 Wi-Fi Module
       ↓ UART
Teensy 4.1
       ↓
u-blox F9P GNSS Receiver
       ↓
RTK Fix Output (USB / SD Log)

Performance Results

ESP8266-based system: Typically tens of seconds to >1 minute for Fix.

WizFi360 + Teensy: Achieves Fix in as little as 10 seconds.

Reduced latency and jitter allow the F9P to converge faster with stable correction input.


Lessons Learned

The choice of Wi-Fi module strongly affects RTK Fix performance.

ESP8266 suffers from software buffer overhead and AT command delays.

WizFi360 provides a direct and low-latency data path, ensuring consistent correction delivery.


Future Improvements

Support for multiple NTRIP services (e.g., VRS, SSR).

Cloud integration for log upload and monitoring.

Multi-receiver expansion for fleet RTK solutions.


Challenges & Solutions

Challenge: RTCM3 reception on ESP8266 was fragmented/delayed, leading to slow Fix.

Solution: WizFi360’s faster TCP→UART stream and Teensy’s stable clock enable smooth, rapid Fix convergence.


Documents
  • NTRIP Client for Teensy + WizFi360

    Implements AT command-based TCP connection, NTRIP request, and RTCM3 streaming.

Comments Write