Introduction: Mapping the Depths
The motivation for this build grew out of the fun I was having trying various carvings on my new CNC machine. I was able to get depth maps of Lake Tahoe and San Francisco Bay from the internet. I worked with them so they’d be right for CNC carving and they came out nicely. But close to my house there is a lake/reservoir for which I could not find any depth information (Lake Chabot in Castro Valley, CA). I wanted to do a carving of its depths.
The only solution: measure the depths myself, create my own contour map, and change it to grayscale for carving. Here is how I went about it.
Step 1: The Boat
The Boat
For gathering data points I would need to navigate all over the lake, logging depth and latitude and longitude. My initial approach was to build a robot boat which would navigate over a planned route and then come back to the dock. I had a lot of trouble getting it to steer straight, and it was very sensitive to the wind. In addition, it seemed to always leak. I eventually abandoned that idea in lieu of a small craft which could be towed behind a rental boat.
After the ill fated “robot boat”, the drag-behind boat was simple. I used a small boogie board, drilling a big hole for the depth sounder and attaching a Tupperware container on top for the electronics. This boat was much simpler than its predecessor and only a subset of the electronic components were needed.
Electronics and Electrics
- · Depth sounder (Airmar DT800 NMEA – produces NMEA depth sentences in RS458 signal protocol)
- · Pixhawk flight controller (configured for surface boat)
- · RS458 to TTL (serial) adaptor)
- · Power module (measures volts and amps) – not really needed
- · GPS/Compass (external) – compass no longer necessary
- · Beeper and voltage meter
- · 5A 12v automotive Lighted switch
- · Terminal blocks for 12v + and –
- · 3300 mah lipo battery (more than enough for electronics only)
Software
- · Mission Planner PC software
- · ArduRover (ArduBoat) Navigation firmware
- · Excel
- · Google My Maps
- · Google Earth
- · Photoshop
Step 2: Gathering the Data
Lake Chabot is shaped roughly like a Vee, with the upper right arm being a very shallow area, often filled with reeds. If I tried to carve the whole lake, dry land would overwhelm the carved portion. So I decided to omit much of the upper right, turn the map 45 degrees and concentrate on the interesting portions.
My initial plan was made for the robot boat, but it formed the overall strategy for navigating the rental boat. It took a 2 ½ hour session to gather most of the data, and another ¾ hour session a few days later to gather the rest. I retrieved the DPTH data in CSV (comma delimited) format from the on-board log using Mission Planner and found I had over 16,000 data points. Now what?
Per comment from LukeB81 I've added raw data as CSV files. Note that Zero depth readings at the beginnings and ends of the voyages have been deleted. Also, my voyage paths were not totally comprehensive as one will find if locations are charted (i.e. Not every part of the lake was traversed.)
Attachments
Step 3: Massaging the Data
My initial hope was to use specialized software like Golden Software Surfer to draw the contours. It seemed like very capable software, but after trying all combinations and variations I still couldn’t get it to work for me. So the next plan was to draw the contours manually. But what to do with all that data. The depth sounder takes a reading every second. The resultant file of over 10,000 valid data points is way too many for any manual activity.
So I used Excel to winnow the data points down to fewer than 300. This left plenty for mapping purposes. Depth data was in Meters so I created an Excel column that showed Feet. I brought the slimmed down CSV file into Google My Maps and it showed the data points on the map. When you click or hover over each point, the depth shows.
I printed out a large version of the “Google My Maps” map, taping together 12 pieces of letter sized paper. But enlarging the map also enlarged the data points, making them overlap and obscure each other. The next approach was to export the data from Google My Maps in KMZ (Google Earth) format. I printed out another large map using Google Earth and the data points stayed a manageable size.
The next step was to use the PC to hover over each data point and write the depth (in feet) on the large paper map. It didn’t take too long and it began to show the status of the lake. The lake was formed by a damming a valley over 100 years ago. It was remarkable how flat the bottom was. Years of silt had filled in any trace of a valley. The only trace of original topography was the very steep portions next to shore. This is Not a lake for wading.
Step 4: Science Stops and Art Begins
The deepest parts were just over 50 feet, so I decided that 10 foot intervals would make a manageable number of contours. I started with the deepest, drawing a contour to contain the 50 and over data points. Then contours to contain the data points in the 40s, 30s and so on. There was a certain amount of interpolation, interpretation, and guessing involved in this part. But I think the result is fairly accurate and based on real measurements. Now I had contours drawn on a very busy satellite view map.
I turned over the paper map and by happy surprise, the Sharpie marker I used to draw contours had bled through showing the contours nicely on the white back side. Cool! I had planned on using tracing paper to make a map suitable for photography, but that wasn’t necessary. After connecting a few broken lines (where it was taped) I took a picture of the back side of the map and brought it into Photoshop.
This part was a bit tedious. In Photoshop, I used the Paintbucket tool to fill in contours, starting with black for the deepest, and with lightening shades of gray for successive shallower depths. I also used the Brush and Pencil tool to clean up portions where the Paintbucket result was not complete. The contour lines themselves had to be one of the shades of gray. In the end, I had a grayscale map ready for carving.
Step 5: Carving Results
The CAM software I use is Vectric Aspire. The hows and whys of how one goes from grayscale image to G code for CNC don't fall in the scope of this Instructable. Suffice it to say that the software plots each shade of gray to be carved at a different depth. I added text to show major landmarks on the lake.
My first carving was on plywood and my notion was to paint each depth a different color. It came out rather funky in my opinion and took way too much work to mess with the paints. The next carving was on a log. Please see CNC Log Carving for my Instructable on this. It came out pretty well. I also did a carving on acrylic. The acrylic sits on a walnut base which is lit from the bottom.

Runner Up in the
Maps Challenge
16 Comments
3 years ago
Cool. I wonder if scientists or OpenStreetMap people could use this data? Do you have a data dump file online?
Reply 3 years ago
Not online yet. But good idea. I'll update the Instructable to add raw data. Thanks.
Reply 3 years ago
A scientist would require some details that you haven't mentioned (because this is art). What about calibration of the sensor and temperature measurements of the water at many depths at each measurement point? This is all pertinent for an accurate scientific survey, but certainly doesn't take away from the art.
Actually, you could have just drawn some lines on the map at various depths to get a very similar piece of art. You are due a commendation for getting the real world details to base this artwork on. +1
Reply 3 years ago
This is what I was thinking as well
3 years ago
This is amazing!! I would love to talk to you more about this project!!
Reply 3 years ago
If you have any intention of mapping your own lake and would like to use my drag-behind boat, I'd be willing to part with it for a nominal price. I have no further use for it. You'd have to install Mission Planner on a PC, which is a whole world of discovery itself.
Reply 3 years ago
I umm already do hydrographic surveys for a living. So this is really fun to see that you just naturally did all the same things we do proffesinally. Few things I would add in to improve it if you want to email back and forth. Would increase data accuracy.
3 years ago
Yeah, great job! It will be amazing a separate Instructable for the boat, sensor and electronics too.
Reply 3 years ago
According to eBay, sensor's price is about US$300 or more. Is it right?
Reply 3 years ago
I got mine used on ebay for much less. The depth sensor is "boat stuff" which is always expensive.
Reply 3 years ago
Thank for the advise. I'll search one used too!
3 years ago
Brilliant. Obsessive. Lovely. Thank you for sharing.
3 years ago
While that is a pretty small lake, gathering the data must have involved quite a few miles of cruising. I hope you were dragging a line & got a couple of fish.
Question 3 years ago
Great job!! do you have the Instructable for the boat ?
Tks
3 years ago
I agree! It´s a very cool project !! Science + art rocks !!! I wish we can see how are you planning to display the final project in your living room, a cabin, cottage or anywhere else.
Reply 3 years ago
I wish I could see it too. I donated it to the bait shop/cafe at Lake Chabot. They were going to hang it on the wall when the pandemic hit and they closed up. Last I saw through the window it was sitting on their counter.