MicronetToNMEA is a Teensy/Arduino project aiming at converting data from Raymarine's wireless network called "Micronet" to a standard NMEA0183 stream, easily useable by your laptop or tablet software. Additionnaly, it can also transmit NMEA navigation data from your Tablet/PC to your Micronet network.
The project requires the following hardware :
Teensy 4.0 is the preferred board because it is the one used by the author to test and fix issues when they are found. Other boards are reported to also work fine anyway.
Optionally, you can add :
The type of construction described here is fun and interesting to play with, but anyone with a little bit of experience at sea knows that it will not last long in the wet, salty and brutal environment of a sailing boat. MicronetToNMEA will abandon you just when you really need it. No garantee can of course be given that this software will do what it has been designed for. If you want a robust, reliable and extensively tested Micronet device, you should better go to your nearest Raymarine/Tacktick reseller.
MicronetToNMEA is licensed under GPLv3. See LICENSE.txt file for more details.
The source code compiles with Arduino IDE extended by Teensyduino software package. You just have to configure the right Teensy board and to import the required libraries (TeensyTimerTool). If you plan to develop/extend MicronetToNMEA, you probably should use Visual Studio Code associated to PlatformIO plugin. It is way beyond Arduino IDE in term of productivity but is harder to set up.
Check the User Manual for more details.
Supposing you use a Teensy 3.5 board, the SW is configured by default to be connected via SPI bus to a CC1101 IC with the following scheme :
CC1101 Teensy
SI <-- Pin 11 (MOSI0)
SO --> Pin 12 (MISO0)
SCK <-- Pin 14 (SCK0)
CS <-- Pin 10 (CS0)
GD0 --> Pin 24
GND <-> GND
3.3V <-- 3.3V
MicronetToNMEA can also collect sentences from an NMEA GPS/GNSS connected to UART 1 of the board :
GNSS Teensy
TXD --> Pin 0 (RX1)
RXD <-- Pin 1 (TX1)
GND <-> GND
3.3V <-- 3.3V
Nothing is to be done on the SW side wether a GNSS is connected or not. If the GNSS is connected, it must be configured to output a NMEA stream at 9600 baud. I use a Ublox NEO-M8N. Neo-M8N can be configured to output a NMEA stream at this baudrate by using U-Center software from U-Blox or by enabling a dedicated option in BoardConfig.h which will enable automatic configuration.
MicronetToNMEA can use a LSM303DLH(C) to provide magnetic heading on both Micronet and NMEA streams :
LSM303DLH(C) Teensy
SCL <-- Pin 37 (SCL1)
SDA <-> Pin 38 (SDA1)
GND <-> GND
3.3V <-- 3.3V
Both LSM303DLH and LSM303DLHC can be used. MicronetToNMEA will automatically recognize it and select the appropriate driver.
If you want to use a different MCU board and/or pinout, you have to edit the related definitions at the beginning of BoardConfig.h file. User Manual explains every configuration item.
Power up your Teensy board through USB. Use a terminal software like Tera Term to reach the menu on the serial console. Baudrate is meaningless on a USB bridge.
Power up your Micronet network.
The first thing to do is to calibrate the RF frequency to ensure a good range performance of the system : enter menu "Calibrate RF frequency" and follow instructions. At the end of operations, save the calibration when asked.
Now, you need to attach MicronetToNMEA to your Micronet network, for this, you have to scan existing networks (menu "Scan Micronet networks"). It will list all the detected networks in your vincinity (20-30m range max), in decreasing order of reception power. Yours is very likely at the top. Write down the identifier of your network and attach MicronetToNMEA to it with menu "Attach converter to a network".
You are now ready to convert your Micronet data to NMEA0183 with menu "Start NMEA conversion".
That's it !
Some tips :
If you want more details on how to set-up and configure MicronetToNMEA, there is now a User Manual in the doc directory.