Session 9: The ups and downs of prototyping

5th July, 2:00PM, Making & Tinkering Lab

Shawn, Hung, Kang Hao, Xinhui

We are required to put a holder for the Rubik Cube so that the Rubik Cube will not shake or change position when we are drawing on the Rubik Cube. The evolution is as below:

Rubik Cube Holder Evolution
Image 1: Rubik Cube Holder Evolution

The sequence of the holder starts from left to right.

The first prototype is just a test for the size of the Rubik Cube to ensure it fits in the box.

The second prototype is testing for the width of the hole for the flipper prototype 2 to go through it. Aside from that, a thin inner layer is added to the wall of the holder to ensure the Rubik Cube stay firm in the holder and will not shake.

The third prototype (black) is testing for flipper prototype 2 where we integrate the holder in flipper prototype 2.

The fourth prototype (most right) is designed to let the Rubik Cube slide in more easily. The original prototype (1,2,3) has a straight wall on all sides. This prototype Rubik Cube holder has slight curvature on the wall to let the Rubik Cube slide down when flipping easily.

7th July, 10:00AM, Making & Tinkering Lab

Shawn, Hung, Kang Hao, Xinhui

And now we need to integrate the z motor and the flipper together! We are planning to design and 3D print a pulley to turn the z-axis of the motor as shown in the image below.

Z Axis and Flipper Integration Version 1
Z Axis and Flipper Integration Version 1

However, the mounting between the pulley and the base is quite loose and the whole holder will topple down when flipping as shown in the video below.

Hence, we redesigned the Rubik Cube Holder and made use of a ball bearing to have a better connection as shown below (TBC).

 

Session 10: Reflective Essay

13 July, 10:00am, Making & Tinkering Lab

Shawn, Hung, Kang Hao, Xinhui

We had a second presentation outside the M&T lab to update our progress to the professors and lab crew. Afterwards, we discussed the next steps in our plan which includes: test drawing on Rubik’s Cube, fixing the electromagnet position, and developing a web app as an interface to convert an image file to gcode.

We have written a reflective essay prior to the presentation to showcase our thought process along this Making and Tinkering journey:

Like most engineering projects, our very first step was to brainstorm and ideate. We were told that the best way to have a good idea is to have a lot of ideas, and so we did exactly that. After a 2-hour Zoom session, our once empty google document was soon filled with an assortment of ideas. All we had to do now was to pick out one that we can all agree on. 

Our first idea was to create a sand vacuum machine which can solve beach litter problems in Singapore as there are a lot of litter on our beaches yet volunteering efforts can only do so much. Our robot, which can be operated from a remote control, will be able to move along the beach and sieve out litter such as chopsticks, wrappers, bottles, and caps. We aim to help by filtering out litter from the sand. Our machine can be divided into 3 parts: Rubbish Collection, Filtering, and Storage. We decided on off-road wheels as the base to navigate through the abrasive sand, with conveyor belt wheels as an alternative. We thought of using a shovel-like scoop or a conveyor belt at the front to collect litter, but soon realized that that it obstructs the movements of the vehicle as it has to go beneath the sand to bring up the litter. A filtering cylinder held by a holder with ball bearings and rotating mechanism was decided for the filtering part, but that also has its limitation. In the end, we decided to give up on the sand filtering machine due to two main reasons: ineffective way to filter litter from the beach and low efficiency. We also have difficulties approaching the most important component, filtering, as certain designs would have different dynamics due to the motion of the filter.  

Having ran into a dead end, we decided that it was best to switch to another idea. We went back to our Brainstorming.docx for other potential ideas, but to no avail. Distressed, we decided to meet up with Dr Ho for some advice. After explaining our situation to Dr Ho, a suggestion was brought up — using the 3D Printer to draw portraits. Though the idea was good, we thought that we could do better. We then thought of modifying the 3D Printer to write Chinese calligraphy, but later found out that it has been done before, and that it will be hard to mimic the pressure and motion of writing Chinese calligraphy. That was when colouring 3D Objects was brought up. The initial thought was to colour the 3D Prints while rotating it, but we then faced the issue of overhangs and ink sipping through the grooves of the 3D Prints. After hearing about our problem, Hanyang suggested that we narrow down the scope of our project, giving the example of a machine which paints easter eggs. We took the suggestion, and thus finalized on our project idea — drawing on a Rubik’s cube. 

The normal Rubik’s cube, with different colours on each side, seemed basic to us, and so we decided to draw pictures it by modifying a 3D Printer. Our project will consist of 4 parts: Picture Editing, Drawing, Changing Sides, and Changing Colour. As a start, we decided to do 1 colour and flip the cube manually. For the picture editing part, we tried out online photo editing apps to turn pictures into art. However, most of them did not work out for our project. Hence, we decided to write a program which converts portraits into line art. Though it is still under trial, it seems to be working well. For the drawing part, we tried to code our own program which generates the Gcode to draw on the Rubik’s cube through dithering, which was not ideal as it takes a long time to draw. We then tried out Cura and Inkscape, which was better as the Gcode generated draws the picture in a line motion instead. For the part on changing side, we researched and tried many methods, having many prototypes in the process. Fortunately, after a few failed attempts, we managed to build one that works with our machine by being inspired by other projects online. For the part on changing colours, we tried to change pens using magnets, which were simply not stable enough, and hard to control. Thus, we decided to turn to electromagnets, which will give us enough control over the grabbing and releasing of different coloured markers.  

From hands-on and machinery knowledge to teamwork and soft skills, we had a lot to take home from this project. The process of failing was unironically the most important one and we get to know the importance of planning ahead really saves lots of precious time when prototyping. Many a time, we realised that the best and only way to know whether our idea would work is to build it and try it out, and only through failing can we further improve and optimise our machine. We had a wide range of skillset between us: electrical, mechanical, material and computer science, we had a lot to give and a lot to learn. It seemed logical for us to split the work according to our expertise, but we were also learning from each other by trying out things outside our expertise. Though we are still in the process of completing our project, it is undeniable that we have learnt many things along the way. 

Session 8: Electromagnets & Mona Lisa

27th June & 1st July, 2:00PM, Making & Tinkering Lab

Shawn, Kang Hao, Xinhui

We managed to get Inkscape to work properly with the Ender3, changing the settings so that the pen goes up before moving to a new point. We also changed the origin according to the position of the tip of the pen and shifted the Z-axis clicker up to fit the height of the pen. With that, we successfully drew out the 1st perfect edition of the Mona Lisa, and we managed to scale the size of the canvas down to the size of our Rubik’s cube.

27th June, 2:00PM, Making & Tinkering Lab

Shawn

The first idea of our flipper is shown in this video. However, we tried to 3D print the object and it doesn’t work as expected.

Image 1: First Flipper Prototype

There is a slider between the pointer of the motor and the horizontal flipper as shown in Image 1. The friction of the pointer and horizontal flipper is pretty high which causes it not to work as expected in the video.

30th June, 12:00PM, Making & Tinkering Lab

Shawn, Hung

The purpose of using an electromagnet is to act as a switch to grab and release the pen.

The electromagnet we tested has an operating voltage of 5 Volts. However, we have realized that the ramp 1.4 we used was operating at 12 Volts which is way much higher than the operating voltage of the electromagnet. We tried to use the MOSFET in RAMP 1.4 by inputting PWM (pulse width modulation)) to the electromagnet, however, the 12 Volts supply might have damaged the electromagnet.

Hence, we are now trying to buy another electromagnet with an operating voltage of 12 Volts.

1st July, 3:00PM, Making & Tinkering Lab

Shawn

Another idea of the flipper is pretty straight forward by having holes on the Rubik cube holder and a motor flips through the hole to flip the Rubik cube as shown below:

Video 1: Flipper Prototype 2

Aside from that, there is a Nema Motor under the Rubik’s cube holder to have a rotation at the z-direction. We have printed out the model in video 1 shown below:

Mainly 2 problems exist in this model:

  1. The height of the whole model is around 12 cm tall. There is not much space left for the Ender 3 Printer to work properly
  2. The Rubik Cube is stuck in the Rubik Cube Holder without turning properly as shown in the video below:

 

Session 7: Raspberry Pi, Arduino, & Inkscape

21st June, 3:00PM, Making & Tinkering Lab

Shawn, Hung, Kang Hao, Xinhui

After experimenting with Pronterface, it led us to try out another approach.

We managed to send a serial communication (Gcode) to Arduino Mega via Raspberry Pi instead of using a laptop. The library used for Gcode processing is pyserial.

While looking for inspiration online, we discovered software used for 2D drawing on a 3D printer, Inkscape. With many tutorials online, Inkscape seemed promising, so we decided to give it a go. Following this tutorial, we started our experiment. We tried to draw a spiral at first, converting it to Gcode using Inkscape, and loading it into Pronterface. We then connected to the Ender 3 and to our relief, the Gcode seemed to be correct as the extruder was moving in a spiral, as expected.

Since Inkscape was working, we designed a temporary pen holder to fix onto the 3D Printer for test drawing.

Feeling ambitious, we decided to draw on the cube straight away. Unsurprisingly, as we did not calibrate the machine properly, we broke the tip of our marker pen. We took a step back to draw on paper instead, and the results were actually not that bad. We still have more calibrations to do, but at least we know that Inkscape works with our project.

Session 5:   Building our 3D Printer (add vid of 3d printer)

7th June, 2:30PM, Making & Tinkering Lab

Shawn, Kang Hao, Xinhui

We built up the skeleton of the Ender 3 Printer with the help of Tony and Qi Jie 🙂 as there were no manuals. The process was similar to a Lego building with different motors and controllers set up. We had a lot of fun experimenting with it to get working, so we decided to put up a video of us building it and step-by-step procedures for future students!

Steps:

  1. Build up the entire structure of the 3D Printer by securing the aluminium profiles.
  2. Secure the controller and Arduino onto a holder which can be screwed onto the aluminium profiles ( We made a mistake in doing this as the last step, you can learn from us, hahaha!)
  3. Afterwards, the three x, y, and z motors controlling the printer’s movement can be attached to the aluminium profiles with the stoppers.
    X-motor
    Y-motor
    Z-motor
  4. The x, y, and z motors require each a stepper motor and switch cable. Connect them to the controller which needs to be tested with the Marlin firmware later on. Look out for X, Y, and Z in the middle in the schematics and end stops at the top right corner.Schematic of the controller
  5. Lastly, the belt and the moving roller for the extruder can be finally attached to the x-axis. Then, all the physical work of the 3D Printer is done!

    X-axis belt & roller
  6. For the 3D Printer, Marlin firmware and Arduino are required to boot up the printer. The Marlin firmware is uploaded to the Arduino Mega through the Arduino IDE, procedures can be found on their open-source site. Pronterface can also be used to control the 3D Printer.
  7. Some of the settings were changed in configuration.h file to fit our project so understand which areas you are required to change. Have fun!

Session 4:   Shopping Time!

3rd June, 4:00PM, Plaza Singapura

Kang Hao, Xinhui

Now that we’ve settled on our project idea, there are two things that we absolutely need – a Rubik’s cube and markers. As for the Rubik’s cube, we managed to source a full white one from a local seller, Cubewerkz. It was important to us to find a local seller, so we could always go back for more cubes if needed. We also went on a shopping trip to art shops (Overjoyed, Art Friend, Popular) to try out markers with our Rubik’s Cube. The criteria for our marker selection were:

  1. Able to draw on a Rubik’s cube
  2. Dries fast (within 5 seconds) and does not smudge
  3. Has a variety of colours

After many test drawings, we bought two markers which were satisfactory: Artline Supreme Metallic Marker & Pentel Maxiflo Permanent Marker.

Total damage: $23.24

Session 3:   Painting a….Rubik’s Cube?

25th May, 10:30AM, SPMS

Shawn, Kang Hao, Xinhui

We went to meet Hanyang to share our new idea, 3D colouring and asked for his opinions. When we explained our idea to him, he brought up many difficulties we might face during the project, such as overhangs in 3D Prints, and ink sipping through the grooves of the 3D Prints. Hanyang brought up a project he had seen in the past, painting Easter eggs, and advised us to scale down instead to make our project more feasible. We then sat down and discuss what we could possibly paint on, and decided to scale down to a Rubik’s Cube instead.

After telling Hanyang about our Rubik’s cube idea, he suggested a few levels of difficulty we can approach the project:

Level 1: Manual flipping after colouring

Level 2: Automatic flipping after the colouring is done

Level 3: Change different markers during the colouring process to paint.

He also mentioned an interesting “side quest”, which was to paint the Rubik’s cube in an already scrambled state, which must be solvable as well, but that will be something we can think about after we finish the project.

Session 2: Meeting Dr Ho #2

20th May, 1:30PM, Zoom

Shawn, Hung, Kang Hao, Xinhui

Our group was stuck on several parts of the Automated Sand Filtering Machine for a week and decided to meet Dr Ho for his advice and opinions. We explained our drawings and workings to Dr Ho, who initially suggested an improvised Archimedes screw. However, we realized that it was hard to improvise from there. We started to look at alternative ideas.

We proposed another project (a self-sorting recycling bin) but it was turned down by Dr Ho due to inaccuracy in similar past projects using AI. Eventually, we decided to give up on sand filtering due to low efficiency and it was hard to come up with an effective way to collect and filter the rubbish from the beach.

A robot 2D sketcher was brought up which we extended to robot Chinese calligraphy writing, and henna writing. After giving it much thought, we decided on a project about 3D colouring and an improvised way different from the current market, using art markers. This machine would rotate the 3D Prints from the side, while a marker would start colouring it from the top. Feeling confident with our idea, we decided to meet up with Hanyang for further discussion.

 

Session 1: Hanyang’s 3D Printing Lesson + Meeting Dr Ho #1

10th May, 9:30AM, SPMS

Shawn, Kang Hao, Xinhui

As a part of our M&T training, we attended a 3D Printing workshop conducted by Hanyang, one of the instructors for M&T. He began the lesson by starting up the 3D printer to print a small cat figurine. After briefly introducing what 3D Printing is about, he shared more about what material was used for 3D Printing, the mechanism behind 3D Printing, and the software used for 3D Modelling. For this course, the software introduced to us was Fusion360, and we were given a license to design and draw out parts which we might need for our project. After the theory part, we were free to experiment with the software after Hanyang gave us a guided lesson on how to use Fusion360. We also took a look at the printed objects and realized how versatile they could be in terms of flexibility, size and colour.

Afterwards, we were brought into the M&T Lab, which Hanyang gave us a short tour of.  More importantly, he showed us where the 3D Printers were and how we could use them. He then went through with us the procedure to follow for 3D Printing, such as where to slice, what to do during our first print, and what to look out for when we are printing. For future references, here are a few things that you should look out for:

  1. Look for lab personnel during your first print
  2. Always check the amount of filament before you print
  3. After the print starts, stay to check on the first layer of the print

In the meantime, we took the chance to talk to 2 of the students in the M&T Lab for some advice on our project. As people who had seen many M&T projects, they gave us detailed feedback on our ideas, such as the pros and cons of each idea, and whether it would be feasible to complete within 3 months. Speaking to them gave us great insight, which prompted us to settle on the idea of an Automated Sand Filtering Machine and to have a group meeting soon.

11th May, 2:00PM, SPMS

Shawn, Hung, Kang Hao, Xinhui

Today we met Dr Ho to share our idea with him. We explained to him the possible structure of our machine, which consists of collection, filter, and rubbish disposal. After hearing about our ideas, he prompted us to think about as many different ideas to collect and filter the sand and reminded us to make sure that the components were all waterproof and compatible to work with sand. Upon discussion, we decided to have another group meeting tomorrow to brainstorm the details of our idea.

12th May, 12:30PM, Tamarind Hall

Shawn, Hung, Kang Hao, Xinhui

Our agenda today was to discuss the possible ideas for all 3 parts of our machine, as well as how to sand and waterproof it. After a few hours of brainstorming and googling for ideas, we managed to think of some ideas for all 3 parts. For rubbish disposal, we decided to attach a trash bag to a trailer behind the machine, where the rubbish will be dropped through a hole at the end of the filter. For filtering, we decided on either shaking and sieving, or a rotating cylindrical filter. For the collection, however, none of our ideas seems to be feasible.

The first idea was a spiral. Though stable, it needs to be long and wide in order to collect big rubbish, and it needs to synchronize with the wheel. The second idea was a fork-like shovel. Although it can filter out most sand when it’s collecting rubbish from the beach, it has many disadvantages: material has to be strong, the gap must be of accurate size, and items might get stuck. Our final idea was a conveyor belt. It was a good idea, as it would be able to collect rubbish of any type. However, it would also be bringing up a lot of sand, which we do not want.

Additionally, all ideas face the problem of friction. We were stuck and we did not know what to do. The discussion had already taken the whole afternoon by then and we were running out of ideas. We decided that it was best to end the day.

Session 0: Brainstorming

5th May, 10:00PM, Zoom

Shawn, Hung, Kang Hao, Xinhui

This was our first group meeting and brainstorming session. Throughout the course of this zoom session, we threw out many random ideas that we thought were fun and might work.

One of us mentioned a self-sorting recycling bin that automatically sorts and categorises recyclable waste. Another proposed a plastic compressor, a machine that would turn plastic waste into decorative pieces. Even a robot bartender, whose purpose was to mix drinks like a real bartender, was added to our list of potential project ideas.

We weren’t sure which one we’d be using in the end, but we weren’t planning to decide today either. Looking at the endless list of possibilities, we decided to leave the decision to another day.