Introduction: Floating World Backlit Moss Map With Arduino Fiber Optic LED Cities

About: --- --- ---

I have this huge 11ft-wide empty wall in my apartment and for the longest time I struggled with ideas of what to put up on it. I've always wanted to cut out a basic world map on the CNC out of wood...but the idea was cemented when I heard about using natural moss. From there, the project snowballed into a rabbit hole of complexity with adding back-lighting and arduino-controlled LED lights passing through through fiber optic filaments acting as the cities (as seen from space at night). While I took a more complex route, this project could be scaled down and made more simply with cardboard and Christmas lights. Thanks for reading and coming along with me for the journey!


Step 1: Choosing Your Map Material/Substrate

You can use pretty much any type of hard surface to make your map from. Anything from plywood (cut on a CNC) to recycled cardboard (cut out with scissors) will work just fine. Keep in mind that the moss used in this particular project is not alive. If you did decide to do a living version (which would be amazing), your substrate would have to support the living moss.

I found a pair of huge closet doors being given away for free on Kijiji (you can also browse Craig's List or other classifieds sites for free stuff in your area). Every morning I take a quick look at the free section just to see if there’s any cool stuff that could be used in future projects.

It looks like these doors are made from Masonite with a white vinyl laminate which will work great for cutting out on the CNC. I removed the metal framing so I could break the doors into smaller sections. They’re too big to bring into the basement so I scored them and broke them up first and then cleaned them up on the table saw.

I ended up with 6 uniformly sized 3.5 ft x 2 ft Masonite panels with dimensions that fill the maximum work area of my CNC machine.

Step 2: Choosing a Map Projection & Preparing for Cutting

There's all kinds of map variations out there to choose from. Because the earth is an oblate spheroid shape, any 2D representation of the planet will be distorted. These distorted representations are called projections. There are some really cool and interesting projections out there so do a quick google search and find a good one!

I ended up going with the classic Mercator Projection... It’s the most widely used and recognizable world map and should be suitable for this kind of art project.

I chose a black and white version that I found online, and then simplified it by filling in the small bodies of water and connecting islands so that the continents would be easier to cut out on the CNC.

Now for this project, I had the crazy idea of adding city lights as seen from space, but I couldn’t find a vector graphic that represented the light dispersion on earth.

I came across an awesome Nasa-generated image, converted it to black and white and then increased the contrast. This made the lights a bit more pronounced. I then inverted the image and made it into a vector that I could then overlay onto my version of the Mercator map.

The next step was a bit intense. I manually laid out a circle dot pattern by estimating where the most concentrated cities are.

You can imagine this took a little while :) You’ll be able download all these files for free from a link in the video description. Don’t forget to subscribe on YouTube!

The smaller green dots represent a smaller diameter drill for the CNC cutting paths. Lastly I chopped up the map and created 4 main sections that correspond to the 3.5 ft x 2 ft masonite boards that we cut up earlier from the closet doors.

You can download the files used in the project by clicking here.

Step 3: Cutting Out the Map (CNC Cutting)

Once all of the vector graphics were prepared, I cut out the panels on my CNC machine. The benefit to the CNC is not just the precision cutting, but also not having to drill all those light holes by hand. :)

Once the cuts were completed, I manually removed the land masses from the 'tabs' holding them in place.

Many of the continents were cut in half to fit more optimally on the various panels. I designed those particular continents with mating "teeth" that will allow me to reassemble them like puzzle pieces.

Step 4: Reassembling & Repairing the Land Masses

Since many parts of the map are thin (islands, peninsulas, land bridges) and Masonite can be particularly weak at thin parts, many of the pieces broke during cutting.

I decided to reassemble and reinforce those thinner areas with coat hangers, epoxy, and hot glue.

Step 5: Finding Your Moss

In this particular project we are using preserved natural moss (not living). However that shouldn't stop you from make a living version! If you can source living moss from a forest or try your hand at painting the continents with "moss graffiti", that would be really cool too. The only issue with living moss is I think you would need a reasonably consistent climate/environment to sustain the moss.

I found several sources of preserved moss, ranging from Walmart, craft stores, dollar stores, to online.

I got lucky and found this product called a "moss mat" which is basically a carpet of moss that comes in a roll. I got one of these mats and used it as a base layer of green for the greener land masses.

The white lichen moss packs were awesome for the snow-covered land masses since they look like snowy mountains.

Step 6: Gluing Down Your Moss Base Layer

I started by gluing down the moss mat in sections where the land masses were predominantly green. I used Gorilla glue to attached this base layer of moss mat. This gives the map a good background fill of green and we will fill in the blank parts and color-match after this dries.

Once the glue was dried, I used an x-acto knife to cut away the excess moss "flashing" around the borders of the continents.

Step 7: Filling in the Moss & Color Matching

Filling in the moss colors was a bit of a chore but it was also fun and satisfying. I made little easily-accessible bunches of the different moss colors to act as my palette of colors.

Since I only have limited shades of green, I created a simplified version of a colored world map so I could see a more distinctive color separation between the greens and browns. I had the image open on my laptop to use as a reference as I added the moss bunch by bunch.

I mostly used hot glue for this step because it dries fast and binds well to the moss. Little particles of moss and dust that breaks off is good at hiding the sheen of the glue.

Step 8: Creating the Light Tubes

Now that the moss is mostly laid down, it's time to work on the lights!

I thought of a few ways to do this; using Christmas lights, string lights, fairy lights, and even just shining light through the CNC-cut holes.

The most realistic effect seemed to come from using fiber optic filaments that poke through the backs of the continents. Each light filament is like a high resolution 'pixel' of light and gives that nice scaled back illusion of seeing the lights from space.

If you look off into the distance of any skyline, you'll see multicolored lights from all of the different human activities.To try and achieve this look, I decided to use some cardboard tubes and place 2x 12v LED light modules in each tube. I chose two different LED light colors: warm yellow light and cold white light. This will add some variation to the lights and add a bit more realism.

Once the tubes had slits cut into them, I hot-glued the lights in place and wired them together. I added a metal mesh screen over each end of the tube and secured the screen with tie wraps. This screen is where we will insert our fiber optic filaments.

Step 9: Fiber Optic Light Filaments

I found some fiber optic decorative table lamps at the dollar store. These lamps are a bit tacky on their own but we're only interested in the filaments, not the RGB light table base. I also found some coiled up filament (a bit thicker gauge) on Amazon.

The great thing about the metal mesh on the tubes is that it 'grabs' on to the plastic filaments nicely, making it easier to insert the strands.

A total of 10 tubes were made to hold about 20 different light sources.

Step 10: Building the Electronics & Setting Up Arduino

Going back to the skyline comparison, if you ever look into the distance at city, the differently colored lights seem to flicker subtly. I wanted try and recreate this subtle flicker to add a dynamic element to the map.

Instead of just directly powering the LEDs from the 12v power source, I decided to control each individual light source source with an Arduino Uno and a bunch of N-Channel Mosfet Transistors.

The N-Channel Mosfets are basically digital "switches" that the Arduinomicrocontroller can send signals to allow current to the lights. The rate of digitally switching the lights on and off rapidly can create the illusion of a glowing effect.

I quickly built a custom board with all of the mosfets and connected each one to a pin on the Arduino with a Dupont ribbon cable.

I used a metal picture frame as the "project box" to house the electronic components behind the Europe continent on the wall.

The code on the Arduino tells each light to flicker randomly and at different time frequencies. I used the Arduinorandom() numbers function. This makes it so that every time you look at the map, the lights will be in an ever-changing random configuration and look slightly different every time.

You can click here to download the Arduino code.

Step 11: Wall Mounting & Wiring

To mount each continent, I used french cleat style "Eagle Clips". These french cleats are great because once you find your final leveled position you don't need to level it again.

To supply wall power to the map, I fished a cable through the base board, behind the dry wall and out where the main project box is. Everything shown on the wall will be hidden behind the map.

I made sure to include a 2-amp car fuse in series with the circuit. These little fuse holders are usually used for cars and will save your electronics from burning out out if there is ever a short in the circuit.

I had to open up a pretty big section of the wall to fish more cables through from Europe to Greenland. Patched it up, painted over, and good as new. Don't tell my landlord! ;-)

The main power plugs into an RF remote controlled socket so the map can be turned on with a remote button press.

Step 12: Stringing the Fiber Optic Light Filaments

This was by far the most time consuming step! There are 1000s of strands that all need to be manually threaded through continents.

A total of 10 light tubes were prepared for controlling with the Arduino.

Each tube was drilled on the the backsides of each continent. Depending on the size of the continent, the number of tubes on the back varied from 1 light source (Australia) to 4 light sources (Europe).

The more light sources, the more variability and randomized light patterns are generated on that land mass.

Sometimes I added in additional single LEDs to reach remote areas of the contents (like a few single bulbs placed in central America). This allowed me to not have to string the filament too far to the tubes located higher up.

It sometimes sped things up to grab random bunches of pre-threaded filaments, then insert many filaments to the tubes simultaneously.

This process took a few weeks of working off and on in my spare time. :)

Step 13: Securing the Lights & Covering Up the Backs

To secure the fiber optic light filaments in place and to keep them from slipping out, I used Elmer's white glue (PVA) and poured it into all of the light tubes and light holes. When dry, the filaments are stuck in place and are less likely to get pulled out when being handled.

To hide the filaments and stop the randomized glow from bleeding out around the edges and making the map distracting, I covered up the back side lights with duct tape and brown paper.

I hot-glued the brown paper around the back edges and ripped it off, giving the illusion of earth/rock underneath the earth's crust - almost resembling floating Avatar islands.

Step 14: Giving Your Map a Haircut

This part was kind of fun snipping off all the excess filaments from the front of the map, making the lights flush with the land.. Who knew there would ever be a reason to manicure your fiber optic filament hairs?

Step 15: Adding the 12v LED String Backlighting

Since we already have wiring going through the continents, I figured I might as well add wiring for optional LED strip light backlighting.

The backlighting will make the decorative map art piece into an actually useful ambient indoor light.

I glued down the light strips on each continent and wired them all into their own dedicated power lines that go directly to the 12v source (not through the Arduino).

Step 16: Final Mounting on the Wall

And we're finally done! I mounted all of the continent "modules" on to their corresponding french cleats.

The last step was adding the smaller islands and land masses off the coasts of the larger continents.

I hot-glued transparent thumbtacks to suspend the smaller islands on to the wall.

Thanks for reading this far, I would love to hear your comments and suggestions about this project and how it could be modified/improved.

Don't forget the accompanying YouTube video at the top of this Instructable! Make sure to subscribe here if you enjoyed the video:

Maps Challenge

Grand Prize in the
Maps Challenge