Week 1. Principles and Practices, Project Management


Fab Academy Student Agreement

Jhonatan Estiven Cortes Ceron - Fab Academy Student

The Fab Academy is responsible for:

- Teaching principles and practices of digital fabrication
- Arranging lectures, recitations, meetings, and events for the class
- Evaluating and providing feedback on student work
- Offering clear standards for completing assignments
- Certifying and archiving student progress
- Supervising class preparation
- Reviewing prospective students, instructors, and labs
- Providing central staff and infrastructure for students, instructors, and labs
- Fund-raising for costs not covered by student tuition
- Managing and reporting on the program's finances, results, and impacts
- Publicizing the program
- Promoting a respectful environment free of harassment and discrimination
- Encouraging a diverse, accessible, and equitable community

I am a Fab Academy student, responsible for:

- Attending class lectures and participating in reviews
- Developing and documenting projects assigned to introduce and demonstrate skills
- Allowing the Fab Academy to share my work (with attribution) in the class for purposes compatible with its mission
- Honestly reporting on my work, and appropriately attributing the work of others (both human and machine)
- Working safely
- Leaving workspaces in the same (or better) condition than I found them
- Participating in the upkeep of my lab
- Ensuring that my tuition for local and central class costs is covered
- Following locally applicable health and safety guidance
- Promoting a respectful environment free of harassment and discrimination

Signed by committing this file in my repository,
Jhonatan Estiven Cortes Ceron


Project Description: IoT Security Device (FabSafe)


What is it?

The project consists of an IoT security device designed to block the activation of dangerous machinery in a FabLab. It only allows access through fingerprint recognition or an administrator command sent via interface. This device reduces accident risks by preventing unauthorized personnel from operating equipment. It additionally requires periodic confirmations to ensure machines aren't left unsupervised, and includes a notification system that alerts administrators when machines are activated, enabling real-time control and emergency lockdown capabilities.

Device Components

  • ESP32: Controls the relay system that blocks machine activation
  • Relay: Interrupts electrical power to the machine
  • LED Display: Shows current system status
  • Fingerprint Reader: Enables authorized access
  • WiFi Antenna: Enables communication with admin interface
  • Buzzer: Emits audible alerts
  • Protective Case: Houses all internal components
  • Custom PCB: Organizes electrical connections
  • Vinyl Signage: Displays proper usage instructions
  • Laser-Cut Acrylic Screen Protector: Provides durable display protection

Who Will Use It?

Primarily designed for FabLab administrative and operational staff, the device serves two key purposes:

  • Enhances safety by ensuring only trained personnel operate machinery
  • Prevents unauthorized activation by any lab visitors

Importance and Benefits

Importance:

  • Safety: Reduces risks with dangerous equipment
  • Control: Enables effective usage monitoring
  • Prevention: Blocks unauthorized access

Benefits:

  • Personnel Protection: Ensures only certified operators
  • Real-Time Alerts: Instant admin notifications
  • User-Friendly: Intuitive fingerprint interface
  • Customizable: Adapts to various machines

This project not only improves FabLab safety but sets a new standard for responsible management of hazardous equipment in educational and manufacturing environments.




Website Development Justification

As a Systems Engineer and Developer, I created this website to showcase my weekly progress in the FabAcademy program. Using an HTML template with Bootstrap, CSS, and JavaScript allowed me to accelerate development while maintaining professional standards. My workflow was optimized through Visual Studio Code with preconfigured extensions and code snippets, enabling efficient content updates and version control integration.


Step-by-Step Website Setup Guide

1. Development Environment Setup

Tools: Visual Studio Code (VSCode) as primary editor
Productivity Boosters: Preconfigured code snippets -+nd extensions

2. Git Installation

  1. Launch VSCode and navigate to Version Control panel
  2. Follow prompts to install Git for 64-bit systems
  3. Complete installation and restart VSCode
  4. STEP 1
    STEP 2.1
    STEP 2.2
    STEP 3

3. Repository Cloning

  1. Select "Clone Repository" in the version control section, or use the easier option of cloning directly from your repository on GitLab.
  2. Access the FabLab Git repository by logging in with your FabLab credentials.
  3. Generate access token in Git account settings

  4. STEP 4
    STEP 5
    STEP 6

4. Access Token Configuration

  1. Create new token with read/write permissions.
  2. Go to your GitLab profile, click on the dropdown menu, and select "Clone" using HTTPS to avoid network blocks.
  3. Select the local folder where you want to clone the repository in VSCode.
  4. When prompted to authenticate, use your FabLab username and the previously generated token (created for this PC) to complete the process.
  5. STEP 7
    STEP 8
    STEP 9
    STEP 10

5. Final Setup

  1. I accepted the authors and verified that all files were cloned correctly.
  2. I opened the cloned HTML file to view the webpage.
  3. I verified the website's functionality and ensured everything was working as expected.
  4. I implemented modifications to the HTML template as needed.
  5. I configured custom code snippets to speed up development.
  6. STEP 11
    STEP 12
    STEP 13
    STEP 14
    STEP 15

6. Upload Changes to the Repository

  1. I staged the changes using git add . in the terminal or through VSCode's Source Control interface.
  2. I committed the changes with a descriptive message using git commit -m "Descriptive message here".
  3. I pushed the changes to the remote repository using git push origin main (replacing main with my branch name when necessary).
  4. I verified on GitLab that the changes were successfully uploaded.
  5. STEP 16
    STEP 17
    STEP 18
    STEP 19

Personal conclusions from this week

This week, I learned a lot by reinforcing several key skills—from cloning a repository and properly structuring a project to generating web pages using HTML, CSS, and JavaScript. Getting into the rhythm of the Fab Academy was a real challenge for me. Due to personal reasons, I initially started with complex templates, which slowed down my progress. However, as the days went by, I refined that template until I created a base that truly convinced me. Here are some tips that could have made my work easier from the beginning:

1)Choose a simpler template, preferably one based on Bootstrap. This allows for faster and more efficient page layout and structure.

2)Study Bootstrap (or any similar framework). It streamlines development so you can focus more on the weekly assignment than on web development itself.

3)Define a clear roadmap for how you will develop and document each week's assignment. In my case, the following structure helped me a lot:

3.1)Review the assignments in detail and understand the requirements and recommendations from the Fab Academy website.
3.2)Explore what previous students have done in other years and nodes.
3.3)Once I have all that input, I define what I need to do and how I can approach it. Then, I set my own objectives.
3.4)As I complete each objective, I document it in real time. Documentation is the most important part—trying to recall steps later is the worst.
3.5)Upload and update your website as soon as each goal is completed. It may seem like it slows down the process, but it's the best way to keep your documentation up to date and catch any issues early on.
3.6)Ask for feedback and support from your tutors. This will help you improve your work and ensure your page reflects your best version.

Some of these tips I discovered in later weeks. But as I mentioned in the last one—there’s always room for improvement, and that’s why I decided to enhance this week’s work.