Matthew Petroff Mon, 30 Jun 2014 15:53:21 +0000 en-US hourly 1 NavSpark / XBee Adapter Mon, 30 Jun 2014 15:53:21 +0000 Continue reading ]]> As I wrote last month, I recently got a set of NavSpark NS-RAW receivers. These can be used as a RTK GPS receiver system, but some sort of data link is needed. For shorter distances, XBee modules work well. Since I needed a convenient method for connecting the two devices together, both for the base station and the rover, I created an adapter board.

Front of NavSpark / XBee Adapter

The schematic, KiCad design files, and Gerber files are all released under the Creative Commons Attribution license. For the base station, the board is assembled with the headers, C17, C18, C20, and U5 installed; additionally, the solder jumper is bridged, and pins 23 and 24 of the NavSpark header are bridged. The device is then powered through the NavSpark’s USB port. For the rover, all the components are installed, but the solder jumper isn’t used, and no pins are bridged. The device is then powered through the adapter board’s USB port, and both serial data streams are connected through the FTDI FT2232H chip. This way, only one connection is needed to the rover computer. For convienence, here is a Mouser part list.

Back of NavSpark / XBee Adapter

]]> 0
NavSpark versus NS-RAW Sat, 31 May 2014 02:44:01 +0000 Continue reading ]]> Today I received the NavSpark and two NS-RAW GPS receivers I preordered from SkyTraq back in January. The NavSpark is a programmable SPARC-based GPS receiver, while the NS-RAW is one of the cheapest GPS receivers available with raw measurement output for RTK positioning. In recent months, it became clear that the two receivers would be virtually identical hardware-wise, just with different firmware.

On receiving the boards, the first thing I did was look for the differences. The most obvious difference is that the NavSpark has version 1.4 of the PCB, while the NS-RAW is built using version 1.3. The only difference I could find between the revisions is that version 1.3 left out the pull-up resistor on the SDA I2C line. SkyTraq seems to have used the flawed boards for the NS-RAW since it is not supposed to be programmable and thus won’t make use of I2C. This extra resistor can be seen below; version 1.3 is on the left, while version 1.4 is on the right.

Version 1.3 (left) versus 1.4 (right)

I can also identify one, possibly two component differences between the two boards. The boards have different TCXOs; my guess is the one on the NS-RAW is more accurate, but I haven’t been able to determine the part numbers or find datasheets. The SAW filters might also be different, but I’m not certain. The one on the NavSpark is marked JF3, while the one on the NS-RAW is marked JF2. They might be different parts, but the markings could also just be different date or batch codes on the same part. The different TCXOs can be seen in the lower-left in the image below, while the SAW filters can be seen at the top, just right of center; the NavSpark is on the left, while the NS-RAW is on the right.

NavSpark (left) versus NS-RAW (right)

Lastly, there may also be differences in the values of some of the passive components, but that cannot be gleaned from visual inspection.

From a software perspective, the NavSpark is designed to be programmed, while the NS-RAW is not, but it also outputs raw measurement data. I suspect one could probably program the NS-RAW with a file for the NavSpark, but I don’t want to try it without a copy of the NS-RAW firmware to put back. However, since both boards have the same Vensus822 chip, the NavSpark is capable of raw measurements as well, albeit likely at lower quality due to the different crystal. One would either need a copy of the NS-RAW firmware to flash or need to reverse engineer the ASIC’s carrier-phase interface and the provided GPS library’s pseudorange interface.

On the topic of the provided GPS library, some interesting information can be gleaned from running the strings command on the library, namely the filenames of all the C source files used to compile it. In my opinion, the most interesting are the existence of files that reference raw measurement output and differential GPS. Unfortunately on disassembly, the corresponding object files proved empty. The contents are probably surrounded with #ifdef and #endif statements that were not enabled when compiling the library, explaining why the files are there but the code is not. The complete list of C files is below.

]]> 0
CHDK on the Canon PowerShot ELPH 330 HS Mon, 28 Apr 2014 04:03:09 +0000 Continue reading ]]> I recently purchased a Canon PowerShot ELPH 330 HS point and shoot camera to replace my aging Canon PowerShot SD770 IS. The new camera has better sensitivity, a considerably wider field of view that will help with aerial photography, and more zoom. However, it did not have CHDK available for it, which I was aware of at the time of purchase. The first thing I did on receipt of the camera was begin porting CHDK to it. A few weeks later, the port was mostly done, and it was recently merged into the trunk.

Canon PowerShot ELPH 330 HS with CHDK

]]> 2
Quadcopter Landing Skids Fri, 07 Mar 2014 02:21:24 +0000 Continue reading ]]> One of my quadcopters recently had a hard landing that broke its landing skids. The skids that came with the frame kit consisted of 5mm carbon rods with flimsy plastic joints, and the crash broke both. I decided to replace the skids with a more durable pair by replacing the carbon rods with aluminum and the plastic joints with sturdier 3D-printed ones.

Landing Skid Joint

Once on the quadcopter, the new landing skids had similar give, but since they’re aluminum instead of carbon fiber, they should bend much more before breaking.

Quadcopter with New Skids

Update: The aluminum bends pretty easily, bending even if the landing isn’t that hard. Fortunately, it’s very easy to bend back and can survive a much harder landing than the original carbon rods.

]]> 0
Snowy JHU Aerial Photos Sat, 15 Feb 2014 00:03:40 +0000 These photos were taken at Johns Hopkins’ Homewood Campus from a quadcopter the day after a snow storm.

MSE Library

The BeachGilman HallKeyser Quad

The full set is on Flickr.

]]> 0