Open-source project
GliaX/Stethoscope avatar
GliaX/Stethoscope

Stethoscope: an open hardware stethoscope for the price of a meal

A research-validated stethoscope whose plans are available Freely and openly. The cost of the entire stethoscope is between $2.5 to $5 to produce

1,021 stars112 forksRubyNOASSERTION

At a glance

What is it?
The GliaX Stethoscope is a research-validated stethoscope whose 3D printable plans, bill of materials and validation paper are published freely, at a total part cost of roughly two and a half to five dollars. The engineering content is in the print settings, which are not flexible: 100% infill, PETG or ABS, and a specific layer height.
Who is it for?
Adopt the GliaX Stethoscope if you need a working stethoscope for teaching, for a clinic with no budget, or simply as an open hardware reference, and if you have access to a 3D printer and can follow a print recipe that is not adjustable.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 179 days ago.
What is it written in?
Mainly Ruby, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Validated against the Littmann Cardiology III

This project aims to create a research-validated stethoscope whose plans are available freely and openly, and it makes two specific claims. The first is about cost: the goal is for the bell to cost around one to two US dollars to produce, and the rest of the stethoscope to cost approximately the same, which is where the headline figure of two and a half to five dollars for the whole thing comes from. The second is about performance: the stethoscope resulting from the project functions as well as the market gold standard, the Littmann Cardiology III.

That second claim is backed by a peer-reviewed publication rather than by a bench test, and the link is in the README, a PLOS ONE article on the validation of this stethoscope. For a hardware project, that is the most important line in the document, because a 3D printed stethoscope that does not transmit sound properly is a toy and a 3D printed stethoscope that does transmit sound properly is a clinical tool. The publication is what separates the two.

The repository holds the 3MF files at the root, ring_x16.3mf and stethoscope_x1.3mf, stethoscope_x3.3mf and stethoscope_x4.3mf, along with a source_files/ directory holding the parametric sources, a manual/ directory with the printable inserts, a publication/ directory, and a testing/ directory.

The primary language is Ruby, which is an unusual detail for a hardware project and is explained by the tooling: the STL files are generated from CrystalSCAD, which is written in Ruby, and the README gives the command to regenerate them.

A bill of materials made of five printed parts and four bought ones

The printed parts are listed first, and there are five of them, with a count for the ones that are duplicated.

One stethoscope head from head.stl, two ear tubes from eartube.stl, one Y-piece from y_piece.stl, one spring from spring.stl and one ring from ring.stl. The ear tubes are printed as a pair, and the ring and the head are the two parts whose fit matters most for the acoustics.

The other hardware is where the money goes, and the project suggests specific vendors and dimensions for each item. The tubing comes in two sizes, both in 50 durometer silicone rubber. The first is 50cm of tube with an 8mm inner diameter and a 13mm outer diameter, which is the main length running down from the head. The second is 20cm of tube with a 4mm inner and 8mm outer diameter, cut into 10cm pieces, which is the branch that runs to each ear tube.

The diaphragm is the most improvised component, and it is a good example of the project's character: a 40mm diameter circle cut from a report cover with approximately 0.35mm plastic sheet. The suggested cover is listed at 8.99 US dollars, and you can cut the diaphragm by hand or with a circular stamp.

For the ear tips, the requirement is loose. Any large-sized standard earbuds will do, and a pack of large silicone earbuds is the suggested purchase. The ring is not listed in the hardware section, so it comes from the printed parts.

Add it up and the cost lands where the project claims, because every expensive item has been replaced with the cheapest adequate equivalent. The tubing and the earbuds are commodity, the diaphragm is a sheet of plastic, and the printed parts cost filament.

The print settings are not a suggestion

The print instructions carry the most emphatic formatting in the document, and the repetition is the point. INFILL MUST BE 100% appears four times in a row, and it is repeated again in the notes section with an explanation: otherwise, the stethoscope will not produce a correct sound.

That is the single most important instruction for anyone building this. Infill is the internal structure of a printed part, and a 100% infill part is solid. For a stethoscope bell, that is not a strength setting, it is an acoustic requirement, because the chamber has to behave like a chamber rather than like a shell with air pockets in it.

The rest of the recipe is short. Use PETG or ABS. Set the layer height to 0.2mm. Use PrusaSlicer 2.0 or above to import the 3MF file. Modify the filament and printer settings as needed. Do not modify print settings. Then export and print.

The one sentence that carries an exception is the modify as needed one, and the do not modify instruction right after it, so the intent is clear: printer and filament settings are yours to tune, the geometry settings in the file are not.

There are also two material notes. PLA is not used because of deformation in heat and poor plastic quality in the spring causing early failure. PLA may be used, but the lifetime of the stethoscope will decrease significantly. And brims are not used, although you may print the ear tubes and Y-pieces with a 2mm brim to ensure that none of the parts lift off.

Assembly, and the two adjustments you may need

The assembly sequence is short and there is an instructional video linked for the details.

Attach the 40mm diaphragm to the stethoscope head. Attach the stethoscope head to the silicone tube. Attach the silicone tube to the Y-piece. Attach the spring to the ear tubes. Attach the Y-piece to the ear tubes. Attach the ear tubes to the eartips or earbuds. Then test the stethoscope as per the validation instructions.

That last step is the one that matters, and the reference to validation instructions rather than to a general check suggests the testing directory holds a repeatable procedure rather than a subjective judgement.

The troubleshooting section has two entries and both are about fit, with different risk attached to each. If the spring and the ear tubes do not fit well, go ahead and scale the spring as needed. If the head and the ring do not fit well, use caution, as you may be modifying the acoustics, and you can scale the head a little.

That distinction is the one to hold on to. Scaling the spring is a mechanical adjustment that does not touch the sound path. Scaling the head changes the geometry of the chamber, and the documentation is telling you that you are now altering the thing that was validated. A small amount is described as acceptable; a large amount takes the device outside the scope of the published validation.

The inserts are printed rather than bought, and the manual/ directory holds them. They are designed for 8.5 by 11 legal paper and are printed with GIMP at 95% scale for the top print and 90% scale for the bottom. The top insert is cut at 14.5cm and again at 1cm, creating two labels of 13.5cm height, and they are printed on adhesive material. The bottom insert is cut at a width of 20cm with height cuts at 25cm, 15cm, 13.5cm and 3.5cm, creating 10cm by 20cm inserts.

The STLs are generated, so the head can be regenerated

The part files are not hand-modelled in a mesh editor. They are generated from CrystalSCAD, which is a Ruby DSL that produces OpenSCAD files, and OpenSCAD itself was used to create all the STL files.

The command to recreate the stethoscope head is two lines:

``` shell gem install crystalscad ruby source_files/stethoscope_head/stethoscope_head.rb ```

The output of the SCAD files is found in source_files/stethoscope_head/output and is named PrintableStethoscopeHead1Assembly_output.scad, which is the head. The other parts follow the same pattern, with a source_files directory per component and a Ruby script that regenerates it.

This is the part of the project that makes it open hardware rather than an open file dump. A 3MF file is a frozen artefact, and if the head needs to be a different size for a different fit you would normally go back to a mesh editor. Here the geometry is parametric, so the head can be regenerated at a different dimension, and the source of truth is in the repository alongside the printable output.

The practical consequence is that the troubleshooting advice about scaling the head has a supported path. You are not expected to scale a mesh by hand; you are expected to change the parameter and regenerate.

The Ruby dependency is why the primary language of the repository is Ruby, and it is a reminder that the tooling choice of an open hardware project is often invisible in the file listing. The CrystalSCAD project is at github.com/Joaz/CrystalScad.

Serial numbers, plates and production thinking

The manufacturing section is short and shows that the project was built with production in mind rather than as a one-off print.

Four stethoscopes are printed per plate, and the stated reason is to ensure that each stethoscope is created out of the same material. That is a practical reason rather than a manufacturing one: a plate is a consistent set of parts from one filament change, so you do not end up comparing a bell printed yesterday against a spring printed today.

The serial numbering system has two parts. The last number is the total number of unique stethoscopes created since day one, and all the numbers before that dash are spool identifiers involved in that stethoscope. The example given is 001-010, which is the tenth stethoscope made with the first spool in the inventory. If the first spool makes a total of 15 stethoscopes, then the first stethoscope of the second spool would be 002-016. And if the twentieth stethoscope uses plastic from spool 002 and spool 003, it would be 002-003-020.

The value of that scheme is traceability. If a batch of bells turns out to have an acoustic fault, the serial number tells you which spool the plastic came from, and the same number is presumably marked on the label inserts printed from the manual/ directory.

That is the whole production story: a plate size, a consistent material per plate, and a numbering scheme that ties a finished device back to the filament it was printed from. It is not a manufacturing protocol, and the project does not claim it is, but it is more than most open hardware repositories provide.

Licensing, and where the validation lives

The licensing note is short and worth quoting in full, because hardware licensing is not a solved problem. As per our understanding, hardware is not covered by copyright. However, we present our work under the TAPR OHL license insofar as it applies.

The TAPR Open Hardware Licence is the standard open hardware licence, and the phrasing is careful: the authors state their understanding that hardware is not covered by copyright, and they apply the OHL to the extent that it can apply. The repository's licence classification on GitHub is reported as a custom one that GitHub cannot categorise, so the LICENSE file at the root is the text to read.

For anyone who wants to build on the design, the practical summary is that the plans and documentation are openly licensed and you should read the LICENSE file rather than assume the terms of a software licence apply to STL files.

The validation material is separated into its own directory. The publication/ directory holds the peer-reviewed paper, the link in the README points to a PLOS ONE article on the validation of this stethoscope, and the testing/ directory holds the procedure referred to at the end of the assembly instructions. The project also links to other people's 3D printed stethoscope designs, so it is a reference point in a small community rather than a closed project.

The maintenance picture is modest and honest. The repository is not archived, the last push was on 2026-04-28, and there are no GitHub releases, so the root files are the only distribution channel. The topics attached to the repository name the ground it stands on: open-hardware, open-source, free-software, medicine and stethoscope.

Editorial conclusion

Adopt the GliaX Stethoscope if you need a working stethoscope for teaching, for a clinic with no budget, or simply as an open hardware reference, and if you have access to a 3D printer and can follow a print recipe that is not adjustable. Do not adopt it as a replacement for a clinical instrument without reading the validation paper and the testing instructions, and do not change the print settings, because the documentation is emphatic that anything less than full infill produces an incorrect sound. Before you start, read the testing/ directory and the validation instructions, print the test parts first, and note that the diaphragm is cut from a plastic report cover and the tubing and eartips are bought as ordinary hardware.

Frequently asked questions

How much does the GliaX Stethoscope cost to make?

The project states a goal of roughly one to two US dollars for the bell and approximately the same for the rest of the stethoscope, with the description putting the total cost of the entire stethoscope between two and a half and five dollars to produce.

What are the critical print settings for the stethoscope?

Infill must be 100%, stated four times in the print instructions, because otherwise the stethoscope will not produce a correct sound. Use PETG or ABS, a 0.2mm layer height, and PrusaSlicer 2.0 or above to import the 3MF file. PLA is discouraged because of heat deformation and a shorter lifetime.

Is the open hardware stethoscope clinically validated?

The project claims the stethoscope functions as well as the Littmann Cardiology III and links a peer-reviewed PLOS ONE publication on its validation, with the publication material and a testing procedure held in the publication/ and testing/ directories.

What non-printed parts do I need?

50cm of 50 durometer silicone tube with an 8mm inner and 13mm outer diameter, 20cm of 4mm by 8mm silicone tube cut into 10cm pieces, a 40mm diaphragm cut from a report cover with about 0.35mm plastic sheet, and any large-sized standard earbuds.

How do I change the shape of the stethoscope head?

The STL files are generated with CrystalSCAD and OpenSCAD, so the head can be regenerated with gem install crystalscad followed by ruby source_files/stethoscope_head/stethoscope_head.rb, which outputs the SCAD file. Scaling the head changes the acoustics, so the documentation advises caution.

Official sources

  1. GliaX/Stethoscope on GitHub
  2. Issues
  3. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/gliax-stethoscope.svg)](https://hysenlabs.com/projects/gliax-stethoscope)

Was this useful?