Desktop Bonfire




Introduction: Desktop Bonfire

About: I am Electronic Visualization Artist. I look at things through the Looking Glasses.
I got an idea for the "Make It Grow" Contest, but I had a problem, my soldering iron broke. I ordered a new one but it hasn't arrived yet!
After carefully thought about the project I decided to go with it but instead of solder the components to the PCB I would used the breadboard and my Palm Arduino for the project.

I called this project "Desktop Bonfire."
I used Lego Bricks and Plates to make frames (or bonfire) around my Palm Arduino with the tiny breadboard attached on top of it. I used 5mm LEDs (Red, Yellow, and White) as a combination of the color of the fire lid at the bonfire.
Then I added the straws for the soda (I got it from the fast-food vendor, and it is a perfect fit to 5mm LEDs, picture in Step 2) on the LEDs to make the LEDs glow more than usually and make light  from LEDs more visibility.

I connected all the LEDs to available PWM (Pulse Width Modulation) pins - D3, D5, D6, D9, D10 and D11. And I programmed the Arduino to randomly brighten or dim the LEDs, as the effect of the bonfire (Arduino sketch is available in Step 4.)

By looking at it, it does make me feel like sitting around a warm bonfire during the short day in Winter.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Parts and Tools


Arduino or Arduino Compatible Board (I'm using my Palm Arduino in this project.)
FTDI Cable (5V.)
5V Switching Power Adapter with USB output.
Tiny Breadbaord

4 nos. 5mm Red LED
1 no.   5mm Yellow LED
1 no.   5mm White LED (RadioShack #276-0320)

5 nos. 220 Ohm Resistors
1 nos. 1K Ohm Resistor

7 - 10  nos. Short male/male  jumper wires ( 4.5" long)

6 nos. small straws about 5mm diameter, 8" long (I used clear transparent straws that I got them from fastfood vendor.)

Lego Technic Bricks and Plates

1 no.  6x10 Standard Plate, ID# 3033 (any color)
1 no. 1x4 Standard Plate, ID#3710 (any color)
2 nos. 1x12 Technic Brick, ID#3895 (any color)
5 nos. 1x8 Technic Brick, ID#3702 (any color)
2 nos. 1x4 Technic Brick, ID#3701 (any color)

1 no.  2x4 Technic Plate, ID#3709 (black)
5 nos. 1x6 Technic Brick, ID#3894 (black)
2 nos. 1x4 Technic Brick, ID#3701 (black)
2 nos. 1x2 Technic Brick, ID#3004 or #32000 with 2 holes (black)


Diagonal cutter
A pair of scissors

Step 2: Let's Get Started!

If you are going to build this project you can substitute Palm Arduino with your preferred Arduino. Or if you want to build you own Palm Arduino you can see the building details of Palm Arduino here.

The schematic below shows the exactly the same as Palm Arduino schematic.  It also shows the connection of the LEDs a to PWM pins  on Arduino. The LED color can be switched around. It doesn't have to be exacted. But the LEDs have to be connected to Arduino's PWM pins  (D3, D5, D6, D9, D10 and D11) only.

The LEDs on pin D13 was the typical 3mm Arduino test LEDs only! It's already there with the Palm Arduino. I am not using it in the project.

I started with the LEDs, by inserted one individual LED into one end of a straw (perfectly fit!) I did not cut the straws at the step yet.

Next I connected one end of the jumpers to the PWM pins as mentioned earlier.

Then I built a rough bonfire (or frame) with Lego bricks, it's only a temporary frame.

Finally, I did a few tests with my Arduino sketch. The sketch worked. But the white LEDs seem to be a lot brighter than the red and yellow LEDs. So I readjusted the values in the sketch. (See videos in Step 4)

Step 3: Constructing the Bonfire (or Lego Frame)

In this Step, I'm going to show you how to construct the bonfire (or frame).
I also added the description text on each image.

image 1. Before starting to build the "bonfire", detached the USB end of the FTDI cable from the USB port on the PC. But keep the FTDI connector end attached to the Arduino. So we know where to leave the gap for FTDI cable.

image 2 - 3. Prepare 6x10 Standard Lego plate. And slides the plate underneath the Palm Arduino.

image 4. Prepare 1x4 Technic Brick (#3701, any color)

image 5. Install 1x4 Technic Brick as shown. Prepare 1x8 Technic Brick (#3702 - any color)

image 6. Install 1x8 Brick as shown. Prepare 1x12 Technic Brick (#3895), 1x4 Technic Brick (#3701), and 1x4 Standard Plate (#3710 - any color)

image 7. Put 1x4 Plate, 1x4 Brick, and 1x12 Brick together as shown.

image 8. Put the previous assembly parts as shown. Then prepare 2 nos. of 1x8 Bricks (#3702 - any color)

image 9. Put those 1x8 Bricks on top of 1x12 Brick as shown. Prepare other 2 nos. of 1x8 Technic Bricks (#3702 - any color).

image 10. Put the 1x8 Bricks on top of the assembly as shown. And prepare 2 nos. 1x6 Technic Bricks (#3894 - black color)

image 11. Put those 1x6 Bricks as shown. Prepare 3 nos. Technic Brick (#3894 - black).

image 12. Adds those 3 nos. black 1x6 Technic Bricks as shown. Prepare 2 nos. 1x2 Technic Bricks (#3004 or #32000 with 2 holes - black color).

image 13. Places 1x2 Bricks as shown. And prepare 2 nos. of 1x4 Technic Bricks (#3701 - black)

image 14. Places two 1x4 Bricks as shown. Prepare a 2x4 Technic Plate (#3709).

image 15. Places the 2x4 Technic Plate as shown.

We are done! 

Note: You can use the scissors to trim the straws to desire length after you do the test as you can see the right amount of LEDs light display on the straws.

Step 4: Project Sketch, Photos, and Videos

Arduino sketch

// LEDs are connected to Arduino PWM pins 3, 5, 6, 9, 10, 11
int led[7] = {3, 5, 6, 9, 10, 11};

int va0 = 0;
int va1 = 0;
int va2 = 0;
int va3 = 0;
int va4 = 0;
int va5 = 0;
int va6 = 0;

int delayVal = 0;

void setup(){

// set LED pins as OUTPUT 
for(int i = 0; i < 6; i++){
   pinMode(led[i], OUTPUT);

void loop() {
  // Red LED
  va0 = random(180, 255);
  analogWrite(led[0], va0);

  // Red LED
  va1 = random(180, 255);
  analogWrite(led[1], va1);

  // Red LED
  va2 = random(180, 255);
  analogWrite(led[2], va2);

  // White LED
  va3 = random(10, 20);
  analogWrite(led[3], va3);

  // Yellow LED
  va4 = random(50, 180);
  analogWrite(led[4], va4);

  // Red LED
  va5 = random(180, 255);
  analogWrite(led[5], va5);

  delayVal = random(40, 120);

Photos & Videos

Test No. 1 Video

Test No. 2 Video

Make It Glow

Participated in the
Make It Glow

Be the First to Share


    • Backyard Contest

      Backyard Contest
    • Silly Hats Speed Challenge

      Silly Hats Speed Challenge
    • Arduino Contest 2020

      Arduino Contest 2020



    7 years ago on Introduction

    I like the idea of an acrylic housing!