Floating World Backlit Moss Map With Arduino Fiber Optic LED Cities

37,080

461

77

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

About: shareahack.com --- facebook.com/shareahack --- instagram.com/shareahack --- twitter.com/shareahack

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!

Supplies:

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: https://shareahack.com/link/more-videos

Maps Challenge

Grand Prize in the
Maps Challenge

Be the First to Share

    Recommendations

    • Plywood Challenge

      Plywood Challenge
    • Plastic Contest

      Plastic Contest
    • Battery Powered Contest

      Battery Powered Contest

    77 Discussions

    0
    Kdemon
    Kdemon

    1 year ago

    WOW, Amazing!

    1
    shareahack
    shareahack

    Reply 4 months ago

    Thanks Kdemon!

    0
    R-A
    R-A

    6 months ago

    This is totally awesome!

    0
    shareahack
    shareahack

    Reply 4 months ago

    Thanks!!

    0
    Meglymoo87
    Meglymoo87

    5 months ago

    My favorite part of your video "don't tell me landlord!" Hahaha! Congrats on the Grand Prize (I know it's from months back) and it's definitely an inspiration!

    0
    shareahack
    shareahack

    Reply 4 months ago

    Haha thank you!!

    1
    pagaldunia
    pagaldunia

    1 year ago

    Just imagine the map illuminating according to the daylight present at the particular country, all lights connected via internet!

    0
    willie92
    willie92

    Reply 7 months ago

    That should be doable with the Arduino. You'd have to do some planning before hand to get the light tubes positioned by time zones across the map. That would also then require you to run the corresponding fiber vertically across the map, so it would add more time to the construction because you'd have to be more deliberate in the placement of the fiber. But I think it'd made for a very cool dispaly!

    0
    shareahack
    shareahack

    Reply 1 year ago

    That would be super cool! Time to think about V2... :P

    0
    Mmkd1987
    Mmkd1987

    8 months ago

    One of the coolest projects I have seen in a while.

    0
    JannikS3
    JannikS3

    Question 1 year ago

    Hi! Love the project and already planing to do it in my next semester break. Will probably give it a try with the laser cutter though. When I went through your ai files I didn't quite understand, why the holes for the lights were either about 6mm or 3mm. Did you insert multiple strings into the holes or was this due to cnc drill restrictions? Wouldnt it make sense to drill/laser them in the exact size of the filament? Thank you so much.

    0
    shareahack
    shareahack

    Answer 11 months ago

    HI Jannik sorry for the late reply: The 6mm and 3mm holes correspond to the widths of 2 endmills I have. The reasoning behind this choice was that the larger holes signify a more concentrated 'zone' and the small holes are the surrounding sprawl. A single light filament is a bit hard to see, so grabbing a bunch of filaments and shoving them into the larger 6mm hole seemed to work well. It's not exactly a precise method, but helped speed things up and added some elements of random variability. If the holes were smaller and for single filaments, you'd need thousands more tiny holes, a tiny endmill (maybe easier with the laser), and it would take a lot longer threading all those needle sized holes - but if you actually put the time/effort in it would be fantastic. Good luck!

    0
    JannikS3
    JannikS3

    Reply 10 months ago

    Ahh thanks for the response dude! I will keep you posted.

    0
    winneremerald12
    winneremerald12

    1 year ago

    Okay, I have two things to say.
    One, I felt a surge of happiness and satisfaction when the map was lit close to the end of the video.
    Two, wherever you live, that's a lot of snow. We don't get any in Southern Cali lol

    0
    shareahack
    shareahack

    Reply 1 year ago

    I'm glad you enjoyed it Emerald! Yup, that's Ottawa, Canada for you :P
    The snow will be back here soon...I'm jealous you can make stuff outside all year! Here in Canada I can only do inside-friendly projects in the winter lol

    0
    winneremerald12
    winneremerald12

    Reply 1 year ago

    Lol omgggg you're Canadiannnn that's like a breath of fresh air lol I only know ONE Canadian. Who I barely met this year lol COOOL

    0
    bowen93
    bowen93

    1 year ago

    thank you amazing project and looking at putting what you are doing into a project i am working now with fibre optics. right now i am using strip rgb lights 12v. to run 5 separate pictures of the cosmos with fibre optics. how i was going to be doing it was with capacitors etc to get them to dim before going to full brightness again. never touched a arduino before so didnt know they could do this sort of thing which is perfect for what i require and i think will look amazing. can i ask how i can download the arduino programming for this that you used and a wiring diagram please ? i dont seem to be able to find download links which i can usually see.

    0
    shareahack
    shareahack

    Reply 1 year ago

    Sounds like it will be an amazing project..I'd love to see what you come up with! I'm working on a supplementary page that includes all the files, tools used, and wiring instructions. I'll let you know when it's online! In the mean time you can find some easy N-Channel Mosfet 'kits' like this: https://amzn.to/33eKHsu. Also check out this great breakdown (for wiring 12v LED strips) by Gadget Addict that should point you in the right direction: https://www.youtube.com/watch?v=sVyi7yWuXxs

    0
    bowen93
    bowen93

    Reply 1 year ago

    Thank you so much for your help and suggestions i look forward to seeing when you create the supplementary page, will be checking out the youtube now thank you