Forensic Report: Formlabs Form 1 =============== | Identity of the reporting agency | MDEF | |----------------------------------------|--------------------------------| | Case identifier | Forensics of the Obsolescence | | Identity of the submitter | Belén Comoto, Flavio Grimaldi, Andrea Santi, Ramon Prat, Maximilian Becht | Date of receipt | 15/10/2024 | | Date of report | 17/10/2024 | | Identity and signature of the examiner | Belén, Flavio, Andrea, Ramon, Max | ## Obsolete Object ![IMG_0472](https://hackmd.io/_uploads/r1wgCH0JJg.jpg) :::warning **Brand:** FORMLAB **Model:** FORM 1 **Serial number:** GlisteningCrow **Colour:** GREY (aluminum), ORANGE (acrylic) **Made in:** USA, China, international ::: ## Examination Descriptive list of items submitted for examination, including serial number, brand and model: <div class="sketchfab-embed-wrapper"> <iframe title="Form 1+ 3D printer" frameborder="0" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" allow="autoplay; fullscreen; xr-spatial-tracking" xr-spatial-tracking execution-while-out-of-viewport execution-while-not-rendered web-share src="https://sketchfab.com/models/ef0a12f2d10849dd9dc1ba5cfbeee061/embed"> </iframe> <p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;"> <a href="https://sketchfab.com/3d-models/form-1-3d-printer-ef0a12f2d10849dd9dc1ba5cfbeee061?utm_medium=embed&utm_campaign=share-popup&utm_content=ef0a12f2d10849dd9dc1ba5cfbeee061" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> Form 1+ 3D printer </a> by <a href="https://sketchfab.com/formlabs?utm_medium=embed&utm_campaign=share-popup&utm_content=ef0a12f2d10849dd9dc1ba5cfbeee061" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;"> formlabs </a> on <a href="https://sketchfab.com?utm_medium=embed&utm_campaign=share-popup&utm_content=ef0a12f2d10849dd9dc1ba5cfbeee061" target="_blank" rel="nofollow" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a></p></div> | Picture | Part Name | Serial number | Quantity | Specifications | Made in | | -------- | -------- | -------- | ------- | ------- | -- | | ![Klein (Formlabs Form 1 Teardown IMG 0829 )](https://hackmd.io/_uploads/H1gLwLCykg.jpg) | Cover, UV-Filter | 334029-03 REV.C | 1 | Acrylic 270x290x270mm 1585g | - | |![IMG_0834 de tamaño mediano](https://hackmd.io/_uploads/SJ6wqUCy1e.jpg) | Rubber seal | - | 1 | Rubber 7mm | - | |![IMG_0822 de tamaño mediano](https://hackmd.io/_uploads/HymgjIAy1l.jpg)| Top Cover | - | 1 | Aluminum 270x80x300mm 536gr| USA | |![IMG_0824 de tamaño mediano](https://hackmd.io/_uploads/r1SBsURkkx.jpg)| Back plate| - | 1 | Aluminum 270x160x1mm 309gr| USA | |![IMG_0617](https://hackmd.io/_uploads/SyLVkvCyyg.jpg)| Bottom plate| - | 1 | Aluminum 270x80x300mm 821gr| USA | |![IMG_0616](https://hackmd.io/_uploads/Hywc1PR11e.jpg)| Front plate| - | 1 | Aluminum, Plastic 270x160x1mm 405g| USA | |![IMG_0821 de tamaño mediano](https://hackmd.io/_uploads/SJx4ewAk1x.jpg)| Bracket | - | 2 | Aluminum 250x90x1mm 120gr x 2| USA | |![IMG_0823 de tamaño mediano](https://hackmd.io/_uploads/S1NvxwCJ1g.jpg)| Hinge, Spacers | - | 5 | Aluminum 365gr| | |![IMG_0796 de tamaño mediano](https://hackmd.io/_uploads/B1xXZw0ykx.jpg)| Resin Tank | - | 1 | Acrylic 170x40x195mm 295gr| | |![IMG_0108](https://hackmd.io/_uploads/HJT14w0y1e.jpg)| M3x6mm, Internal Head | - | 2 | Steel | | |![IMG_0111](https://hackmd.io/_uploads/rJakHwCyJx.jpg)| M4x6-16mm, Pin Head | - | 10 | Steel | | |![IMG_0110](https://hackmd.io/_uploads/HyAgrP011l.jpg)| M4x7.5mm, Flat Head | - | 24 | Steel | | |![IMG_0112](https://hackmd.io/_uploads/B10wrDAJyx.jpg)| M3x18mm, Flat Head | - | 4 | Steel | | |![IMG_0114](https://hackmd.io/_uploads/H1_hHwCkye.jpg)| M3x16mm, Flat Head with nut| - | 4 | Steel | | |![IMG_0113](https://hackmd.io/_uploads/Byoprv0kkl.jpg)| M2.5x3mm, Pin Head | - | 4 | Steel | | |![IMG_0820 de tamaño mediano](https://hackmd.io/_uploads/BkqLUPCkye.jpg)| Button with LED Ring | - | 1 | 22mm diameter 75gr | NK Labs, USA | |![IMG_0115](https://hackmd.io/_uploads/SkIrdvCJkx.jpg)| OLED Screen | 322950054 | 1 | PCB, Ribbon cable, 60mm x 20mm 65gr | NK Labs, USA | |![Groß (IMG_0124)](https://hackmd.io/_uploads/ry_rkuAkkg.jpg)| Hall sensor |55140-3H-02-A| 1 | 7g | Littlefuse, USA | |![Groß (IMG_0117)](https://hackmd.io/_uploads/SJR8oDRJJl.jpg)| Chassis | - | 1 | Aluminum 270x440x200mm 4420gr | | |![Groß (IMG_0118)](https://hackmd.io/_uploads/SJD_sD01Jl.jpg)| Mirror | - | 2 | Glass | | |![Groß (IMG_0121)](https://hackmd.io/_uploads/HJXYsPRJyl.jpg)| Stepper motor | Nema 14 | 1 | 35x35x35mm | | |![Groß (IMG_0120)](https://hackmd.io/_uploads/S13tov0kyx.jpg)| Stepper motor | - | 1 | Aluminum | | |![Groß (IMG_0622)](https://hackmd.io/_uploads/SkMjsP0J1e.jpg)| Galvo motor with Mirror | 20K-1405260 X | 2 | Aluminum | | |![IMG_0556 de tamaño mediano](https://hackmd.io/_uploads/SyWmovR11l.jpg)| Control Board | 334260-00| 1 | PCB, STM32 32-bit ARM Cortex-M3 microcontroller 126gr | NK Labs, USA | |![IMG_0624 de tamaño mediano](https://hackmd.io/_uploads/ryXx2D0J1x.jpg)| SD-Card | 341550182 | 1 | | | |![IMG_0891 de tamaño mediano](https://hackmd.io/_uploads/Hk2AcwAJ1e.jpg)| Galvo Driver C11 | | 1 | PCB 140gr | NK Labs, USA | |![IMG_0538 2 de tamaño mediano](https://hackmd.io/_uploads/ryid5PAJ1e.jpg)| UV Laser | LR/C1/02/1405035C | 1 | 60x15mm, 405nm, 120mW violet laser diode 73gr | | |![IMG_0625 de tamaño mediano](https://hackmd.io/_uploads/HJWynDRJ1l.jpg)| Power Supply | FY1502406000 | 1 | Aluminum 24.0V 6.0A | | The SD card stores 5574 .flp files, we have no idea why. ![Bildschirmfoto 2024-10-17 um 18.02.44](https://hackmd.io/_uploads/rJsKBhA1ke.png) <div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/1020543189?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Disassembling FormLabs 1"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script> ## Forensic Questions **What does it do?** The Form 1 by Formlabs is a stereolithography (SLA) 3D printer that uses a process of photopolymerization to create highly detailed and accurate 3D objects. Unlike traditional Fused Deposition Modeling (FDM) printers, the Form 1 employs a liquid resin that is cured layer by layer using a laser to solidify the material. This printer was designed for professional and institutional users, focusing on delivering high-resolution prints for applications like prototyping, product design, and small-scale manufacturing. **How does it work?** The Form 1 works by utilizing stereolithography (SLA) technology, which follows this basic process: The printer’s core mechanism includes a laser that traces the shape of each layer on the surface of a liquid resin basin. Two mirrors mounted on galvo-motors direct the laser beam, ensuring precise movement across the X and Y axes. The entire process repeats until the 3D object is fully printed, with the uncured resin remaining in the tank. Once the laser traces a layer, the uv-resin in that specific area cures and solidifies. After one layer is solidified, the build platform moves up or down (depending on the orientation) slightly, allowing the next layer to be cured. The Form 1 uses a 405nm ultraviolet (UV) laser to cure the resin and supports different layer heights, usually between 25 and 100 microns, depending on the resolution and smoothness needed. **How it's built?** The core of the printer is its UV laser module, which is positioned below the resin tank. It is paired with a system of galvanometer-controlled mirrors that direct the laser accurately along the X and Y axes to cure the resin layer by layer. The galvanometer mirrors are critical components, as they allow precise, fast movement of the laser beam, ensuring the design's accuracy. The printer also includes stepper motors for precise control of the build platform's movement. The motherboard and control board manage the laser’s activation, motor control, and the overall printing process. The printer is built with a rigid, aluminum chassis to minimize vibrations and ensure stability during the printing process. It features a removable resin tank made of clear, durable acrylic, which holds the liquid resin during printing. The build platform is made from metal and attaches to a motorized arm that moves it up after each layer is cured. This pre-edition model likely served as a test for institutions to explore how this new 3D printing technology could be applied in various fields before Formlabs launched the product to the general market. ![IMG_0884](https://hackmd.io/_uploads/Skgvfw0kyg.jpg) **Why it failed, or it wasn't used anymore?** We found out that the 3D printer still mostly functions, but it wasn't in good a condition: the Cover UV-filter was broken and issues with focus and calibration made it impractical. ## Steps taken 1. Cleaned the dust off the printer and the left over resin and brought it to the MDEF room. 2. Disassembled using our toolbox. 3. Separated the various components and tried to understand their functions. 4. try to start the Form 1, but since the machine doesn't work without the cover uv-filter we discovered a magnetic-sensor and bypassed this component by removing the magnet inside the UV cover and placing it on the sensor. <div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/1020541130?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Bypassing magnetic sensor of FormLabs 1"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script><br> 5. Connected to computer through the legacy 2.3.3 version of the Formlabs PreForm software. (it worked) 6. Disconnected the UV laser for safety reasons and plugged a normal laser. 7. Sent a 3d model through the PreForm software to "print" laser patterns on the ceiling. ## Testing We tested if the 3D print works by connecting the machine to a computer. After downloading the software - Pre form - we tried to run a file (3D model). Initially the machine didn't work, as it was unable to communicate with the latest version of the software. To solve this issue, we implemented in the computer a folder from FORM LAB's Git Hub (called Open_Fl master) and we download the correct version of PreForm (version 2.3.3) that was able to communicate with this printer model. The 3D printer started to run, and we were able to see the laser move and project shapes on the ceiling. <div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/1020546716?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Projecting laser with FormLabs1 on the ceiling"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script><br> We experiment with another methodology to connect the 3D printer using Python script and to control the rotational movement of the galvo motors. We didn´t manage to program some analogic values to experiment more on the laser reflection using Python. Considering the time schedule of the experiment we had to change approaches. The error was related to the following line codes: ![Screenshot 2024-10-17 143859](https://hackmd.io/_uploads/BkF-ihC1kg.png) After the previous experiment with Python scripts, we tryed another way to connect the galvo motors directly to the Barduino board and the laser to an external power supply. Using a potentiometer we realized that we could manage to control the laser movement on one of the axes because just one of the galvo motors it was used during the experiment. ![galvo+arduino+laser](https://hackmd.io/_uploads/S1ejfHzg1l.jpg) <div style="padding:177.78% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/1021382162?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Connecting Barduino + Galvo motor + Laser"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script><br> Subsequently, we substitute the potentiometer sensor with an arduino code, through analogic values, to control both of the the galvo motors. The arduino code is the following: ![Screenshot 2024-10-20 105637](https://hackmd.io/_uploads/rJFRSHGe1g.png) ## Results **How many motors did we find inside?** Four motors - two of them (Galvo Motors) are used to move the small mirrors that point the laser. The other two are responsibe for stabilizing and moving up and down the X and Y axises. **Does it contain a computer or microcontroller?** The main circuit board contains a STM32 32-bit ARM Cortex-M3 microcontroller. **Did we find any sensors?** We have: a button for turning on and a magnetic sensor for the UV cover lid. Also there are most likely Optical encoders inside the Galvo motors. ## Conclusions **What did you learn?** - The inner workings of an SLA 3D printer - How to disassemble and reassemble a 3D printer - How to identify and power up each component individually - The basic electronics that compose the boards - How the Galvo motrs work to point the laser - Reverse engeeniring ability - Understanding which elctronic parts are still functional and we are able to upcycle it for another function. **What surprised you?** - The amount of components, screws and pieces that the printer had - How the Galvo motors work and how the mirrors work together for making the movements of the UV-laser - The huge possibilities of breaking apart and repurposing components - The machine language, how the 3D printer communicates - The fact that we can dissemble the whole machine and repurpose it completely ![IMG_0892](https://hackmd.io/_uploads/Sy4NYIRy1l.jpg) Thats it peeps ![IMG_0608](https://hackmd.io/_uploads/rkcqtPAkkl.jpg)