Create custom vector maps

I want to document some of my travels in a better manner. After looking around for a few map design inspirations, I came across the following example from a trek across Iceland.

0_0

I spent a quite a bit of time over 3-4 days before I found a solution. I was able to create custom maps within Google Maps, Google Earth, and Open Street Maps but they all had issues. I did not like the busy look of all base maps and the Google services don’t export custom maps in a vector format. Open Street Maps can export vector maps but the my requested area was too large.  I tried a few JavaScript libraries as well but they all use the above mentioned services for map tiles and I wanted an independent file on my local machine.

So, I decided to create a map myself. I downloaded the following .SVG map of Scotland from Wikimedia.

0_1

Using Inkscape, I deleted other countries, external water bodies, and remote islands. I thought about a unified border color but I ended up really liking the representation of water versus land boundaries.

0_2

Looking better already! Now, I did not want to sit down and manually trace my journey. Since this file doesn’t contain any geographical information, my best bet was to somehow get my path in a vector format and manipulate it into the same scale, plane, etc., as map above.

I started by recreating the trip in Google maps engine. The train and bus journeys were easy to plot – it’s just like looking up directions in Google maps. Plotting a hike was a little bit more complex since I did not record my GPS location. I was lucky to find a .KML file from a better prepared hiker through a Google search and imported it into Google maps engine without any issues. I exported the .KML file when I was done.

2

The file was saved as a zipped .KML (.KMZ ) file so I used Google Earth to save it as a .KML. This is starting to sound like an ad for Google. I swear I am not a shill – Ask Jeeves is a much better search engine, see!

3

The .KML file was processed into an .SVG using my new best friend, Indie Mapper.

4

Since I only cared about the lines, I deleted the description and points using the menu on the left. Remember kids, always, and I mean always, read documentation. I spent a whole day scaling, rotating, skewing, bargaining, manipulating nodes, punching walls, trying to match the path output to the map from above. If I had simply read on the Wikimedia page, that the map had a Equirectangular projection and was scaled 170% in the N/S direction, I wouldn’t be writing this at 4AM in the morning. You can change the projection within Indie Mapper. Scaling was easily done in Inkscape later.

5

Export the file as a .SVG.

6

Yay! on three everyone yell, Compatible! Compatible! Compatible! Make sure you are alone.

Upon path import, the first step was to scale the height only by 170% to match the map’s relative coordinates. Then, the height and width were scaled proportionally till they “looked right.” I compared the relative location of the path to ocean and lakes (I really should say “Lochs”) in Inkscape versus Google maps so make sure everything looked right. Since I had the right relative dimensions, it only look a couple of minutes and Voila!

7

I manually colored the hike in green and motorized travel in red. If I decide to laser cut this file, I’ll vector “burn” the border and water bodies on lower power versus the path. I’ll keep playing around with the design and maybe add day hikes as well but I am happy with the results for now!

 

Rainbow Lamp

A student from a local university reached out to us earlier this year to create a light based object for a class project. I volunteered to help her and after many iterations, we decided to build a diffused RGB Lamp.

The finger-jointed acrylic body was designed using makercase.com and laser cut.

Rainbow_Lamp_Acrylic

I used the addressable RGB LED strip from Adafruit, called Neopixels, to provide the lighting effects.  The LED strip was wrapped around a PVC pipe in a spiral so it could provide light on all four (4) sides. The spiral spacing gets tighter near the top to either to vary the lamp density for a cool effect or I got lazy since this was done at 1AM on a Monday morning – I’ll let you decide.

Rainbow_Lamp_NeoPixel

A Teensy 3.1 controls the strip using the Adafruit Neopixel library. Two (2) sets of three (3) rechargable NiMH batteries were used. At full charge, a bank provided 3.82 Volts. While the micro controller was running happily, the LEDs were noticeably dim. While the vellum paper diffused the lights effectively, the distance to the acrylic was relatively small, so brighter LEDs would have decreased the desired gradient effect anyway.

Rainbow_Lamp_Teensy

We cut the vinyl logo and border using a Silhouette CAMEO. The final design had to be mirrored since it would be adhered to the inside of the acrylic case using transfer paper. The text on the top did not cut very well so we’ll re-cut that bit with more optimized fonts. After seeing the results, I think I’ll create a lamp for myself as well.

paneltest-01

 

Douglas – Update 3

All previous updates can be found here

As I mentioned last week, the project to build a dynamic scuplture using 480 balls is now called Douglas. What does Douglas stand for, you ask? It is Dynamic Objects Under Gravity Linearly Accelerating in Space. It took 2 minutes to define what the acronym means – perhaps we should have taken longer. Yes, in true Milwaukee Makerspace fashion, we found an acronym first, and then found a definition for it. In addition to this huge accomplishment, we made some other progress too!

Chris sent the slave controller boards pictured below to OSHPark for fabrication. Six (6) boards were ordered as a proof of concept. They should be here by the 30th.

 

board

 

I made a bending jig to get more repeatable acrylic motor mounts pictured in the last update. It’s made out of two 1/2 inch pieces of mdf connected together with a hinge. The two adjustable screws determine the bending angle. Currently, they are set for 90 degrees. But bent acrylic usually “snaps back” as it cools, so it will have to be bent more that the desired final angle. Further experimentation will yield that angle and the adjustable screws will serve as stops for the mdf board. In the picture below, you can see parallel pencil lines indicating depth of the bent “arm” of the mount. The acrylic will butt up again a fence to be placed along one of those lines.

 

IMG_0803

IMG_0802

 

One of the goals of this project is to get kids interested in making by actually building parts of installation. This past Thursday, kids actually cut, stripped, and crimped connectors for RJ11 cables! These four (4) conductor “telephone” cables will be used to communicate between the control boards. I hope to have pictures of this awesome event in the next update.

Awesomeness in the Making – it’s the Holiday Make-A-Thon

holidayMakeathonBanner

Since 2010 Milwaukee Makerspace has partnered with Bucketworks to host a Holiday Make-A-Thon on the Friday following Thanksgiving. What do we do at the Make-A-Thon? We make things of course, but more importantly we make things for the holidays and help children of all ages make holiday items for gifts, decorations or donations.

Typically this event was held at Bucketworks. In 2013 Bucketworks was moving into their new space so the event was held at the Milwaukee Makerspace in Bayview.

The question for 2014 is “where are we going to hold the Holiday Make-A-Thon” or is it Make-A-Thons?

The answer is we can have multiple Make-A-Thons at different locations, hosted by different groups on the same day.

Please join us for the Holiday Make-A-Thon happening at the Milwaukee Makerspace and the Mini Make-A-Thon happening at UberDork Cafe on Friday November 28th, 2014 from 1:00pm to 6:00pm.

This event is competely free and we ask for donations to help cover the cost of materials.

Activities
Some of these are tentative and will rely on people to volunteer to make them happen!

  • Decorate a laser-cut ornament
  • Design a laser-cut ornament
  • Learn to solder a tie-pin
  • Design & 3D print a cookie cutter
  • Make a necklace / bracelet
  • Make a rose pin
  • Decorate your own gift wrapping paper
  • Fold a paper diamond ornament
  • Make a woodcut print

Refreshments
Want to bring something delicious to share? Please do!

  • Cookies
  • Pie
  • Leftovers!

Dynamic Sculpture – Update 2

The first update can be found here.

The dynamic sculpture is affectionately called “Douglas” till we come up with a better name. Lance, Chris, and I have been working on different pieces of the project concurrently.

Chris has been designing the slave controller PCB. Each PCB will have a PIC micro controller, which will drive (2) stepper motor through a ULN2803 chip. The PIC controllers will communicate to a  chipKIT™ WiFire over SPI. The WiFire has built in SD Card and WiFi. Since Douglas will be hung in an atrium, this allows us to send new animations wirelessly to a SD Card.

Lance has been working on the PIC firmware and the communication protocol. The firmware interprets the “G-Code” like commands and drives each stepper at the specified acceleration and velocity.

I have been designing the motor mount and frame in Inventor. A few pics below.

mount_1 mount_2 mount_3

The bent acrylic mount will be mounted on aluminum extrusions. The limit switch has been integrated into the mount as well. I built the first prototype a couple of days ago.

IMG_0788

Next, I will create a bending jig to replicate the mount accurately. Additionally, we will be doing some measurements to figure out power consumption. Currently, it looks like we will need two dedicated 120V, 20 amps circuits. We would like to do some real world combined power consumption tests to see if we can lower that requirement.

Dynamic Sculpture – Update 1

I am collaborating with the Betty Brinn Children’s museum to create something similar to this.

This sculpture has 844 balls hanging from strings wound around a pulley on a DC motor shaft. Ours will feature somewhere between 320 to 500 balls. I am currently working on a prototype to test and qualify different electronic and control platforms. It’s made out of 40mm x 40mm aluminum extrusion, laser cut wood motor mounts, 5V steppers, and ULN2003 based stepper drivers. I have been using an Arduino mega for now to test the motor and drivers.

IMG_0708

IMG_0709

The next step is to write software to create “voxels” with instructions akin to G-code. Additional software will be necessary to simulate the animation. G-code like instructions will be used by microcontrollers to control steppers in order to create an animation.

Maker Faire Milwaukee Recap

If you haven’t heard, we co-hosted the Maker Faire Milwaukee last weekend. Over 26,000 people attended the inaugural event at the Expostition Hall at State Fair Park! Here’s a few highlights from the event.

Karen with her spinning wheel

Karen with her spinning wheel

test

Tesla Coils

UFO

UFO

B9 Robot

B9 Robot

Harem's Race Car

Hiram’s Race Car

Nerdy Derby

Nerdy Derby

Megamax 3D printer and it's proud Dad

MegaMax 3D printer and its proud Dad

Ben Nelson's Electric Motorcycle

Ben Nelson’s Electric Motorcycle

Nerdy Derby Construction Area

Nerdy Derby Construction Area

Milwaukee Makerspace Booth

Milwaukee Makerspace Booth

Brant's scale model of the Milwaukee Makerspace!

Brant’s scale model of the Milwaukee Makerspace!

Argyle Pattern Cutting Board

My latest cutting board is a based on a design I saw online.  It’s built around an argyle pattern that is often found on sweaters.

The first step is to glue a 1.5″ x 1.5″ pieces of poplar and red oak together in a 2 x 2 grid pattern. Additionally, one(1) red oak and two(2) poplar pieces are glues in a “L” shape. Each assembly is about 10″ long. Then, each assembly is sliced into 3/4″ pieces on the table saw or the chop saw. We need eight(8) of the 2×2 pieces and ten “L” shaped ones. The picture below shows the final intended layout.

11333941746_c7f285dcf9

In the next step, the hard maple borders are added. The following picture shows some of the earliest glue-ups.

11333924056_aa42343066

Then, the edges are trimmed and walnut is added to the outside. I chose to use a CNC router to flatten the cutting board surface.

11520122183_4211243a3a

I soaked the  board in mineral oil for 24 hours and finished with some butcher block conditioner and voila!

11520002395_08f7b29f08_b

IBC Tote Aquaponics

About 3 months ago, in caffeine fueled bravado, two of my friends and I decided to try to build an aquaponics farm in Botswana, a country in Southern Africa. After a lot of reading, field trips to a few impressive facilities, and a trip to Africa, where we secured a partnership with a local institution, we wisely decided to build a system locally first.

Aquaponics is a mixture of hydroponics (soil-less agriculture) and fish aquaculture (hence the cat’s laser-like focus). It is a symbiotic process, where the fish’s organic waste fertilizes the plants, and in return are supplied with filtered water. The only system input is fish food.

The two (2) black plastic boxes pictured above used to be one (1) 330 gallon IBC tote, which are usually used to store and transport fluid and other bulk materials. We cut the container about cut about two-thirds of the way up. The larger bottom tank holds 40 yellow perch for now – it can support about 80-90 fish. Water from the fish tank is pumped through the black pipe in 10 minute on/off cycles to the grow bed above. An Arduino housed in the blue box to the right controls the pump and also monitors water temperature. We plan on adding sensors to monitor the water chemistry (pH, nitrates, etc.) in the future.

The grow bed is media based. In other words, we use a mixture of rocks and expanded clay (the red stuff) to support the plant’s roots and act as a bio-filter to filter the water and convert fish waste (ammonia and nitrites) into plant food (nitrates).  The filtered water falls back to fish tank through the PVC pipe (there are several small holes under the rock), which introduces oxygen via percolation and completes the mostly closed-looped cycle. A set of six (6) full spectrum T5 lamps provide the artificial light. The first crop of tomatoes, radishes, pepper, lettuce, and some wicked cucumbers is sprouting in the plastic containers and should be planted within the media within a day or two. We are expecting the first harvest in 4-6 months.

So now that we are seasoned farmers, we have launched a campaign to build a larger, floating-raft system in Botswana at a local institute of agriculture. We are currently in the fund raising phase on indiegogo. If everything falls into place, we will start construction in late summer (winter over there) of next year.

Pictured below is the reason we are pursuing this project. It hasn’t rained there since 2009. Combine that with the poor soil and the country has to import almost 100% of its vegetables and most fruits. We are hoping that water and energy efficient aquaponics based farming that produces hormone and chemical fertilizer free fish and plants is the answer.