Skip to content

11. Open Source Hardware - From Fibers to Fabric

Research & Ideation

For this week's project, we revisited the machine that our instructors built last year in the Fab Lab Puebla Click here, but with the focus of turning it into a CNC machine for origami. To do this, a special bed, "nozzle", and origami-themed casings that allows us to mark lines on materials in order to create complex origami pieces. The main objective and challenge is to configure the machine to achieve the necessary parameters that allow us to engrave on the material and comply with the basic principles of origami, which are mainly precision when folding the paper, understanding the types of folds (valley, mountain, etc.), and using common bases to construct complex figures mechanically.

PRINCIPLES of ORIGAMI

Origami is a technique that is normally constructed by hand, so in order to build a machine that marks the fold lines, factors such as the following need to be considered key definitions and variables

“3D origami” can mean:

- Paper pre-folded and folded into a 3D shape (assembly only).
-Sheet material that must be creased and then folded (creasing + folding).
-Complex structured folding with multiple layers, locking tabs, or elastic/self-folding behavior.
-Origami with various materials (paper, plastic, metal sheets, composites) or with built-in electronics/actuators.

Important project variables for an origami machine:

-Complexity of the part (number of folds, precision, sequential vs. parallel folds).
-Material properties (stiffness, elastic recovery, thickness).
-Simple folding template/passive fixtures (low complexity)
-Uses pre-bent sheets, manual loading, mechanical cam, or simple actuator to bend one or more folds.

To learn more about the basics and principles of origami, you can read this page The science behind the art of origami.

References & Inspiration

To understand a little more about how these machines work in order to configure and redesign them to achieve what we were looking for, we researched machines that already made these folds or bends. Although there are already some on the market, their function is limited to working on only two axes to achieve parallel lines. However, what we were looking for was to make complex shapes, so a 3-axis CNC machine could be an ideal option for engraving the necessary folds onto the material.

Similarly, one of the inspirations for this project was to make complex origami figures with different patterns.

The references we have on similar projects that could help us in the development of this project were the machines created by Aslı Aydın Aksan and her team, and Pauline Gamore. Both used the same mechanism to create machines capable of creating a kind of brush.

Shopbot console


Emotional Fabric


Tools

WORKFLOW

CNC MACHINE

As its acronym suggests, a CNC machine is a Computer Numerical Control system that uses computer software and electronics for control. In short, it is a machine that controls a group of motors with the aim of attaching a tool to perform precision work. In the laboratory, we have this type of machine, which gives us a clear idea of how it works, and from there we had to transfer the main components to the one we were redesigning. First, we identified the components of its construction. This site was a great support: How to build your own CNC machine

AXIS X,Y,Z

Components of the router
  • 1: Spindle
  • 2: Head
  • 3: Cutting bed
  • 4: Base

We also used a Markerbase controller card

Electronic components

Take a look at this image to understand detailing this electronic component.


For this week's task, each person focused on a specific task, and the work was divided as follows:

TASK DESCRIPTION RESPONSIBLE
BED/FRAME Construction of the base to hold the paper Dani and Sam
HARDWARE AND ELECTRONIC DEVELOPMENT Hardware development and electronic construction Alberto and with the support from Carlos
COVER Development and construction of the machine cover Laura
DOCUMENTATION Document the entire process of building the machine. Monse

BED/FRAME

To find the best way to have a bed that was stable enough but smooth enough to mark the passage of the punch through the material, Dani and Sam did a first test by cutting a first bed with the help of the laser cutter. However, it did not turn out as planned, so they resorted to other options.

The first idea of the bed and frame was designed in mdf of 3mm, the idea was that the frame would be assembled simply by fitting the circles into the holes, thus avoiding the need to replace the entire printing bed; it would be more of an addition. However, these circles didn't provide enough clamping pressure to prevent the paper from shifting. Therefore, a completely new printing bed was created using thicker MDF, and the holes were now designed for screws and nuts. The metal bed was removed and replaced with the new wooden one, which had a foam coating to provide a smooth surface for the stylus, allowing for better tracing.

The pieces 2 are in different layers so that different tools can be used for each one.

Below you will find the final plans with the exact measurements for the construction of the machine

ASSEMBLY

Once the best way to obtain the final pieces was found, foam pieces were included, which would help provide soft support to ensure that the folds were perfectly marked without damaging or tearing the sheet.

As mentioned above, we decided to rework the machine that our instructors used, so we worked on adding and assembling the frame and bed to this machine.

We also attached the foam board to the bed and some tabs to secure the material on which we wanted to trace the folds.

HARDWARE/ELECTRONIC DEVELOPMENT

This part was the hardest and for Alberto It was a bit difficult to wrap his head around how was de gcode going to be generated for our machine, and he thought about different alternatives:

•   Create a custom 3D printer in Ultimaker Cura, and it was important that it could do a little hop on the z-axis everytime. The problem is that Cura is expecting a 3D model, or an image and not some vectors. 
•   Treat the gcode as a laser gcode but instead of activating/deactivating the laser, moving the pen up and down accordingly, but that was also very hard to do as it was necessary to modify the export code and syntax.
•   Use the InkScape extensions for vinyl cutting and treating our machine as a vinyl cutter, as it works similarly to the origami machine.
•   Treat the machine as a drawing machine, but instead of a pen, we use the pointy tool for denting the surface of the paper.
•   Treat the machine as a CNC Router without a spindle and hope for the best

After thinking about the solutions, pros and cons of each one, and doing some research online, the best option is the CNC router imposter, as the Vectric Vcarve software is optimized for this kind of paths and operations.

For the punch 3, the main piece was printed on resin

The design was drawn in Inkscape as a vector and exported in .dxf format. Then uploaded to Vcarve for the proper configuration. A new tool was created for this operation, which needs 0 rpm and a slow feed rate, little depth per pass, etc. The final gcode was exported and tested on the open-source software Gsender, which can control the machine.

Code Example ###

    G17
    G21
    G0 Z20.0000
    G0 X0.0000 Y0.0000 S1 M3
    G0 X12.2673 Y0.6962 
    G0   Z10.0000
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X194.9324 Y210.0000  
    G0   Z10.0000
    G0 X213.4303  
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X297.0000 Y114.2430  
    G0   Z10.0000
    G0  Y95.7285 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X212.5926 Y-0.9883  
    G0   Z10.0000
    G0 X194.8792 Y0.0324 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X11.7838 Y210.0000  
    G0   Z10.0000
    G0 X0.0000 Y182.2007 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X158.0396 Y1.1137  
    G0   Z10.0000
    G0 X172.9521 Y-0.0595 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X297.0000 Y142.0787  
    G0   Z10.0000
    G0  Y183.2095 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X136.1125 Y-1.1408  
    G0   Z10.0000
    G0 X118.3991 Y0.1849 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X0.0000 Y135.8505  
    G0   Z10.0000
    G0  Y74.1210 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X118.5853 Y210.0000  
    G0   Z10.0000
    G0 X137.0832  
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X297.0000 Y26.7620  
    G0   Z10.0000
    G0 X279.0839 Y0.9406 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X96.6321 Y210.0000  
    G0   Z10.0000
    G0 X52.0859  
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X234.5197 Y0.9612  
    G0   Z10.0000
    G0 X297.0000 Y67.8928 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X172.9791 Y210.0000  
    G0   Z10.0000
    G0 X158.8930 Y209.8356 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X0.0000 Y27.7707  
    G0   Z10.0000
    G0 X96.4720 Y-0.2120 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X279.9373 Y210.0087  
    G0   Z10.0000
    G0 X235.3731 Y209.9881 
    G0   Z5.0000
    G1   Z-0.1000 F200.0
    G1 X51.9078 Y-0.2326  
    G0   Z10.0000
    G0 Z20.0000
    G0 X0.0000 Y0.0000
    M30

The first step with the Gsender is to zero every axis with the Zero X, Zero Y and Zero Z buttons, while having moved the tool to the lower-left corner of the area. I ran some tests high enough, so the tool doesn’t touch the base, and voilá! It worked.

As could be seen in the first attempt, the head was moving too slowly, so the Gcode was modified from blocnotes to add G1 F200, which indicates the initial speed at which the cutter should move. F is to set the feed rate at 200mm/min. The rapid movement defined as G0 was modified first because the speed was too high and the machine was jamming. It was changed to G1 so that it would move at normal speed, but this failed, so F200 was added first so that it would know at what speed to move.

and the vcarve postprocessor was also modified

Let´s test it...

Now, how can we get a working vector for an origami model? What we did first was fold the paper as we already knew how to create a little boat, then very carefully we unfolded it, and from those lines we traced the vector drawing that will be reproduced by the machine. Further development will make this process more intuitive, even automate it with software like Slicer for Fusion 360 or Pepakura designer and we got this lines [^4].

The process was done through Vcarve, using the custom tool we prepared, and sent as .gcode Beto ran it from the Gsender app, after configuring X, Y and Z axii. There will be 5 passes so the paper is perfectly scored and easy to fold afterwards.

footnote fabrication files

Fabrication files are a necessary element for evaluation. You can add the fabrication files at the bottom of the page and simply link them as a footnote. This was your work stays organised and files will be all together at the bottom of the page. Footnotes are created using [ ^ 1 ] (without spaces, and referenced as you see at the last chapter of this page) You can reference the fabrication files to multiple places on your page as you see for footnote nr. 2 also present in the Gallery.

COVER

The inspiration for the cover of the machine was in the same way, the origami and Laura asked Chat GPT for ideas to construct the machine

After that, she started with the final idea to create a cover not only aesthetic but aldo functional

After printing, the best way was to recover the piece and have a better finish and polish, Laura painted with white paint and made some remarkable lines around the piece

And this is the final look for the cover´s crontroller card.

Once we had the final look for the cover, it was assembled with the markerbase controller card

And this is the final look of our Origami machine

3D Models

This model 1 was obtained by..

CNC Working

Now it´s time to construct the boat

---

Fabrication files