Dynamic Interactive Project

An interactive awareness installation project with UN's Sustainable Development Goals in mind.

Public Chat
Similar projects worth following
Promoting United Nation's Sustainable Development Goals / Creating With Digital Fabrication and Physical Computing

A Complete video journal of the Project:
( )


power box button cap.stl

Model of the button cap.

Standard Tesselated Geometry - 7.70 kB - 09/02/2018 at 15:11


power box button base.stl

Model of the button base.

Standard Tesselated Geometry - 9.65 kB - 09/02/2018 at 15:11



The vector for the houses

Adobe Portable Document Format - 1.18 MB - 09/01/2018 at 07:11



Dimension of each piece of the Dome

Adobe Portable Document Format - 744.89 kB - 09/01/2018 at 07:09


dome size.pdf

The accurate size of the whole structure.

Adobe Portable Document Format - 1.76 MB - 09/01/2018 at 07:06


View all 11 files

  • 1 × Ardiuno Uno board
  • 100 × Wires
  • 108 × LED lights
  • 30 × Corrugated board Used for the structure, houses and control box
  • 4 × Black cloth To cover the surface

View all 8 components

  • Coding

    Meryl Lee09/01/2018 at 07:00 0 comments

    This are all the codes we used for making this whole project possible. And all the code here are used in Ardiuno.

    LED Control

    #include <Adafruit_NeoPixel.h>
    #define PinA 6  //WindowLight 4
    #define PixelsA 24
    #define PinC 7  //WindowLight 40
    #define PixelsC 156
    #define PinB 5  //StarLight
    #define PixelsB 400 // total stars
    int starsIncrement = 0;
    int starsLighted = 0;
    Adafruit_NeoPixel stripA = Adafruit_NeoPixel(PixelsA, PinA, NEO_GRB + NEO_KHZ800);
    Adafruit_NeoPixel stripC = Adafruit_NeoPixel(PixelsC, PinC, NEO_GRB + NEO_KHZ800);
    Adafruit_NeoPixel stripB = Adafruit_NeoPixel(PixelsB, PinB, NEO_GRB + NEO_KHZ800);
    #define trigPin 13
    #define echoPin 11
    //boolean windowTrigger = false;
    boolean sensorStart = false;
    //Star Light
    float redStates[PixelsB];
    float blueStates[PixelsB];
    float greenStates[PixelsB];
    float fadeRate = 0.96;
    //Window Light
    #define waitTime 2
    // 4 LED
    byte buttonPins[] = {
      22, 24, 26, 28, 30,
      // 34, 36, 38, 40,
      // 42, 44
      //46, 48, 50,
      //52, 31, 33, 35, 37,
      //39, 41, 43, 45
    boolean windowStatesT0[] = {
      1, 1, 1, 1, 1,
      1, 1
      //, 1, 1, 1,
      //  1, 1
      //1, 1, 1,
      //1, 1, 1, 1, 1,
      //1, 1, 1, 1
    boolean windowStatesT1[] = {
      1, 1, 1, 1, 1,
      1, 1
      //, 1, 1, 1,
      //1, 1,
      //1, 1, 1,
      //1, 1, 1, 1, 1,
      //1, 1, 1, 1
    // 12 LED
    byte buttonPins2[] = {
      //  22, 24, 26, 28, 30,
      //  32, 34, 36, 38, 40,
      //  42, 44
      46, 48, 50, 52, 31,
      33, 35, 37,//
      //39, 41, 43, 45
    boolean windowStatesT2[] = {
      1, 1, 1, 1, 1,
      1, 1, 1
      //1, 1, 1, 1
      //1, 1, 1,
      //1, 1, 1, 1, 1,
      //1, 1, 1, 1
    boolean windowStatesT3[] = {
      1, 1, 1, 1, 1,
      1, 1, 1
      //1, 1, 1, 1,
      //1, 1, 1,
      //1, 1, 1, 1, 1,
      //1, 1, 1, 1
    void setup() {
      //Light A
      pinMode(trigPin, OUTPUT);
      pinMode(echoPin, INPUT);
      pinMode(PinA, OUTPUT);
      pinMode(PinB, OUTPUT);
      pinMode(PinC, OUTPUT);
      starsLighted = 0;
      starsIncrement = int( PixelsB / sizeof(windowStatesT0) );
      //Window Buttons
      for ( int i = 0; i < sizeof(buttonPins); i++ ) {
        pinMode(buttonPins[i], OUTPUT);
        digitalWrite(buttonPins[i], HIGH);
      for ( int i = 0; i < sizeof(buttonPins2); i++ ) {
        pinMode(buttonPins2[i], OUTPUT);
        digitalWrite(buttonPins2[i], HIGH);
      Serial.begin (9600);
    void loop() {
      if (starsLighted > 0) {
      //  checkButtons2();
    void(* resetFunc) (void) = 0;

    Sensor Trigger

    void sensorTrigger() {
      float duration, distance;
      digitalWrite(trigPin, LOW);
      digitalWrite(trigPin, HIGH);
      digitalWrite(trigPin, LOW);
      duration = pulseIn(echoPin, HIGH, 1000);
      if (duration > 0) {
        distance = (duration / 2) * 0.0344;
      else {
        distance = 999;
      if (sensorStart == false) {
        if (distance <= 10) {
          for ( int i = 0; i < sizeof(windowStatesT0); i++ ) {
            //windowFadeIN(255, 127, 0, waitTime, i);
            windowFadeIN2(255, 127, 0, waitTime, i);
            sensorStart = true;
            //colorWipe(stripB.Color(127, 127, 127), 50); // Red
      if (sensorStart == true) {
        if (distance >= 10) {
          //sensorStart = false;

    Stars Light

    void starLight() {
      constrain(starsLighted, 0, PixelsB);
      int probabilityMargin = PixelsB / starsLighted;
      if (random(probabilityMargin) <= 1) {
        int i = random(0, starsLighted);
        redStates[i] = 50;
        greenStates[i] = 50;
        blueStates[i] = 50;
        int i2 = random(0, starsLighted);
        redStates[i2] = 50;
        greenStates[i2] = 50;
        blueStates[i2] = 50;
        int i3 = random(0, starsLighted);
        redStates[i3] = 50;
        greenStates[i3] = 50;
        blueStates[i3] = 50;
        int i4 = random(0, starsLighted);
        redStates[i4] = 50;
        greenStates[i4] = 50;
        blueStates[i4] = 50;
        int i5 = random(0, starsLighted);
        redStates[i5] = 50;
        greenStates[i5] = 50;
        blueStates[i5] = 50;
    Read more »

  • Week 14

    Meryl Lee08/22/2018 at 05:05 0 comments

    20 August (Monday)

    29th Group Meeting & Production Time

    • Cutting the wires for the panels are all finished and soldering also almost done now just left the wiring for the house buttons.

    21 August (Tuesday)

    30th Group Meeting & Production Time

    • Now our main priority is soldering the wires into the LEDs and putting the  LEDs and wires onto the panels.

    22 August (Wednesday)

    31st Group Meeting & Production Time

    • The next day is suppose to be our final day to finish the whole thing and ready to be transported to Sunway Pyramid.
    • The wires for the LEDs almost finish and might finish by today.
    • We continue placing the LEDs on the panels and spraying paint on all the panels for the finishing touch.
    • We also plan out the flooring to support the whole shape of the structure together.
    The calculations for one piece of the flooring.

    23 August (Thursday)

    32nd Group Meeting & Production Time

    • The exhibition day is coming closer. We finally finished all the panels with LEDs and troubleshoot every single one of them.
    • After that we try to form the roof piece by piece and place it on the wall panels.
    • For the house buttons we solder the wires in it and put on a test run to see if its working.
    • We also made layers for the houses to add more support.
    • Today was also the day when the clients come in to check in with us on our finishing before the big day comes.

    24 August (Friday)

    33rd Group Meeting & Production Time

    • The last day before the big day. We try to finish as much as we can for the next day.
    • We troubleshoot all the LEDs to see if its in working order before shipping to Sunway Pyramid.
    • We loaded our stuff in vans and headed to Sunway Pyramid loading bay. Then we unload them and headed to our designated spot to set up.
    Fixing the faulty LED and wire.
    • We took many hours to set up and build up the dome structure. In the meantime we are also awaiting for the houses to get ready.
    • In the end we didn't get to make all 8 houses work so we decided to cut it to 3 working ones.
    • It took many hours but the houses are finally ready. We hurriedly put up all the houses and see if everything is ready.
    • There were problems with the wiring of the houses so our programmer and the help of our lecturer tried their very best to fix the problem before its open to the public.

    25 August (Saturday)

    Exhibition Day 1

    • Finally everything is working well and its a few minutes before opening.
    • We took shifts those in the morning and afternoon because we were all exhausted from getting everything up and running.
    • Our installation wasn't what we imagined to be with alot of setbacks and cutting short some things but overall it became a hit from just a few hours later.
    • People all flooded in, attracted to the structure of the dome and the stars lighting up above.
    • Our installation was really popular with the small children. They all really like to see the stars light up when they off the house lights.
    • We got to spread the message to the public and at the same time wow them with it.
    • The press came and took pictures with us for an article.
    • After the next shift our programmer check for any bugs and the wires if there was any problem before proceeding.

    26 August (Sunday)

    Exhibition Day 2

    • The second and last day of our exhibition, everyone was tired but determined to go through the day.
    • The press came again and interviewed every group about the installation and the whole experience.
    • Another busy day of entertaining the public. There weren't any big problems happened but there were some minor bugs here and there.
    • After that, at 10 p.m we started dismantling but before that we surprised our lecturers with a cake to celebrate their patience helping us and our whole class during this entire semester.
    • Then back to work dismantling everything. We didn't...
    Read more »

  • Week 13

    Meryl Lee08/16/2018 at 17:17 0 comments

    13 August (Monday)

    25th Group Meeting & Production Time

    • The final deadline is getting closer.
    • We still have alot of things to do and prepare.
    • All of us are divided into three groups doing different jobs.
    • We also think up a better wiring map of all the houses and how they will all be connected.
    A wiring plan for connecting each houses buttons together.
    • The wiring process is almost done thanks with the help of our Juniors and Seniors.

    14 August (Tuesday)

    26th Group Meeting & Production Time

    • We are making steady progress with our work.
    • Thankfully our programmer has finished with the coding part and now helping with with the wiring of the house buttons.

    15 August (Wednesday)

    27th Group Meeting & Production Time

    • Nothing much happened and still busy making the wiring for the buttons and soldering the wires on the LEDs take a long time.

    16 August (Thursday)

    28th Group Meeting & Production Time

    • We are needed to design the card one part of our user experience.
    • Wiring progress is almost over just a few more bundles left and can be placed on to the panels.
    • We produced a variety of buttons for the different house button sizes. The buttons are also made to be more secure even though it size is bigger.
    • One of our lecturer came in and ask us about the design and information of the poster for installation day.

  • Week 12

    Meryl Lee08/06/2018 at 02:52 0 comments

    6 August (Monday)

    21st Group Meeting & Production Time

    • Now we start with the production of our final projects.
    • We made more new improvements to the buttons to make it more steady and easy for wiring.
    • Since there are alot of panels to put the LEDs all 37 panels in total. We start early making cutting the wires and LEDs.
    • Our programmer is busy coding the other sensors for the houses.

    7 August (Tuesday)

    22nd Group Meeting & Production Time

    • Still continuing preparing wires for the panels.
    • It takes a long time but there is still progress going.
    • We also drill hole to all the panels even the walls and put in the nuts and bolts in. All the panels are ready to put LEDs and wiring.
    • While doing that the others are busy planning how is the electric box design.

    8 August (Wednesday)

    23rd Group Meeting & Production Time

    • We continue what we did yesterday and produce alot of wires but we noticed that we are short-handed and there is still alot more wiring to do.

    9 August (Thursday)

    24th Group Meeting & Production Time

    Lecturer Meeting comments & update:

    • The lecturer told us where and how our installation will be placed.
    • They said that there will be volunteers to come help speed up our project.

  • Week 11

    Meryl Lee07/29/2018 at 13:01 0 comments

    30 July (Monday)

    18th Group Meeting & Discussion.

    • 3 Days countdown till User Test on Thursday.
    • We continue our progress with making the wiring and LEDs for the triangle panels.
    • Painting all the walls have finally finished.

    31 July (Tuesday)

    19th Group Meeting & Discussion.

    • 2 Days countdown till User Test.
    • We try to find solutions to support the buildings from falling and from the hands of users.
    • Building miniature example of the support for the buildings.

    1  August (Wednesday)

    20th Group Meeting & Discussion.

    • 1 Day countdown till User Test.
    • The next step we try to experiment using nuts instead of cable tie to secure the folding panels of the triangles.
    • We changed it to nuts because cable tie doesn't look neat and nuts would make the panels more secure.

    2 August (Thursday)

    20th Group Meeting & Discussion.

    User Test Day

    • User test day. Everyone is preparing and adding the finishing touches.
    • We resemble the triangle and wall panels and made it stand upright .
    • The wires are then connected from the panels to the LED lights of the houses.
    • Our programmer prepare the code and power and it works!
    • We made it in time for the clients to come in but there were some complications to the wiring of the overall thing.
    Adding the power source

    How it looks like when the house window lights up

    The star lights shining in the background.
    Asking questions on how to improve from here.

    Clients & Users Comments:

    • One of the users requested to make the stars lit up in a sequence when someone comes in the installation.
    • They said that the message is not that clear.
    • They also suggested to make the star LEDs have colours to make it fun to look at.
    • The clients said that the star LEDs are too bright.
    • We had problems with connecting the wires and it was clear to the clients that we need to improve from that.
    • We also asked advice for the support of the houses and they asked us to make a 1 feet thickness support behind the houses.

  • Week 10

    Meryl Lee07/24/2018 at 14:29 0 comments

    23 July (Monday)

    15th Group Meeting & Discussion

    • We started to use the templates A and B and cut out the pieces.
    • We took turns tracing on the board and cut it out using the cutter. It took hours but we managed to finished cutting out all the triangle pieces. 28x of template A and 9x of template B. There will be also some extras incase there is a mistake during the process.
    • After that, we experimented on different things to make the folding line. When experimenting for awhile we managed to make a dent using an metal panel and a hammer.
    • We also did a time lapse of the whole process.

    25 July (Wednesday)

    16th Group Meeting & Discussion

    • Started painting all the triangle panels B with black paint.
    • Finish scoring all the triangle panels A and ready to be painted on the next day.

    26 July (Thursday)

    17th Group Meeting & Discussion

    • We confirm with lecturers about our changes in the user interaction. Our programmer later on start researching on the coding part of the new interactions.
    • After finishing making all the triangles for the roof we move on with fabricating the walls of the structure.
    • We cut out the shapes, make the folding lines and paint the panels.
    • We try to make haste since next week is the user test.

  • Week 9

    Meryl Lee07/18/2018 at 03:16 0 comments

    18 July (Wednesday)

    13th Group Meeting & Discussion

    • We intend to fabricate template B for the roof of the structure but we don't have a suitable material to work on at the moment.
    • We try to buy a suitable material and fabricate it tomorrow.
    • Continue making more of the buttons using 3D print.
    • Tried out ways to punch a hole onto the cupboard to tie it.
    • We confirmed the supplies for the corrugated cupboard coming on Saturday.
    • We did another house building for the interior.

    19 July (Thursday)

    14th Group Meeting & Discussion

    • Continue making more of the buttons using 3D print.
    • Today start making template B with the material bought yesterday.
    • We attach wires to the custom buttons.
    • We need to think of different user experience. The lecturer gave some suggestions to give users something to remember this from:
      • Using sensor like motion and touch sensors.
      • Make a different design for the buttons on the windows.
      • Something inside the buildings.
    • The dateline for this have been extended :
      • User Test - 2nd August
      • Client Final Review - 15th August
      • Deadline finish everything - 17th August
      • Public Showcase - 25th to 26th August
    • We thought of different ideas and try to code out the other ideas out to see if its workable.

    21 July (Saturday)

    • The supplier for the corrugated board came in the morning. We unloaded the boards to our workplace.

  • Week 8

    Meryl Lee07/11/2018 at 01:07 0 comments

    10 July (Tuesday)

    • Start making a live size prototype of the building using the corrugated board.

    11 July (Wednesday)

    11th Group Meeting & Discussion

    • Discuss a way to make a custom working button for the building windows. The size and how to put it into the corrugated board.

    12 July (Thursday)

    Lecturer Advice

    • Use washers on the folding of the triangle to secure the hole when tie up with cable tie.
    • Change the design of the button to have better support so it doesn't fall off.
    • Make a planner on what each person need to do. Have a smooth flow with progress every week.
    • The buildings need to be clean when handling. Maybe use gloves to avoid smudges on it.
    • The folding panel on the triangles looks very weird and might cause problems. Lecturer says to make it face outside and prioritise the interior than the exterior.

    12th Group Meeting & Discussion

    • Fabricated a template A , a piece of the roof for future reference.
    • Make some minor adjustments to the size of the triangles so it doesn't look weird.
    • Trial and error laser print the buttons for the building windows.
    • Placing the wiring and LEDs in place on the triangle board.
    • Code the LED for the stars. Suggested to make it white or slightly bluish for the LED stars.
    • Connect wires on the button

  • Week 7

    Meryl Lee07/11/2018 at 01:05 0 comments

    5 July (Thursday)

    10th Group Meeting & Discussion

    • Start testing out the coding sequence fro the LED lights and it was successful.
    • Build a miniature size mountain as the background and buildings for the prototype to estimate the overall space of the inside as reference.

    6 July (Friday)

    • A sample of corrugated board has arrived.
    • Check out the materials.

  • Week 6

    Meryl Lee06/23/2018 at 09:27 0 comments

    25 June (Monday)

    8th Group Meeting & Discussion

    • Finalise decision of the structure, materials and the interactive flow.
    We discuss about the size of the structure and list of the materials needed.
    • Improve pitching slides (Google Slides) for client. 

    27 June (Wednesday)

    9th Group Meeting & Discussion

    • Getting ready for tomorrows presentation with client.
    • Make a finalise mini prototype version of the structure.

    28 June (Thursday)

    Discussion with lecturers:


    • Think of a different ways for users to interact other than switching off the lights on the windows.

    2nd Client Pitch

    • Present finalised slides to client
    • Comments:
      • Determine the thickness of the board.
      • Plan out the time span fabricating and setting up the structure in Sunway Pyramid.
      • Think of another material for the flooring because the glossy sticker is easily scratch.
      • Materials proposed: 
        • Reflection Sticker
        • Perspex - expensive
        • White Formica 
          •  Easy to clean with thinner
          • Around less than RM100

View all 16 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates