Fabruary 5, 2025

Week 3
Computer-Controlled Cutting

Laser Test Alfredo Measurement Camila

Group assignment: Safety training, material testing, and laser cutter characterization.
This page documents our findings, testing results, and key learnings.

Group Task Distribution

Task Person Responsible
Designing Engraving & Cutting Test Camila
Testing engraving and cutting on acrylic & plywood Both
Designing the Kerf Comb Test Alfredo
Writting: Laser Cutter Safety Guide Camila
Writting: Laser Cutter Calibration & Material Testing Camila

🔧 Lab Safety Training

Safety Training

Before working with the laser cutter, we completed an essential safety training session to ensure proper handling of the machine and prevent accidents. Laser cutters use high-intensity beams, which can ignite materials, cause burns, and produce harmful fumes. The training covered the following areas:

Fire Safety & Emergency Procedures

  • Fire Extinguishers: We identified the fire extinguisher locations in the lab and learned how to operate them.
  • Emergency Stop: Every machine has an emergency stop button to instantly cut power if something goes wrong.
  • Proper Ventilation: Since some materials release toxic fumes, we reviewed how to activate the ventilation system before cutting.
Machine

Laser Cutter Safety Guide

Epilog Laser Zing

This reference guide provides essential safety precautions and best practices for operating the Epilog Laser Zing at Fab Lab Cuenca. For more information on specific machine settings and material compatibility, refer to the Epilog Laser Zing User Manual:

⚠️ General Safety Precautions

  • Always close the laser cutter lid before starting a job.
  • Never leave the machine unattended while it is operating.
  • Do not use the machine if you detect an abnormal state (such as an unusual smell, excessive smoke, or unusual noises).
  • Ensure proper ventilation is active before starting any cutting or engraving process.
  • Never work with PVC or other hazardous materials, as they release toxic fumes that can damage the machine and be harmful to your health.
  • If an emergency occurs, immediately turn off the power and notify the Fab Lab manager.

🔧 Operating the Laser Cutter

Before Starting a Job

  • Check that the machine is in good condition.
  • Ensure the bed is clean and free of debris.
  • Verify that the laser lens is clean and undamaged.
  • Check that the air compressor and ventilation system are functioning.
  • Select the appropriate material (e.g., acrylic, wood, EVA foam).
  • Adjust the cutting and engraving parameters according to the material thickness.
  • Position the material properly and focus the laser.
  • Run a test cut to ensure the settings are correct.

During Operation

  • Stay close to the machine and monitor the process in case of unexpected issues.
  • Be cautious of flames or excessive smoke, as these could indicate improper settings or hazardous material reactions.
  • Use appropriate power and speed settings to prevent overburning or incomplete cuts.

After Completing a Job

  • Wait for the machine to cool down before turning it off.
  • Remove any leftover materials or debris to keep the working area clean.
  • Turn off the ventilation and air compressor once finished.

🚫 Prohibited Actions

  • Do not touch the laser lens.
  • Do not introduce metal, combustible, or volatile materials into the machine.
  • Do not unplug the power cable by pulling it directly.
  • Do not disable safety features or protective covers.

Emergency Procedures‼️

Fire Occurs

Immediately use the emergency stop button and notify the Fab Lab manager.

Machine Gets Stuck or Malfunctions

Turn off the machine and manually reset it before restarting.

Long Running Time

Allow the laser to cool before shutting it down to prevent overheating.

⚙️ Laser Cutter Calibration & Material Testing

Once safety training was completed, we conducted a series of tests to characterize the laser cutter’s performance and understand how different settings affect materials. Our focus was on:

  • Finding the optimal focus for clean cuts.
  • Testing power & speed settings for engraving vs. cutting.
  • Measuring the kerf (material loss) for precise fits.
Machine

Laser Cutting Tests

Material Test Card

Material Test Card

To determine the best laser cutting and engraving settings, we created a Material Test Card that allowed us to evaluate different power, speed, and engraving configurations. We tested:

  • Engraving Power Variations (5%, 10%, 20%) – This helped us compare shading effects and determine how different power levels affect the material's surface.
  • Speed Adjustments – By altering the laser speed, we observed how slower speeds created deeper engravings while faster speeds resulted in lighter surface markings.

The Material Test Card provided us with a quick reference for achieving clean and precise engravings while minimizing burn marks or excessive depth. This information was especially useful for optimizing settings in our individual assignments and parametric construction projects.

Measuring Laser Kerf

Measuring Laser Kerf (Comb Test)

Kerf is the width of material removed by the laser beam, and understanding it is critical for designing interlocking parts in parametric projects. To measure the kerf, we:

  • Designed a comb test file with slots of different widths.
  • Cut the design and measured the actual slot widths.

📏 Key Learnings from Laser Cutting

Through this process, we gained several important insights about working with laser cutters:

  • 🔥 Fire safety is critical, especially for flammable materials like cardboard.
  • ⚙️ Always test on scrap materials first before finalizing settings.
  • 📏 Measuring kerf is necessary for precision in interlocking designs.
  • 🔍 Lower power settings prevent excessive burns in engravings.
  • 💨 Ventilation must always be on to prevent fumes from accumulating.

These findings will directly inform our individual assignments, where we design parametric construction kits using laser cutting techniques.

📂 Download Files

You can download all our test files and design files using the link below:

Fabruary 12, 2025

Week 4
embedded programming

Laser Test Alfredo Measurement Camila

Group assignment: Demonstrate and compare the toolchains and development workflows for available embedded architectures This page documents our findings, testing results, and key learnings

Group Task Distribution

Task Person Responsible
Compare the toolchains and development workflows Both
Xiao Alfredo
micro:bit Camila
Raspberry Alfredo
Arduino Camila

Getting Started with Micro:bit

micro:bit

The first tool we tried was MakeCode, Microsoft's block-based coding interface. It is very intuitive—perfect for beginners—since it allows users to drag and drop blocks to create logic. One feature that stood out was the built-in simulator, which lets you test your code without flashing it to the actual board. This was great because it saved time when debugging basic logic errors.

First Program: Button Input & LED Output

We created a simple button press program:If Button A is pressed, the LED matrix displays a smiley face. If Button B is pressed, a sad face appears.

Once we got this working in MakeCode, we switched to JavaScript mode (which MakeCode supports). The transition was smooth since MakeCode provides a direct translation from blocks to JavaScript.

Then, we tried MicroPython, using the Micro:bit Python Editor. One cool thing we discovered in MicroPython is that you can modulate the LED brightness, something that isn’t possible to do in MakeCode.

micro:bit

Now that we had basic programs running, we decided to experiment with more sensors and outputs.We tested a buzzer, then the microphone sensor. One of the most fun experiments was using the Micro:bit radio module to send messages between two devices. We coded two Micro:bits to act as a transmitter and receiver, sending an icon in our LEDs (a duck) wirelessly. This is a feature that is very easy to use in MakeCode.

micro:bit

Comparison Insight:

MakeCode

Super easy to use, great for fast prototyping.

JavaScript

More flexible than blocks but still user-friendly.

Python

Provides lower-level control over hardware but requires more typing and coding skills..

Velostat Pressure Sensor

I wanted to try something more interactive, so I made a touch sensor using Velostat. Velostat is a material that changes its resistance when pressed, so I used it as an input for the LED matrix: If lightly pressed, just one LED glows, when pressed harder, all the LEDs glow.

Cami: This was an important experiment for my final project, where I plan to create interactive circuit-based activities.

Testing Arduino & C++

Arduino

We also tested Arduino, switching to a different coding environment. Instead of block-based programming, Arduino requires writing code in C++ using the Arduino IDE.

First Program: Blinky LED

The classic "Hello World" of embedded programming! This simple program blinks the onboard LED every second.

void setup() {
	pinMode(LED_BUILTIN, OUTPUT);
}
										  
void loop() {
	digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
	delay(1000);                      // wait for a second
	digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
	delay(1000);                      // wait for a second
 }

After making it work, we decided to experiment by adjusting the blinking frequency. By reducing the delay, we made the LED blink much faster, helping us understand how microcontrollers handle timing.

Raspberry pi pico

Main characteristics

Pico pin diagram

from:

pico 1 documentation

Some terms definitions (from Wikipedia)

For testing I used Arduino IDE and included a blink led code in C++ from the basic scripts Arduino provides.

Pico pin diagram

Xiao ESP32 S3

The Xiao ESP32 S3 sense is a powerful little (21 x 17.8mm) micro controller.

Characteristics

Some diagrams for the ESP32S3 sense follow.

Sense_front_indication
Sense_front_indication
Sense_front_indication

A more detailed schema of the board can be found below:

XIAO reference

In case you are looking for the user led for this model, thanks to Pablo from FL Leon I went to look harder for this. You can find it in diagram below.

user led location

Another well documented page for this controller developed by the DroneBot Workshop is provided below.

XIAO reference 2

I found this micro controller in AliExpress for 15.99 euros so it quite affordable.

Testing

As I had already used C++ through the Arduino ID for this week I wanted to use something different. For this purpose I installed the IDE Thonny and uploaded the firmware to the board, you can see the documentation for this in my individual assignment if you need it. The library esp32 has the function **mcu_temperature()** that allows you measure the board temperature. As you can see you can run interactively python command in the console of Thonny.

Check Controller Temp

And I also tested a blink the user led program.

i = 0;

from machine import Pin
from time import sleep 
led_pin = 21
led = Pin(led_pin, Pin.OUT)
for i in range(10):
  led.on()
  sleep(1)
  led.off()
  sleep(1)
  print("Blink",i+1)
  
Fabruary 19, 2025

Week 5
3D scanning and printing

This is a generic page for the group assignments doc.
Use this page as a template to document your work, add a link from your doc site to this doc.

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.

List Unordered

Buttons

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';
Fabruary 19, 2025

Week 6
3D scanning and printing

This is a generic page for the group assignments doc.
Use this page as a template to document your work, add a link from your doc site to this doc.

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.

List Unordered

Buttons

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';
Fabruary 19, 2025

Week 7
3D scanning and printing

This is a generic page for the group assignments doc.
Use this page as a template to document your work, add a link from your doc site to this doc.

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.

List Unordered

Buttons

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';
Fabruary 19, 2025

Week 8
3D scanning and printing

This is a generic page for the group assignments doc.
Use this page as a template to document your work, add a link from your doc site to this doc.

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.

List Unordered

Buttons

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';