How to Add Flexible LED Filament to your terrain

flexible led filament for terrain

Integrating lighting into 3D printed terrain is one of the best ways to add atmosphere and immersion to your tabletop setups. In this tutorial, we’ll walk through how to use flexible LED filament to create glowing shapes of light directly into your terrain pieces.

This project features a upgrade wip to my modular floor tiles with built-in lighting effects – perfect for sci-fi corridors, cyberpunk cityscapes or high-tech industrial zones.


What is Flexible LED Filament?

Flexible LED filament (also called LED noodles) is a soft, bendable light source that gives off a smooth, even glow. Unlike traditional LEDs, these filaments emit light across their entire length and can be bent into custom shapes – perfect for creative lighting solutions.

You can get them in various colours and lengths. For this project, we used filaments from TerrainTronics in 130mm lengths.


Materials Used

  • Flexible LED filament (various colours)
  • WeMos D1 Mini (ESP8266 microcontroller)
  • Current-limiting resistor (around 100–1,000 ohms depending on preferred brightness of filament)
  • Reed switch (magnet-activated)
  • 3D printed terrain from Sauucermen Studios
  • Magnet (for triggering the reed switch – mini bases often have magnets)
  • Wires & soldering tools
  • 3-5v Power supply (USB or battery)

Step-by-Step Process

1. Design the Layout

First, I designed the terrain. Established where the glowing lines or shapes will go. These need to be modeled as embedded channels or grooves that match the thickness of your LED filament (usually 2mm).

2. Print a Test Piece

Before committing to a full print, I run a test print of a small section. Check the channel size, depth and overall fit to make sure the filament seats properly without being too loose or too tight.

3. Print the Final Terrain

Once I was happy with the fit, I print the final terrain piece with integrated light channels. In this example, I printed a modular floor tile designed to house the filament cleanly under removable floor insert.

4. Wire Up the Electronics

Using a WeMos D1 Mini microcontroller to control the LED filament intensity pattern. Connect the filament through a current-limiting resistor to prevent overheating or damage. You can pulse the brightness with code to create a smooth flowing energy effect (like glowing liquid).

If you’re after an interactive element, wire in a reed switch – When a magnet is brought near the terrain, it triggers a second inset light—perfect for secret doors, objectives or power surges.

5. Power & Test

Power up your setup via USB or battery and test the lights. Tweak the brightness or pulse effect through code until you’re happy with the look.


Why Use LED Filament?

Flexible LED filaments are excellent for:

  • Glowing runes, pipelines or energy conduits
  • Neon signage in cyberpunk settings
  • Sci-fi floor lighting and ship interiors
  • Magic effects or arcane tech in fantasy builds

Because they emit light evenly across their surface, you get a consistent glow that can be shaped to match your design vision.


Final Thoughts

With just a bit of planning and some simple electronics, you can add animated lighting effects that bring your terrain to life. Reactive lighting (like the reed switch trigger) takes it even further, offering gameplay interactivity and cinematic visuals.

How to Add Motors and Rotating Features to Your 3D Printed Terrain

how to add motors to wargaming terrain

Adding movement to your tabletop terrain is a fantastic way to bring your wargaming setup to life. Whether it’s spinning windmill sails, rotating radar dishes, or other kinetic features, the process is surprisingly straightforward and only requires a handful of cheap electronics components.

In this guide, I’ll walk you through how I added a simple motorised system to one of our builds using affordable components and 3D printed parts. The best part? No complex electronics or programming required.

What You’ll Need

For this project, I used the following components:

  • N20 motor
  • Speed controller board
  • AA battery pack
  • Wires and basic tools
  • 3D printed parts (custom sails and a wall mount)

I sourced all the electronics from TerrainTronics, who specialise in hobby-friendly components for miniature terrain builds.

Step-by-Step Instructions

1. Print / build the Terrain Housing

Start by 3D printing the terrain piece that will house your motor (we used the windmill terrain from our DarkMyth Village set). In this case, a wall section with a mount for the N20 motor. I also printed custom sails to attach to the motor shaft.

2. Wire the Power Supply

Connect the positive and negative wires from your AA battery pack to the input terminals of the controller board. Most boards are clearly labelled, so it’s easy to get this right.

3. Connect the Motor

Now wire the motor to the controller board. The motor typically has two wires – connect these to the board’s motor terminals. If the motor spins the wrong direction for your project, just swap the two wires around.

4. Test & Adjust

Before final assembly, do a test fit of all components inside your terrain piece. Power it up and make sure everything spins smoothly. Most speed controller boards include a potentiometer (a small dial), allowing you to adjust how fast the motor spins—super handy for getting just the right motion.

5. Enclose the Electronics

Once you’re happy with the setup, fit all the electronics neatly into the terrain housing. I designed the set so the motor and wires are completely hidden, keeping everything tidy and immersive.


Wrapping Up

With just a few components and some basic wiring, you can easily add motion to your tabletop builds. It’s a fun way to level up your terrain, grab your opponent’s attention, or bring a sense of life to a battlefield or RPG setting.

If you’d like to use the same terrain shown in the video, check out the links in the description or browse my other modular sets at Saucermen Studios.


Follow Saucermen Studios on instagram for more terrain tips, 3D printing guides, and modular designs made for tabletop gamers.

Magic Atmospheric Effects for your Tabletop Terrain

light up terrain ritual circles

Looking to add an impressive, glowing effect to your tabletop terrain or D&D scenery? With just a few affordable components, some simple wiring, and a touch of code (provided), you can create a 3D printed terrain piece that lights up like arcane magic!

This glowing ritual circle is perfect for fantasy or sci-fi settings, whether you’re summoning eldritch horrors or powering up ancient tech.


🧙‍♂️ What You’ll Need to build this terrain

Here’s a list of materials I used to create the glowing ritual circle:

  • 3D printed ritual circle – You can grab the STL file from Saucermen Studios
  • Neo-Pixel LED ring – I used a 16 LED ring
  • Microcontroller – Arduino, ESP32, or any similar board will do
  • A few wires
  • 5V power source – A USB battery pack or phone charger works great

⚙️ Where to Get the Parts

I sourced the electronics cheaply through AliExpress, but similar components can be found on Amazon, eBay, or your local electronics supplier. Altogether, this build cost less than $10.


🧠 Coding the Magic (With Help from ChatGPT)

To animate the LEDs, I used ChatGPT to help generate the code. I asked:

“Create two sequences for the ring on pin 13 of Arduino and 16 LED nano pixel ring. First: a symmetrical blue sparkle effect lasting 3 seconds. Second: a popping green magical explosion lasting 6 seconds.”

It responded with perfectly usable Arduino code, which I uploaded to the microcontroller. You can customize this code to match the tone of your game—be it eerie, chaotic, or divine.

You can also use the code below:

#include <Adafruit_NeoPixel.h>

#define PIN         13
#define NUM_LEDS    16

#define SEQ_ONE_DURATION  3000   // 3 seconds
#define SEQ_TWO_DURATION  6000   // 6 seconds
#define TOTAL_DURATION    (SEQ_ONE_DURATION + SEQ_TWO_DURATION)

#define FADE_SPEED        20
#define SPARK_CHANCE      30

Adafruit_NeoPixel ring = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);

// For sparkle logic
uint8_t sparkle_brightness[NUM_LEDS];

// For timing
unsigned long startTime = 0;

void setup() {
  ring.begin();
  ring.setBrightness(255); // Full brightness, we control individual pixel brightness
  ring.show();

  for (int i = 0; i < NUM_LEDS; i++) {
    sparkle_brightness[i] = 0;
  }

  startTime = millis();
}

void loop() {
  unsigned long currentTime = millis();
  unsigned long elapsed = (currentTime - startTime) % TOTAL_DURATION;

  ring.clear();

  if (elapsed < SEQ_ONE_DURATION) {
    runSequenceOne(elapsed);
  } else {
    runSequenceTwo();
  }

  ring.show();
  delay(30); // Control update speed
}

// --- Sequence ONE: 4-way mirrored faint blue rotation ---
void runSequenceOne(unsigned long elapsed) {
  static unsigned long lastStep = 0;
  static int step = 0;

  if (millis() - lastStep > 100) {
    step = (step + 1) % 4; // 4 steps per quarter rotation
    lastStep = millis();
  }

  for (int offset = -1; offset <= 1; offset++) {
    int pos = (step + offset + 4) % 4;
    uint8_t brightness = 10;
    if (offset == 0) brightness = 50;
    else if (abs(offset) == 1) brightness = 20;

    for (int q = 0; q < 4; q++) {
      int idx = (pos + q * 4) % NUM_LEDS;
      ring.setPixelColor(idx, ring.Color(0, 0, brightness));
    }
  }
}

// --- Sequence TWO: Green magical sparkles ---
void runSequenceTwo() {
  for (int i = 0; i < NUM_LEDS; i++) {
    if (sparkle_brightness[i] == 0 && random(0, SPARK_CHANCE) == 0) {
      sparkle_brightness[i] = 255; // Start sparkle
    }

    if (sparkle_brightness[i] > 0) {
      sparkle_brightness[i] = max(sparkle_brightness[i] - FADE_SPEED, 0);
    }

    ring.setPixelColor(i, ring.Color(0, sparkle_brightness[i], 0));
  }
}

🔌 Wiring It All Up

  • 5V from the LED ring to the 5V pin on your board
  • GND to GND
  • Data Input to Pin 13 on your microcontroller

Once wired, upload the code via the Arduino IDE, and your 3D printed terrain will burst to life with a dramatic glow.


✨ Assembly Tips for your terrain

I recommend dry-fitting everything first. Once you’re happy with the positioning, use a bit of hot glue or superglue to secure the LED ring inside the ritual circle. You can diffuse the lights further with parchment paper or resin for a mystical glow.


🧪 Use Cases for Glowing Terrain

  • Highlight key objectives in a dungeon crawl
  • Mark teleportation circles or magical wards
  • Bring life to cyberpunk terminals or sci-fi consoles
  • Upgrade your D&D scenery with animated lighting effects

This is a great way to bring your 3D printed terrain to life and impress players with interactive tabletop elements.


📦 STL Download & More Info

You can download the STL for the ritual circle here:
👉 Darkmyth Dungeon Ritual Circle with LED Integration – Saucermen Studios

I’ll post the exact Arduino code and links to components in an upcoming blog update.


🧙‍♂️ Miniature Credit

The wizard mini featured in the video/photos is the Thalmor Mage by Marco R Sassi.

How to add flashing lights to Vehicles & Terrain

add flashing leds to terrain

Lighting can bring your tabletop terrain to life, especially when it comes to sci-fi vehicles. In this quick guide, I’ll walk you through how I added working red and blue emergency lights to a cyberpunk police cruiser model with just a few cheap components.

What You’ll Need:

  • ESP32 development board
  • Red and blue 5mm LEDs (optional extra warn lights for headlights)
  • Some basic wiring (use Dupont wires for no soldering)
  • Soldering gear (optional, but recommended)
  • Power source of choice

Step 1: Wiring It Up

Start by connecting the long legs (positive) of the red and blue LEDs to pins 18 and 19 on the ESP32 board. The short legs (negative) go to ground. That’s your basic circuit done!

Next, plug the board into your computer and open the free Arduino IDE software. If coding isn’t your thing, just ask a language model (like Claude or ChatGPT) to generate a simple flashing sequence for emergency lights. Upload the code, and you’ll be good to go. See the code I used below:

/*
  ESP32 Police Lights with Pulsing Headlights
  
  This sketch simulates police car lights using two LEDs (red and blue)
  connected to pins 18 and 19 of an ESP32, and adds pulsing headlights on pin 17.
  
  The police LEDs will flash in alternating patterns while the headlights pulse
  with a breathing effect.
*/

// Pin definitions
const int HEADLIGHT_LED = 17;  // Headlight LED connected to pin 17
const int RED_LED = 18;        // Red police light connected to pin 18
const int BLUE_LED = 19;       // Blue police light connected to pin 19

// Timing variables (in milliseconds)
const int FLASH_DELAY = 150;     // Delay between flashes
const int PATTERN_DELAY = 1000;  // Delay between pattern changes

// Headlight pulsing parameters (adjust these to change the pulsing behavior)
const int PULSE_STEP = 10;        // Step size for breathing effect (higher = faster pulse)
                                 // Try values between 1-20

const int PULSE_MIN = 0;         // Minimum brightness (0 = fully off)
const int PULSE_MAX = 255;       // Maximum brightness (255 = fully on)
                                 // Adjust these min/max values to change the range

// Global variable to track the pulse value
int pulseValue = 0;
int pulseDirection = 1;  // 1 for increasing, -1 for decreasing

void setup() {
  // Initialize the LED pins as outputs
  pinMode(RED_LED, OUTPUT);
  pinMode(BLUE_LED, OUTPUT);
  pinMode(HEADLIGHT_LED, OUTPUT);
  
  // Initially all LEDs are off
  digitalWrite(RED_LED, LOW);
  digitalWrite(BLUE_LED, LOW);
  digitalWrite(HEADLIGHT_LED, LOW);
}

// Function to update the pulsing headlights
void updateHeadlights() {
  // Update the pulse value based on the direction
  pulseValue += PULSE_STEP * pulseDirection;
  
  // Change direction if we hit the limits
  if (pulseValue >= PULSE_MAX) {
    pulseValue = PULSE_MAX;
    pulseDirection = -1;
  } else if (pulseValue <= PULSE_MIN) {
    pulseValue = PULSE_MIN;
    pulseDirection = 1;
  }
  
  // Set the analog output value (brightness)
  analogWrite(HEADLIGHT_LED, pulseValue);
}

void loop() {
  // Pattern 1: Alternating flashes
  for (int i = 0; i < 5; i++) {
    updateHeadlights();
    
    // Red LED on, Blue LED off
    digitalWrite(RED_LED, HIGH);
    digitalWrite(BLUE_LED, LOW);
    delay(FLASH_DELAY);
    
    updateHeadlights();
    
    // Red LED off, Blue LED on
    digitalWrite(RED_LED, LOW);
    digitalWrite(BLUE_LED, HIGH);
    delay(FLASH_DELAY);
  }
  
  // Pattern 2: Double flashes
  for (int i = 0; i < 3; i++) {
    updateHeadlights();
    
    // Red double flash
    digitalWrite(RED_LED, HIGH);
    digitalWrite(BLUE_LED, LOW);
    delay(FLASH_DELAY);
    digitalWrite(RED_LED, LOW);
    
    updateHeadlights();
    
    delay(FLASH_DELAY / 2);
    digitalWrite(RED_LED, HIGH);
    delay(FLASH_DELAY);
    digitalWrite(RED_LED, LOW);
    
    updateHeadlights();
    
    delay(FLASH_DELAY / 2);
    
    // Blue double flash
    digitalWrite(BLUE_LED, HIGH);
    delay(FLASH_DELAY);
    digitalWrite(BLUE_LED, LOW);
    
    updateHeadlights();
    
    delay(FLASH_DELAY / 2);
    digitalWrite(BLUE_LED, HIGH);
    delay(FLASH_DELAY);
    digitalWrite(BLUE_LED, LOW);
    delay(FLASH_DELAY / 2);
  }
  
  // Pattern 3: Both LEDs flashing together and then alternating
  for (int i = 0; i < 2; i++) {
    updateHeadlights();
    
    // Both LEDs on
    digitalWrite(RED_LED, HIGH);
    digitalWrite(BLUE_LED, HIGH);
    delay(FLASH_DELAY * 2);
    
    updateHeadlights();
    
    // Both LEDs off
    digitalWrite(RED_LED, LOW);
    digitalWrite(BLUE_LED, LOW);
    delay(FLASH_DELAY);
    
    // Alternating quick flashes
    for (int j = 0; j < 6; j++) {
      updateHeadlights();
      
      digitalWrite(RED_LED, j % 2 == 0 ? HIGH : LOW);
      digitalWrite(BLUE_LED, j % 2 == 0 ? LOW : HIGH);
      delay(FLASH_DELAY / 2);
    }
    
    updateHeadlights();
    
    // Both LEDs off
    digitalWrite(RED_LED, LOW);
    digitalWrite(BLUE_LED, LOW);
    delay(FLASH_DELAY);
  }
}

Step 2: Modifying the STL File

With the circuit working, I turned to the 3D model itself. I edited the STL file to include mounting holes for 5mm LEDs in the light bar. I also carved out space for smaller headlight LEDs while I was at it.

Note – You can get the modified version of this file here

To avoid wasting filament, I printed a quick cross-section of the vehicle to test the LED fit. Once I was happy with it, I went ahead and printed the full model using my Bambu Labs P1S.

Step 3: Assembly

With the parts printed, I installed the LEDs and connected everything to the ESP32 board. A quick test confirmed everything was working perfectly. The flashing red and blue lights added just the right touch of realism to the vehicle.


Adding lighting to your prints doesn’t have to be expensive or complicated, and it adds so much character to your builds. Hopefully this inspires you to try it for yourself!

Want to grab the police cruiser STL – Grab the STL file here

Peppers Ghost Hologram Effects for Terrain

peppers ghost terrain holographic effects

‘Holographic’ Display for Miniature Projects!

I’ve been playing around with adding holographic displays into my builds and this uses the classic Pepper’s Ghost illusion, which looks seriously cool in person! It’s super simple and can even be done with any screen or phone if you don’t want to jump straight into electronics or coding.

Here’s a quick breakdown of how I did it. Feel free to ask questions or check the links for more details!

What I Used to create the effect:

– ST7735 1.8″ TFT Display Module
– ESP32 Development Board
– Dupont Jumper Wires
– 5V USB Power Pack
– 3D Printed Enclosure (STL files coming soon)
– Transparent acetate sheet or plastic film

The Process:

Step 1:
Followed this awesome tutorial → https://www.youtube.com/watch?v=GrNIfwUNaaw
Modified code from → bitbank2/AnimatedGIF GitHub

Step 2:
Wired the display to the ESP32 using this pinout (no soldering needed): VCC → 3v3, GND → GND, CS → 5, RESET → 4, AO → 2, SOA → 23, SCK → 18, LED → 3v3

Step 3:
Created an animated GIF (128x160px for my screen) and converted it using the tool suggested in tutorial.

Step 4:
Uploaded the modified code to the ESP32 using Arduino IDE. Note: You may need to tweak the User_Setup.h file based on your board.

Below is the main code I used

//TUTORIAL FROM https://www.youtube.com/watch?v=GrNIfwUNaaw
//CONVERT NEW GIF TO C (.h) WITH https://github.com/bitbank2/image_to_c
//Edit User_Setup.h for screen specific adjustments

// Edited by Saucermen Studios


//#define USE_DMA       // ESP32 ~1.25x single frame rendering performance boost for badgers.h
                        // Note: Do not use SPI DMA if reading GIF images from SPI SD card on same bus as TFT
  #define NORMAL_SPEED  // Comment out for rame rate for render speed test

// Load GIF library
#include <AnimatedGIF.h>
AnimatedGIF gif;

// Example AnimatedGIF library images
// #include "anim2.h"
 #include "anim3.h"
// #include "../test_images/badger.h"
// #include "vending1.h"
// #include "../test_images/homer_tiny.h"
// #include "../test_images/pattern.h"

                                // ESP32 40MHz SPI single frame rendering performance
                                // Note: no DMA performance gain on smaller images or transparent pixel GIFs
  #define GIF_IMAGE anim3   //  No DMA  63 fps, DMA:  71fps
//#define GIF_IMAGE ucHomer     //  No DMA 162 fps, DMA: 141 fps
//#define GIF_IMAGE homer_tiny  //  No DMA 564 fps, DMA: 481 fps
//#define GIF_IMAGE ucPattern   //  No DMA  90 fps, DMA:  78 fps

#include <SPI.h>
#include <TFT_eSPI.h>

// Color definitions
// #define BLACK   0x0000
// #define BLUE    0x001F
// #define RED     0xF800
// #define GREEN   0x07E0
// #define CYAN    0x07FF
// #define MAGENTA 0xF81F
// #define YELLOW  0xFFE0
// #define WHITE   0xFFFF


TFT_eSPI tft = TFT_eSPI();


#define imageWidth 128
#define imageHeight 160

void setup() {
  Serial.begin(115200);

  tft.begin();
#ifdef USE_DMA
  tft.initDMA();
#endif
  tft.setRotation(-1);
  tft.fillScreen(TFT_BLACK);
//  tft.invertDisplay(1);

gif.begin(BIG_ENDIAN_PIXELS); // COOKED mode
}


// Pin definitions
#define CS_PIN     5     // Chip select control pin
#define RST_PIN    4     // Reset pin (could connect to RST pin on board)
#define DC_PIN     2     // Data/Command control pin
#define SCLK_PIN   18    // Serial clock
#define MOSI__PIN   23    // Master Out Slave In (SPI data)
#define LED_PIN    -1    // Use -1 if backlight is always on or connected to 3.3v



#ifdef NORMAL_SPEED // Render at rate that is GIF controlled
void loop()
{
  // Put your main code here, to run repeatedly:
  if (gif.open((uint8_t *)GIF_IMAGE, sizeof(GIF_IMAGE), GIFDraw))
  {
    Serial.printf("Successfully opened GIF; Canvas size = %d x %d\n", gif.getCanvasWidth(), gif.getCanvasHeight());
    tft.startWrite(); // The TFT chip select is locked low
    while (gif.playFrame(true, NULL))
    {
      yield();
    }
    gif.close();
    tft.endWrite(); // Release TFT chip select for other SPI devices
  }
}
#else // Test maximum rendering speed
void loop()
{
  long lTime = micros();
  int iFrames = 0;

  if (gif.open((uint8_t *)GIF_IMAGE, sizeof(GIF_IMAGE), GIFDraw))
  {
    tft.startWrite(); // For DMA the TFT chip select is locked low
    while (gif.playFrame(false, NULL))
    {
      // Each loop renders one frame
      iFrames++;
      yield();
    }
    gif.close();
    tft.endWrite(); // Release TFT chip select for other SPI devices
    lTime = micros() - lTime;
    Serial.print(iFrames / (lTime / 1000000.0));
    Serial.println(" fps");
  }
}
#endif

Step 5:
3D printed the enclosure and slotted the screen in place.

Step 6:
Cut a piece of transparent film and mounted it at a 45° angle in front of the screen to get that floating hologram effect.

Light Up Your Sci-Fi Terrain with Animated LED Signage!

Easy LED billboards for terrain

If you want to take your sci-fi tabletop terrain to the next level, adding animated LED signage is a fantastic way to do it! Using budget-friendly 44×11 pixel LED name badges, you can bring dynamic lighting and cyberpunk aesthetics to your wargaming setups.

The Build

I recently experimented with these LED name badges and designed a custom 3D printable enclosure that fits them perfectly. Printed on my Bambu Lab P1S, the enclosure comes with multiple face-plate options, allowing you to customize the look to match your gaming environment. These enclosures are designed for ease of use and are compatible with OpenLock clips, making them a seamless addition to Flatline City terrain. To enhance the display further, I also used a diffuser circuit board that I demonstrated in a previous project, giving the signage a clean and professional finish.

How to Add Digital Signage to Your Terrain

Want to add animated LED signs to your wargaming or RPG setups? Here’s how:

  1. Get an LED Name Tag:
    • These LED badges are inexpensive, USB-chargeable, and have a resolution of 44×11 pixels.
  2. Program Your Signage:
    • Use the included mobile app to upload custom text animations or even video via Bluetooth. The app can be quirky, but with some patience, you can create some incredible effects.
  3. Print the Custom Enclosure:
    • A 3D printed housing gives the LED sign a unique aesthetic that seamlessly integrates into your terrain. I’ve made a design that’s compatible with Flatline City and other cyberpunk-style setups.
LED Billboard Name Tag for Terrain
S

Where to Get the Files

If you want to incorporate these animated LED signs into your terrain, you can grab the STL files from my website: www.saucermenstudios.com.au.

LED Signage Terrain Main
LED OpenLock Sign Main

Whether you’re creating cyberpunk cityscapes, dystopian outposts, or futuristic battlefields, these signs will make your tabletop terrain more immersive than ever.

What’s Next?

I’m working on even more atmospheric effects to enhance your wargaming experience, including interactive lighting, ambient effects, and modular sci-fi elements. I’d love to hear your thoughts on this build—what features would you like to see next?

Let me know in the comments or share your own LED signage projects!

How to Add Smoke & Simple Atmospheric Effects to Your Wargaming Terrain

easy smoke effects for terrain

Creating immersive battlefields for tabletop wargaming goes beyond just printing and painting miniatures. Adding atmospheric effects, like smoke or steam, can enhance the realism of your terrain and bring your gaming sessions to life. In this tutorial, I’ll show you how to easily add a simple smoke effect to your terrain using a low-cost ($3AUD) atomizer circuit and a USB power source.

Diffuser Cannon GIF2
Diffuser Cannon GIF1

Why Add Atmospheric Effects?

If you’ve ever looked at industrial sci-fi terrain and thought it would look even better with active smoke plumes rising from refinery rooftops, you’re not alone. Effects like these can add depth to your battlefield, making it feel alive rather than just a static collection of miniatures and buildings. The best part? You don’t need an expensive setup—just a few budget-friendly components and a USB power source.


What You’ll Need

To create this effect, you’ll need just a couple of inexpensive components:

  • A $3 micro-USB powered atomizer – Search for something like “Humidifier Module USB, Atomization Plate Circuit Board”
  • A USB power source – A small power bank works great for portability and terrain integration
  • Some clean water to generate vapor
  • Some terrain with hollow interiors, vents and chimneys (such as those Grid City: Gothic)
  • A 3D-printed reservoir (optional but recommended for neat integration into your terrain)
atomization disc 5v module usb
Example of the Atomizer circuit we used (powered by Micro USB)

This setup produces water vapor, not actual smoke, which means it’s completely safe to touch and won’t generate heat that could damage your terrain or miniatures.


Step-by-Step Guide

1. Order Your Parts and Gather Supplies

You can find atomizer circuits online for just a few dollars. These small devices generate mist by vibrating at a high frequency, breaking water into tiny droplets that appear as a fine mist. Make sure you also have a USB power source—this can be a simple phone charger or a power bank for a more mobile setup.

2. Connect the Atomizer to Power

Once your parts arrive, simply connect the atomizer circuit to the USB power source. Most atomizers come pre-wired.

3. Test the Effect

Touch the atomizer to a small area of moisture, and you should start seeing vapor almost immediately.

If the mist output seems weak, try flipping the atomizer disc over—sometimes the correct orientation makes a big difference in performance.

4. Understanding the Vapor Effect

This effect is actually water vapor, not real smoke. That means:

  • It’s not hot, so it won’t burn or damage your miniatures.
  • It won’t leave residue or stain your terrain.
  • It’s safe to touch and won’t warp plastic.
  • Be safe & mindful of electronics and water – Ensure water does not contact the bare wiring, the circuit board or the power source.

5. Integrate It Into Your Terrain

For a cleaner look, I designed and 3D printed a custom reservoir (included in one of the Grid City: Gothic terrain sets) to house the atomizer and hold water. This keeps the effect self-contained and makes it easy to integrate into my terrain setup. The reservoir fits neatly inside my Grid City terrain set, allowing vapor to rise through vents, simulating factory smoke or steam escaping from a futuristic refinery.

Alternatively, you can use small plastic containers hidden inside buildings or structures to achieve the same effect.

40K terrain 3D printable

Want to level up your terrain projects?


If you’d like to get the STL files for the terrain set I used in this project, you can grab them from my website at Saucermen Studios or check out my latest terrain Kickstarter for even more immersive battlefield elements.

Give it a try, and let me know how you incorporate this effect into your own terrain builds!

Adding LED Lighting to your Terrain

Adding led lights to terrain

Whether you’re playing 40k, Infinity, Killteam, Stargrave or any other sci-fi tabletop game, you can always spice up the battlefield by adding LED lighting to your terrain. We’ve experimented with a few options and have designed a method that requires no wiring or soldering, all you need is a standard LED and coin battery!

The Easiest Terrain LED Lighting System

Saucermen Studios created a method of adding LEd to terrain without any wiring or complicated configurations. using a uniquely designed caddy, you simply insert a small watch battery (CR2032), clip in the LEDs and slot it into the compatible terrain.

LED lighting in terrain with CR2032 battery

What You Will Need for No-Wire LEDs

Lighting Terrain with LED Strip Lights & EL Wire

LED scifi floors for 3D printing animation

Some terrain such as our LED Flooring has integrated holes and channels for easy inclusion of LED Strip Lights or EL Wire.

What are LED Strips?

LED strip light terrain

LED strip lighting is a versatile and energy-efficient lighting solution that consists of a flexible circuit board embedded with numerous light-emitting diodes (LEDs) evenly spaced along its length. These compact, low-profile strips are designed to emit bright, vibrant light while consuming minimal energy. LED strip lighting comes in various lengths and colors. They are typically powered by 5V USB or 12V mains adapters and can be used with remote controls/Infra-red input and even mobile apps to change colours and light patterns. The flexibility of the strip allows it to be bent, twisted, and cut into desired lengths, making it highly adaptable for using in tabletop terrain projects.

What is EL Wire?

EL Wire terrain

EL wire, short for Electroluminescent wire, is a flexible and versatile lighting solution. It consists of a thin copper wire coated with a phosphor-based material. When an alternating current is applied, it emits a soft glow. EL wire is highly adaptable, easily shaped, and bent to fit various objects. It comes in vibrant colors, making it a popular choice for creative applications. EL wire finds its use in costumes, signage, and interior design projects, but is also great for adding to terrain! It is energy-efficient, generates low heat, and is safe to touch.

This thin wire come in some great neon colours, so really handy for sci-fi builds. It runs of 5v power so can plug into USB or a portable powerbank.

You can see more comprehensive instructions for our LED terrain here

Powering LEDS for Tabletop Terrain

Integrating LEDs into tabletop terrain often needs some finessing as you pack it all into a pipe or building. CR2032 batteries are the easiest methoud but you could also use a 9V battery with some more sophisticated connections and wiring. It’s worth looking at adding resistors at higher voltages to avoid burning out the LEDS.

Important note – Electricity can bite! Don’t go plugging things into the mains or using strong power sources unless you know what you’re doing. We’re gamers & artists so don’t advise using anything stronger that CR2032 batteries.

Want to really Geek out on LEDs?

Sparkfun has a great tutorial for LEDS on their website. Check it out if you want to deep dive into the technology further.

Transparent PLA for 3D Printed Wargame Terrain

See-through PLA filament is awesome when combined with LEDS. It comes in a wide range of colours and is great for diffusing hidden lights or adding different materials to your projects.

led fence terrain

LED Integrated 3D Printed Terrain

Arduinos & Microcontrollers in Terrain

The Arduino is a small, programmable microcontroller that can take inputs from external sources and connect to multiple outputs such as motors, servos and LEDs. You can use these to create flashing lights, buttons, visual displays more!

Check out the incredible work of turbochainsawballsponyrider and what he’s done with our Flatline City terrain!

Other Terrain Lighting Methods

If you’re not keen on setting up some of the LED methods above, there are several other ‘pre-made’ options for LED lighting in wargaming scenery

Bicycle Lights

bicycle lights terrain

Bicycle lights are usually white or red, they often have USB charging or run off AAA batteries. Most can be set to flash too!

LED Photography / Video Lighting

videography light terrain

Modern vidography and photogtaphy lighting is portable, USB powered, rechargeable and customisable to a wide array of colours and flashing patterns. Ulzani lights such as the VL49 RGB are a perfect size for hidning in buildings.

Tealight Candles

tealight led terrain

Your local dollar store is likely to have some cheap, LED tealights that can have teh guts ripped out. They often flicker and are perfect for hiding inside terrain to represent the burning fires of war!