Table of contents
WearMachine
WearMachine collects the parts of the abrasion bench used in the ÉTS master’s research on wear in texture space: a sample slides on a rail under a chosen load, then is scanned with a GelSight sensor. The repository, published under ETSim, is for anyone who wants to rebuild or adapt the rig to evaluate wear, study friction or check simulations against measurements.
1. Overview
The README states the goal and the components: a GelSight bench, custom fixtures (the CAD files in the repository), load sensors, linear actuators and a control and acquisition system. Only the fixtures are in the repository. They are organised in three part families, each available in up to four formats:
- Rail:
Rail,Rail_Holder,Rail_Ski,Pusher,Seperator,Holder Berring, plus aBaseplate drawing, anema17bracket_v2motor bracket and at8_nutlead-screw nut. The names point to a stepper motor and lead screw moving the sample along the rail. - Weight:
Weight Holderparts for 10, 20, 50, 100, 200, 500 and 1000 g that set the normal load on the sample. - Gelsight_Holder:
30mm Sample Holder,40mm Sample HolderandBenchtop Holder Squareto hold samples under the GelSight sensor.
Picture/Assembly.png is a 1:8 drawing sheet, dated March 2025, of the assembled frame: two rails and a crossbar with five sample holes of increasing size. Drawing/Mold/20240430_16_Holes.svg is an A4 Inkscape sheet with a 16-hole mold layout.
2. Use cases
CAD, print and drawing files for a small sliding-wear bench whose samples are scanned with a GelSight sensor.
- Print the bench parts
- Bench builder3D printer or cutter
Print/ holds STL files for the rail, rail holder, ski, pusher, separator, bearing holder, motor bracket, lead-screw nut, sample holders and weight holders.
- Modify parts in CAD
- Bench builder
Raw/ keeps STEP solids of the sample holders, rail parts and most weight holders so dimensions can be changed before printing.
- Cut flat parts from DXF
- Bench builder3D printer or cutter
Drawing/ provides DXF outlines, including a Base plate that exists only as DXF, plus an Inkscape A4 sheet with 16 holes for a mold.
- Set the normal load
- Bench builder
Weight Holder parts come in 10, 20, 50, 100, 200, 500 and 1000 g versions to press the sample with a chosen load.
- Hold samples under GelSight
- Bench builderGelSight scanner
The 30 mm and 40 mm sample holders and a square benchtop holder position worn samples for GelSight capture, as the README describes.
2.1. Scenario: Build the bench and run a loaded sliding test
- Open Picture/Assembly.png to see the frame with two rails and the crossbar holding five sample holes.
- Print Rail, Rail_Holder, Rail_Ski, Pusher, Seperator, Holder Berring, nema17bracket_v2 and t8_nut from Print/Rail/.
- Cut the Base plate from Drawing/Rail/Base.dxf and assemble the rail with a NEMA 17 motor and T8 lead screw.
- Print the weight holder for the target load, for example Weight Holder 200g.stl, and place it on the sample.
- After each sliding distance, move the sample to the 30 mm or 40 mm holder and scan it with the GelSight.
Files readREADME.mdLICENSEPicture/Assembly.pngPicture/Rail/Rail_Ski.pngDrawing/Mold/20240430_16_Holes.svgDrawing/Rail/Rail.dxf
3. 3D view of the printed parts
The viewer below loads the repository’s own STL files, converted to a single GLB for the browser. Drag to orbit, scroll or pinch to zoom. Each family has its own colour and its own row: rail parts in blue, weight holders in orange, GelSight sample holders in green. The parts are laid flat side by side, not assembled; the assembly drawing further down shows how they fit together. The T8 lead-screw nut is left out because it is a stock part and its STL alone weighs 6.7 MB.
WearMachine printed parts from the repository's STL files: rail parts (blue), weight holders from 10 to 1000 g (orange) and GelSight sample holders (green)
The parts and their sizes, read from the STL bounding boxes (millimetres), with roles inferred from the drawings:
| Part | Size | What it does |
|---|---|---|
Rail | 400 × 20 × 6 | Straight bar; the assembly drawing has one along each long side of the frame |
Rail_Holder | 298.5 × 60 × 6 | C-shaped end piece with rounded tabs; two of them close the frame and hold the rail ends |
Rail_Ski | 58 × 9.8 × 6 | Short notched slider |
Pusher | 268.5 × 15 × 6 | Bar with a hook at each end that rides over the rails; the crossbar in the assembly is two of these |
Seperator | 43 × 6 × 3.8 | Small spacer that sits in the pusher slots and splits the crossbar into sample pockets |
Holder Berring | 30 × 25.5 × 25 | Bearing block |
nema17bracket_v2 | 80 × 68 × 48 | Mount for a NEMA 17 stepper motor |
Weight Holder 10g to 200g | 40.5 × 40.5 × 4 | Plates with a round recess for the weight; the five share the same outline |
Weight Holder 500g | 50 × 50 × 4 | Wider plate for the 500 g load |
Weight Holder 1000g | 60 × 60 × 9 | Thicker plate for the 1 kg load |
30mm Sample Holder | 40 × 40 × 10 | Holds a 30 mm sample under the GelSight sensor |
40mm Sample Holder | 50 × 50 × 10 | Same, for a 40 mm sample |
Benchtop Holder Square | 128 × 60 × 20 | Square pocket with a curved lip at the open end |
Read together with the WearSurfacesDatasets layout (material, sandpaper grit, load in grams, sliding distance in millimetres), the parts describe a reciprocating abrasion test: samples sit in the crossbar pockets, a weight holder sets the load on each one, and the crossbar is moved along the rails over a set distance, with the stepper bracket and lead-screw nut pointing to a motorised drive. Afterwards the sample is placed in a GelSight holder and scanned. The motion and load parts are in the repository; the motor, lead screw, sensor and electronics are not, and the README gives no assembly steps, so this reading comes from the part names, the drawings and the dataset rather than from written instructions.
4. Drawings
Picture/ holds a drawing sheet for each part, generated from the CAD model. These views are cropped from those sheets.

Picture/Assembly.png, isometric view: the two rails, the crossbar with five sample holes and the corner tabs. Drawn 20 March 2025 at 1:8.


Benchtop Holder Square: the pocket and the curved lip at the open end.

Weight Holder 1000g: a 60 mm square plate with a round recess for the weight.

Holder Berring: the bearing block.
5. Getting started
There is nothing to run. Pick the folder that matches what you want to do:
- open the STEP files in
Raw/with a CAD tool (FreeCAD, Fusion, SolidWorks…) to change dimensions; - slice the STL files in
Print/for 3D printing; - use the DXF files in
Drawing/for flat outlines or laser cutting, and the PNG sheets inPicture/as visual references.
git clone https://github.com/ETSim/WearMachine
ls WearMachine/Print/Rail WearMachine/Print/Weight WearMachine/Print/Gelsight_Holder
6. Repository guide
Raw/holds STEP solids for the GelSight holders, the rail parts and most weight holders.Print/holds STL meshes for printing, including the motor bracket and the T8 nut.Drawing/holds DXF outlines for the two round GelSight holders, the rail parts (includingBase.dxf) and all weight holders, plus the mold SVG.Picture/holds PNG drawing sheets of individual parts andAssembly.png.README.mdgives the purpose and the list of required components.
7. Features
- Complete set of printable fixtures for a rail-guided sliding test.
- Seven weight holders from 10 g to 1000 g for repeatable normal loads.
- Two round sample holders (30 mm and 40 mm) and a square benchtop holder for GelSight capture.
- Editable STEP sources next to ready-to-print STL files.
- Measured surfaces from this kind of test are published in WearSurfacesDatasets, whose loads range from 10 to 200 g.
8. Limits
- The README says the repository provides detailed build instructions, but it contains no assembly steps, bill of materials or hardware list beyond the component names.
- No firmware, wiring or control software is included for the actuators, load sensors or acquisition system the README lists.
- Formats are uneven:
Baseexists only as DXF,Holder BerringandWeight Holder 10ghave no STEP file, and the motor bracket and nut have no STEP or drawing. - The drawing sheets have empty title, material and tolerance fields.
- The repository has a Python
.gitignorebut no code.
9. Sources
- GitHub repository
- README
Picture/Assembly.pngRaw/Rail/Rail.stepPrint/Rail/nema17bracket_v2.stlDrawing/Weight/Weight Holder 200g.dxf
10. CI/CD pipeline
No CI/CD pipeline in the repository. The code is built and run by hand, as described above.
Generated from the source at commit beff25e.
11. Deployment diagram
Mermaid Deployment diagram
flowchart LR
repo[("GitHub repository")]
local["Local machine"]
repo -->|"clone and run"| local
The repository has no Dockerfile, Compose file or hosting configuration, so the code runs on the machine that clones it.
12. External dependencies
The repository declares no external packages: it has no manifest such as pyproject.toml, requirements.txt, package.json or pom.xml.
13. Glossary
Repository
The versioned source files, configuration, and history of a project.
README
The repository’s entry document, usually covering its purpose and initial setup.
Dependency
A library, tool, or service that another component needs to build or run.
HTTP
A request-and-response protocol used by browsers and web services. A method, path, headers, and optional body describe a request.
Volume and bind mount
A volume is storage managed by the container platform; a bind mount exposes a chosen host path inside a container.
CLI
A text interface in which commands and arguments select operations. Exit codes let scripts detect success or failure.
Build
The steps that turn source files and dependencies into a runnable program or distributable artifact.
Mesh
A surface represented by vertices and connected elements, often triangles. Its geometry is distinct from its material or texture.
Firmware
Software running on a device or microcontroller to control its hardware and communication.
14. References
- ETSim. (2026, November 5). [Web page] github.com.
- ETSim. (2026, November 5). WearMachine. [Software repository] github.com.
- ETSim. (2026, November 5). README. [Source file or documentation] github.com.
- ETSim. (2026, November 5). Picture/Assembly.png. [Source file or documentation] github.com.
- ETSim. (2026, November 5). Raw/Rail/Rail.step. [Source file or documentation] github.com.
- ETSim. (2026, November 5). Print/Rail/nema17bracket_v2.stl. [Source file or documentation] github.com.
- ETSim. (2026, November 5). Drawing/Weight/Weight Holder 200g.dxf. [Source file or documentation] github.com.
Sources without a publication date show the date they were last checked, November 5, 2026. File links retain the inspected revision where available.