Q: NS-RAW and NavSpark look alike, NavSpark-BD and NavSpark-GL look alike. How to tell which is which?
A: NavSpark has blue sticker, NS-RAW has a green sticker, NavSpark-GL has pink sticker, and NavSpark-BD has red sticker.
Q: Why is my NavSpark-mini default ROM baud rate is at 9600 and not 115200?
A: Connect GPIO 4 and GPIO5 each with a 4.7K resistor to VCC33. If you are not using I2C functions or do not have any resistors, can simply connect GPIO4 and GPIO5 to VCC33. It takes effect after power on.
Q: Why would I choose NavSpark-GL or NavSpark-BD instead of GPS-only NavSpark?
A: In an urban canyon or a heavy signal attenuation environment, a dual-satellite navigation receiver may give better accuracy with more satellite measurements available. Outside Asia, one will see more GLONASS signal than Beidou signals, since the latter is not yet fully deployed yet. So NavSpark-GL may perform better than NavSpark-BD under adverse condition in North America. Under open sky with good satellite visibility and enough satellites over all time, GPS/GLONASS or GPS/Beidou will not perform much better than GPS alone.
Check out GNSS Radar to show number of satellites available with different satellite navigation systems at different geographic regions.
Q: Can NavSpark-GL and NavSpark-BD be used as NavSpark?
A: Both NavSpark-GL and NavSpark-BD can be used in GPS only mode, to have the same CPU MIPS/memory resource left as GPS-only NavSpark, but the current consumption will not differ very much.
Q: What is operating voltage of NavSpark? Does it support 5V?
A: NavSpark is 3.3V +/-10% type. It has 2 Schottky diodes in parallel, taking input from USB 5V interface and battery input, with outputs going into a 3.3V output LDO regulator to power the circuitry. The I/O is also 3.3V type, does not work with 5V.
Q: What is the current consumption?
A: Current consumption for initial full power signal acquisition and fully tracked navigation for NavSpark, NavSpark-GL, NavSpark-BD is roughly 38/30, 45/40, 45/40 mA at 3.3V using on-chip DC/DC switching regulator.
Q: How many channels is NavSpark, NavSpark-GL, NavSpark-BD and what’s the expected TTFF?
A: Venus 8 is a 167 channel device. Average TTFF under open sky is around 30 seconds. GPS has ephemeris data in sub-frame 1~3 of the 5 cyclic sub-frames that needs to be collected from the signal in order to compute position, sub-frames are 6 seconds each, valid for up to 4 hours once collected. So with GPS best TTFF is 18 ~ 30 seconds assuming instant signal acquisition and depending on starting time of the receiver relative to the 30 second periodic sub-frames; 18 seconds TTFF if started at beginning of sub-frame 1 and able to get fix immediately after collecting last needed sub-frame 3 data (6x3=18); 30 second ~ 18 seconds if receiver is started anywhere between beginning of sub-frame 4 ~ end of sub-frame 5. And if GPS receiver is started anywhere between beginning of sub-frame 1 and end of sub-frame 3, another round over next cyclic 30sec sub-frame period is needed to fully collect the sub-frame 1~3 data, so TTFF is at best 30seconds. GLONASS has different ephemeris duration. With GPS/GLONASS, open sky TTFF can sometimes be 10sec or 30sec; also depending on starting time of the receiver relative to the 30 second periodic sub-frames.
Q: Is WAAS supported?
A: Yes, QZSS and SBAS (WAAS, EGNOS, MSAS, GAGAN) are supported.
Q: What update rate is supported?
A: All NavSpark models support 1 / 2 / 4 / 5 / 8 / 10 Hz update rates. Note that when higher update rate is used, less MIPS will be available for user application.
Q: How much CPU is available for the user application while using NavSpark’s highest 10Hz GPS update rate?
A: GPS has 1msec interrupt. 10Hz navigation routine runs on back ground, compute PVT solution every 100msec. NavSpark Venus 8 RISC/FPU has potential to do max of 50Hz update rate running at top speed, thus expect to have at least 50% throughput for user application when doing 10Hz GPS running at top speed.
Q: Is NS-RAW GPS-only?
A: The NS-RAW module is GPS-only, it cannot be configured to be receive GPS/GLONASS or GPS/Beidou. The NS-RAW module is not user-programmable.
Q: Will NS-RAW output an 1PPS signal?
A: NS-RAW can switch between binary mode that output carrier phase raw measurement data, and NMEA mode. In NMEA mode, PVT solution is computed and 1PPS signal will be generated. In binary mode, PVT solution is not computed and no 1PPS signal will be generated.
Q: Will Mac OSX be supported?
A: The LEON3 Bare-C Cross-Compiler (BCC) from Gaisler Research is only configured for Window and Linux. We weren’t able to get it compile correctly under Mac OS, as some part is not available in source. Thus unfortunately Mac OS Arduino IDE cannot be supported.
Q: Why can’t I upload binary code to NavSpark and get message like “Unable to open /dev/ttyUSB0” on GUI?
A: NavSpark module uses USB port to upload binary code to NavSpark and access to the USB port in Linux platform needs root’s privilege. You may need to login as root to run Arduino or change the permission of device file “/dev/ttyUSB0” to be readable/writeable by command “chmodo+rw /dev/ttyUSB0”.
Q: Why I get “sparc-elf-g++: installation problem, cannot exec `cc1plus’: No such file or directory” when compiling Arduino code on some Vista platforms?
A: There are two ways to resolve this problem, either can be applied.
Add “C:\opt\sparc-elf-3.4.4-mingw\libexec\gcc\sparc-elf\3.4.4” to the PATH system environment variable.
Copy “cc1.exe” and “cc1plus.exe” under directory “C:\opt\sparc-elf-3.4.4-mingw\libexec\gcc\sparc-elf\3.4.4” to the directory “C:\opt\sparc-elf-3.4.4-mingw\bin”.
Q: Why I get “sparc-elf-g++: installation problem, cannot exec `as’: No such file or directory” when compiling Arduino code on some Vista platforms?
A: Add “C:\opt\sparc-elf-3.4.4-mingw\sparc-elf\bin” to the PATH system environment variable.
Q: After uploading example code to my NavSpark-BD, it can no longer catch Beidou signal, firmware revision date became 2013.2.21, and previously it was 2014.4.x. How can I restore back to 2014.4.x?
A: Whenever seeing 2013.2.21 for SW Revision date in GNSS Viewer, it means you are booting/running NavSpark from internal ROM code, which is dated 2013.2.21; you must have shorted BOOT_SEL to GND. The internal ROM code is GPS-only firmware so you won’t see any Beidou signal with NavSpark-BD. With NavSpark-GL, no GPS nor GLONASS signal will be seen when booting/running from ROM code. Booting/running from ROM code is mainly for user to recover from hanged user program, thus not to worry whether ROM code catches signal or not.
To recover to factory shipped firmware state, first get the corresponding shipped firmware from individual NavSpark product page on the NavSpark web store, at bottom of the product page. To download the firmware to NavSpark using GNSS Viewer:
1. Unzip the firmware to a local directory
2. Connect the GNSS Viewer to NavSpark
3. Select the unzipped .bin file using the small “…” button to the right of the Download button
4. Change download baud rate from 460800 to 230400 just to be safe.
5. Click the Download button, first boot-loader will be downloaded, and then main firmware will be downloaded. After downloading is done, the pop-up window will close and NavSpark will reboot.
6. Leave BOO_SEL open, not shorting it to GND, such that program will run from Flash
7. Press and release the reset button and NavSpark should then run from Flash, running the firmware you just loaded. SW Revision date should show 2014.4.x
We recently found that step #6 ~ #7 is not 100% fail safe, occasionally with power applied disconnecting BOOT_SEL from GND and pressing reset the new loaded code doesn’t always run correctly and occasionally QPSI (Fail) shows up on GNSS Viewer; we are still trying to fix this. In step #6, if USB cable is unplugged from PC side to remove power, leave BOOT_SEL open to boot/run from Flash, connect USB cable at PC side to re-apply power, then it’ll always runs correctly from newly loaded Flash code.
Q: When running Windows Arduino IDE, it shows an error message. What to do?
A: This is mostly related to needing 32bit JAVA on 64bit Windows. Uninstall 64bit JAVA and install 32bit JAVA.
Q: What is highest accuracy attainable with NavSpark?
A: Accuracy is related to number of satellites and its orientation, varies through different time of day as satellites has approx. 12hr orbit, different location on earth also see different satellite situations. Thus it’s difficult to say what the best accuracy achievable for end user is. For NavSpark, accuracy under open sky is: 2.5m CEP position accuracy, 0.1m/sec speed accuracy, 10nsec time pulse accuracy.
Q: Will the NavSpark be suitable for high altitude ballooning? How is COCOM limit implemented?
A: Either of 18km altitude or 1000knot speed threshold can be exceeded and it’ll still work. If both simultaneously exceeded then it’ll not give valid results.
Q: As it’s mentioned NavSpark is good for outdoor clock use, does NavSpark supports “position-hold” mode for timing?
A: Signal traveling from GPS satellite to earth is about 70msec. With just one GPS signal with sufficient signal strength to decode the data bits, the GPS receiver can determine time with error less than distance variations between zenith and horizon position if accounting this signal traveling time difference, if not then within 100msec error. For an outdoor clock that only shows hours, minute, second, this within 100msec accuracy time without ever needing to time adjust is pretty good.
NavSpark doesn’t have precision timing mode receiver features of TRAIM, self-survey mode and single-sat precision 1PPS timing generation features.
Q: How is NS-RAW centimeter-level accuracy achieved?
A: NS-RAW acts as a GPS measurement sensor, sending out measurement data to a host computer running RTK software such as open-source RTKLIB. RTKLIB has a utility that converts SkyTraq binary to RINEX. RTKLIB takes correction data from some reference station and takes measurement data from NS-RAW, compute NS-RAW’s location, resolving carrier cycle ambiguity to determine position to fraction of a wavelength; i.e. fraction of 19cm = 3e10/1575.42MHz. Conventional GPS receiver determines position to fraction of a chip (1023 chip in 1millisecond); fraction of 300 meters, so conventional GPS is about 3m accuracy.
For an example of using NS-RAW with RTKLIB, please refer to our Tutorials.