Thursday, January 29, 2015

Netbook2chartplotter Project: The Next Generation

Yeah I know it's kinda lame but it sounds better than the Winpad2Chartplotter Project although that's technicaly more true since I've upgraded to a Lenovo Thinkpad Tablet 2 ($300) running the Big Boy's version of Windows 8.1 Pro. It has a slightly faster but dual core Atom processor giving me roughly twice the computing power of the original, at least double the graphics and has capacitive multitouch along with a Wacom digitizer overlay and pen, a separate power/charge port, a full sized USB port and 64 GB storage/SSD. I added a 32 GB SD card and  I also got the fast charge dock ($100) which has 3 more USB ports and an HDMI out so I can just use a wireless keyboard/mouse and send the video to my 27" 1080p desktop monitor  and it's like working on a desktop computer (albeit a little slower)

I got the Logitech keyboard on sale but I would have gotten it regardless because it will fit right in the existing keyboard tray in the boat and can be held in place with Velcro, has a touchpad built -in and most importantly is part of their Unity line which means the USB receiver can work with any and multiple Unity devices at once. So I started looking for a Unity mouse on sale and a week later Best Buy had one marked down so I have it plus another receiver that will go in my boat (The other is in the dock) Also in the background is a 160 Gb hard drive from the old netbook that I replaced with a 120 Gb SSD drive that I mounted in a box with a USB to SATA converter in it, plugged into the dock and I use that to hold system restore and backup images as well as other data backups. I also got a thick rubber case to help protect and cushion it and it fits perfectly (with minor adjustments) in my Ram Mount system in my boat. The original Netbook2Chartplotter is still chugging along 24/7/365 sending weather and other data to some "Internet of Things" websites like the little applet in the upper right of the page showing the current (every 5 minutes) weather data here in East Davenport.

Finally after over 5 years from  my original conception I was able to find an off the shelf tablet **at a reasonable price*** that would meet my needs without any hardware modifications ..... Except one, an SMA input for an external antenna to simplify calibration by keeping the GPS receive location and the sounder's transducer as close as possible to each other both in back and soon in the front. The internal GPS and antenna is fine for general navigation and rather than modify the Lenovo and install a SMA jack (And it could be done mounted on the back where the space for the non-existent 4G modem) So how about something new, novel and custom .... An Arduino based NMEA multiplexer and SD card logger with built in GPS  and ports to hook up either the main or the front fishfinder so I can log postion and depth to the SD card as well as send it to the computer via USB (And likely Bluetooth too) for mapping. That way if I have a problem with the main computer I'll still be able to collect position and depth data for map making and the rest of the time it will serve as a backup. I also want to add a temperature/humidity and barometric pressure sensors and send that data to the main computer (And hopefully into my new fishing log/database automagically)

On the left sitting on top of the Nexus 7 in the Otterbox protective case (highly recommended for 'rough' outdoor duty) is the Arduino and GPS setup and on the left in the little breadboard is a BMP180 barometric pressure/altitude sensor and a DHT22 temperature and humidity sensor that I have already written the code for, I just have to hack in into multiplexer/logger code when it's finished.

The bottom layer of the stack is an Arduino (clone) Mega 2560 R3, the middle layer is a matching basic prototyping shield and the top is a data logger shield that's actually for the Uno R3 but works on the Mega with minor modifications. It has a 'realtime clock' (RTC) that's a complete piece of junk by all accounts and mine is especially bad gaining a ridiculous 43 seconds per day. I don't need it for this application because the GPS time is infinitely more accurate but unlike many SD card breakout boards it does have a proper level shifter IC which is essential for high speed writing to the SD card. So it's no good for the data logger application I bought it for but it works here and eventually I'll disconnect and disable the clock. So far I have the NMEA multiplexing code done and working so next is parsing the NMEA sentences ($GPGGA, $GPRMC, $SDDPT) I want to log to the SD card and writing to it which is going to be a little trickier

A couple of shots of the old Garmin 300C that will be mounted up front for mapping using the trolling motor. Since it has fixed speed (4800 NMEA standard) and you can't turn off individual unneeded messages I decided to use this to develop with rather than the Lowrance Elite 7x HDI which can change data speeds and you can turn off individual sentences. Besides the power harness for the 300C was already out (the transducer is already attached and laced up though). Here it is running in the demo mode sending data to .......

That little circuit board in the upper left which is a RS-232 to TTL level converter and then to one of the UARTs on the Mega. Below it is a uBlox Neo-6M GPS receiver module  with a SMA 'pigtail' hooked to a GPS antenna sitting on the sill of the basement wall which isn't exactly ideal but gets the job done

Here is the multiplexed GPS and sounder NMEA data in the Arduino's simple serial terminal

Here it is in Dr Depth and no I don't have a hole filled with water 82.8 ft deep in my front yard, however that is what the demo program on the sounder is reading and the location is spot on here

Here it is after 10-15 minutes and you can see the drift caused from the Doppler Shift due to poor antenna location and 2 large trees right out front of my house but this is no different than every other GPS I've used this way. Also I am unable to get WAAS lock which won't be a problem in my boat. Basically in my experience if it works good down here it will be outstanding in my boat.

That's about all for now and since I have a 3D printer kit coming later today I'm probably not going to do much developing on this for the next couple of weeks. Being able to design and print custom enclosures for my projects and make small plastic mechanical parts and mounts is going to be very handy not to mention all the other stuff you can just download and print if it catches your eye.


Anonymous said...

Hello, i am trying something close and i will be glad if you could share the
arduino code you used to log the data on the sd card.
Kind regards

Long John said...

The code can be found on my Git Hub page at