Show HN: I made a new sensor out of 3D printer filament for my PhD (paulbupejr.com)

886 points by 00702 ↗ HN
Here's a "behind-the-scenes" look at my development of a cool sensor during my PhD (electrical engineering). This sensor is only about 1/3 of my total research for my degree and took about a year.

I've been on HN for a while now and I've seen my fair share of posts about the woes of pursuing a PhD. Now that I'm done with mine I wanna share some anecdotal evidence that doing a PhD can actually be enjoyable (not necessarily easy) and also be doable in 3 years.

When I started I knew I didn't want to work on something that would never leave the lab or languish in a dissertation PDF no one will ever read. Thanks to an awesome advisor I think I managed to thread the needle between simplicity and functionality.

Looking back, the ideas and methods behind it are pretty straightforward, but getting there took some doing. It’s funny how things seem obvious once you've figured them out!

Oh, I love creating GUIs for sensor data and visualizations as you'll see -- it's such a game changer! pyqtgraph is my go-to at the moment - such a great library.

137 comments

[ 3.5 ms ] story [ 202 ms ] thread
Wow that's super cool! Very nice work
Made me think of Navin R. Johnson’s invention of the Opti-Grab.
> Thanks to an awesome advisor

And there you have it! The difference between a miserable experience and a good one

That's super cool and I hope you don't mind a little bit of unsolicited feedback but the first question everyone's asking is "what does it do?" At present the blog post starts out with two paragraphs talking about the format of the blog post and the applications but not what the sensor actually measures.
Good point -- I need to better explain what "bend localization" means on a more practical level pretty early on.
Yeah. I guess in layman's terms it's a long squishy cable that knows where it's being bent.
> This means the sensor can tell you where you bent it, with a predefined (and coarse) resolution.

> OptiGap’s application is mainly within the realm of soft robotics, which typically involves compliant (or ‘squishy’) systems, where the use of traditional sensors is often not practical.

This explanation is already quite clear. If I understood correctly, by "predefined resolution" you mean that it detects which silicone sleeve was bent on a tube with a series of them, correct?

Can you provide more concrete examples for how you envision it being used? The first application that comes to mind is sensing how fingers bend in a glove controller.

The finger bending example is certainly a classic for something like this but I think it truly shines in soft robot examples like flapping wing robots or swimming finned robot, where it's critical for sensors to be mechanically transparent so as to not impact the usually delicate dynamics. The "soft" robotic arm in my earlier paper is another good example https://ieeexplore.ieee.org/document/9763962
Also; if you can please include examples of practical use cases. I am sure there are tons, but I always love discovering complexity in hidden places
Have a quick recording that shows an outcome or effect that is a core part of the research.
Having just read the piece for the first time after you added the "bent rope" explanation: YOU NAILED IT. I literally had the reaction of thinking, "Wow, there's a super simple explanation early on! I trust this writer much more now."
(comment deleted)
That's basically every other HN article for me. Zero context. "Blorglorp 2024.4.99 released" "With the new version, Blorglorp finally sheds its libgnipgnop dependency and increases efficiency by 1.25%". Bam, top post for the day, lots of multi-paragraph comments, and I'll still never know what it's even for.
The context tends to come some time later, when they close store. "We at Derplabs are proud that we dared to make an opinionated jpeg viewer, Blorglorp, that only interpreted the four first bits of every byte and ignored the rest. Commonly referred to as 'the naughty bits' by image-viewing connoisseurs. Unfortunately the market was not ready, but we are sure our ideas will gain traction in the future. Our deepest gratitude to our customers and investors that were excited to join our journey."
You think? All the closing announcements I've seen were "we've reached the end of our incredible journey, we're proud to have served our users but your data is gone tomorrow. Good luck!".

Meanwhile, I never find out what the thing even does.

I can die happy if I never have to work with libgnipgnop again
But have you used the new 3.6 release which uses pfnaphell integration to stochastically pre-convolute the tertiary nodes? It's a game-changer!
lol v3.6.7845 doesn’t even self calibrate. Most people are on v3.6.8002a except Mac users and people using a venv. Works perfectly under newer plan9 emulators. I just use Albus mode in Emacs (trunk) and avoid a lot of those problems. If you forget to use trunk the mouse is disabled for some reason…
This question surprises me. Bend location == locate where something is bent. Then some video's of the researcher bending a tube. Is there any confusion possible?
OP updated his blog post after I posted my comment. The opening paragraphs are now very clear and awesome.
(comment deleted)
This guy knows how to find shit out, I like this!
on first blush that sounds like a better version of the way the Nintendo power-glove detected finger bending.
Paul, what an amazing project, this is what hacking is all about. Congratulations!

Definitely try to explore the commercial side of your invention.

It wouldn't hurt to talk to an IP lawyer, if you're still in Uni they usually have people there doing this and you can just go talk to them, free of charge (for you!).

I'm generally against the idea of patents, mainly because of people who came to know to game the system and exploit it (patent trolls etc...) Your project is a real thing with real applications, you definitely deserve a share of whatever commercial benefit this could bring to the world, :D.

My (former) school is actually already in the process of doing that! My dissertation committee thought it was novel enough that it needed some IP protection and encouraged me to pursue that.
Hey, that's great to hear.

Best of luck with everything!

Maybe I'm not understanding the blog post so bear with me. Isn't what he is described what a time domain reflectometer does? [1]. I mean that's what it's used to detect breaks or kinks in fiber optics cables. The same tech is used to detect problems in civil infrastructure with embbeded fiber optics.

[1]: https://en.wikipedia.org/wiki/Optical_time-domain_reflectome...

Oh yeah cable companies have long been able to do that - I wasn't trying to compete with or replace that technology. My work was soft robotics-focused with simplicity in mind.
Yeah my thoughts exactly. OTDR is what the optical networking industry uses (for much larger runs of fiber) to find kinks/breaks.
It could still be a novelty if it uses a slightly different method or even materials. Hence why the advice is to get this on the hands of IP experts.
I wasn't commenting on the novelty aspect, I was more wondering in which situations the author's device might be better. Also, the author noted they started with a time of flight sensor, which would have made it extremely similar to OTDR
hell yeah, this is super cool!
This is really really cool, but why does it depend on TPU? Wouldn't it work with regular fiber optic? Or does it come down to economics?
It doesn't! I heavily used TPU to drive home the point that it can work with almost any light-transmitting fiber. I used PMMA optical fiber for the more fine demos.
That's great! Well done.
(comment deleted)
Hi, what kind of sensor? When posting to the public you should mention the subject of what can be sensed or scanned early on.
Solid job, and congratulations on doing something useful and hitting the program with the goal to make something tangible and getting out promptly.
Thanks -- I definitely relied heavily on my wife in order to maintain that pace.
Not quite the same thing, but this reminds me of DAS using fiber optic cable for various acoustic sensing tasks--basically as an alternative to geophones/hydrophones. There have been a number of papers using transoceanic fibers for various monitoring tasks.

That is also used for various industrial applications, e.g. for strain sensing by Luna Innovations. I know that Schlumberger has various patents on fiber-optic sensing relating to towed streamers (e.g. for marine seismic acquisition.) But I haven't seen it used for soft robotics before.

Yeah initially doing literature review was a bit daunting because of all this existing work, especially FBG-type sensors, but this idea is so fundamentally simple that its been mostly bypassed by the smarter minds
Yeah, it makes a lot of sense to just create those gaps when you're specifically installing the fiber for sensing.
Congrats and if I may; your blog post should be how ph.d's are done - readable, understandable and devoid of techno mumbling.
“I stuck a piece of plastic to my desk, it bent as I did it, I had time to investigate and skills to get a whole PhD out of that”

And this dear worker drones, is why schedule destroys quality :-)

Loving the write up. Clear and simple. Good luck with squishy robots. :-)

Haha this made me laugh -- thanks!
Very beautiful research and thorough documentation. I initially wanted to comment that this looks a lot like time-domain reflectometry on a conceptual level - but as Cindy Harnett seems to be your advisor, you probably know that already :)
I did some work on TDR analysis when analyzing CATV fraud detection but it turns out that we generally know where on the fiber plant each CPE is and collecting the DOCS IS timing data from those devices is essentially free.
I wonder if by using a large nozzle, you could print out the entire sensor by laying out lengths of TPU with flexible joints at each air gap. It would depend on how well light traveled through the printed part though.
3D printing does affect the light passing through significantly. There are a number of options for fabricating these but most of the successful ones involve cutting (can even use a laser cutter).
Great job, this is so cool!! Can't wait to see where this will be used in.
As sometime about to start a PhD in theoretical physics, how did you do 3 years? I've been told a doctorate is 2 years of classes followed by 3 to 5 years of research. Did you already have a masters that you're doctorate college accepted to override class requirements?
The short answer? Weekly meetings with my advisor! Long answer: I also had 2 years of classes but I started working on my research immediately, while taking classes. By the time I finished all my classes and became a candidate I had one paper already published and another one accepted, so I was able to get a 3rd paper out and defend by the end of the 3rd year.
With all do respect, I think you're telling a half-truth here. Your LinkedIn profile shows you had two MS degrees before starting your PhD. Undoubtedly you got some of the requirements waived for the PhD course requirements. That means your total time post BS was 5 years. I did the same thing - 1.5 years (3 semesters) MS and then came back later (different school) to do a PhD and got half the course requirements waived. Finished the PhD in 4 years but total time post BS was a more humble 5.5.
Isn't total internal reflection affected by surface defects? Aka, scratch the filament rather than air-gap it.
I was aiming for significant attenuation when bending, so scratching wouldn't be enough.
What an absolutely amazing idea, great work!

Your sensor data seems to have quite large "dead zones" - those should be trivially fixable by reducing the inter-sensor distance, right?

Would it be useful to sense the direction of the bend? I reckon this might be possible by dividing the tube like a Mercedes logo, and having three sets of the sensor in one outer tube.

Is there a way to sense multiple bends? With the current setup that'd result in invalid readings as you're essentially OR-ing the value. Are there any good solutions for this?

Great ideas! Even though I haven't implemented it fully it is possible to sense multiple bends because each bend will always have the same relative attenuation (across the strands) so it would just be a matter of matching on the relative deltas from one reading to another. The catch, though, is at that at some point no light will reach the end if every joint bends a lot. There are ways to mitigate that, but my comment is too long already!
No need to cut your comments short! You clearly have a passion, and passion is the best way to get other people interested! :D

(also, nice work!)

Could you increase power output through the fibre in response to a loss of signal, or one that falls below a given threshold? Using reasonable bounds to account for errors where attenuation isn’t the cause of no signal being received.
Love the use of lower cost materials and nice jankier DIY SCIENCE.

00702, 4th photo caption appears to be missing the word gap. :)

Fixed -- thanks! And yes exactly! I had access to basically any piece of equipment I could want (including a cleanroom that can create ICs) but then basically no one would be able to recreate what I would make.
This is such a clever project, and a great write up! Thanks for sharing!