¶ Welcome Mark Palmeri to Amp Hour
This is the Empire Podcast. Released December 21st, 2025. Episode 711. Medical Electronics Education with Mark Palmieri. Welcome to the Amp Hour. I'm Chris Gamble of Contextual Electronics. And I'm Mark Palmieri. I'm a professor at Duke University. Hey, Mark, just up the road for me. Sure am. Yeah, we're doing remote for, you know, it's the convenience and I'm bad at...
¶ Mark Palmeri's Duke Journey
Recording local audio. But yeah, Mark is, I live near Duke. I met Mark because he's a professor at Duke. And yeah, Duke, Duke is a... Pretty good school. Maybe you could explain. I talked to some people and I'm like, oh yeah, I live near Duke University. People outside of the States, they're like, I don't know what that is. I'm like, oh yeah, right. Not everybody knows what Duke University is.
Yeah, Duke, of course, has a lot of basketball popularity in kind of the mainstream culture. And our football team is doing better, too, as of late, along with our other sports. But yeah, I've actually been at Duke since 1996. I have done multiple degrees at Duke. I was an undergraduate here and studied biomedical engineering and electrical engineering.
And Duke is actually one of the first accredited biomedical engineering departments in the country, historically. During that time, I kind of discovered my passion for medical devices as how I really... like to apply my love for electronics and for coding and so i actually did medical school at Duke, though entered not wanting to be a doctor, practicing doctor, but mainly used it to survey the landscape where medical devices are commonly used.
And then also did my PhD at Duke and did that in ultrasound imaging and specifically acoustic radiation force impulse imaging, which is something we developed and invented here. and then really turned my attention towards research in imaging and as of late really working in medical devices for low resource communities and during that whole time really have pushed how I can marry my research with my educational passion and really teaching students and empowering them to take all their good ideas.
let them recognize how they can actually execute on those specifically in the electronic space. Yeah. Yeah. And actually we were introduced by our common friend, Kyle Matthews, who's at a local firm that also does medical device stuff. And Kyle had told me, hey, you got to meet Mark. He does stuff with Zephyr in his courses. He does embedded. He does electronics. He does medical, all those things. And I started like thinking through all the other podcasts that I thought you'd be good on.
the friend podcast. And I'm like, there's no way I'm letting other podcasts scoop me on Mark Palmieri because I want to talk to Mark first, especially about the educational stuff you can mention because you and I have spoken a bunch about that.
as well like just kind of modern education modern engineering education how it's all coming together role of ai like you know how you kind of pull it all together and that's rapidly changing landscape it really is yeah it's wild it's a wild wild time and you are at the
¶ Medical Device Commercialization Challenges
at the center of it i'm sure in terms of the medical stuff you know you i actually didn't realize that you had done medical school i that's that's pretty wild you're just thinking about medical devices today the role of regulations and stuff like that as well how does that all play together and then
How do you develop for that as well because of the timelines and how long it takes to get something to market? Yeah, very challenging. And actually, probably one of the learning objectives of some of my classes is to let students know. what type of bells you will have ring in people's heads when you not just say you want to work on a electronic device, but you want it to be classified as a medical device. Holistically, from an educational standpoint,
Well, let me back up. My whole reason for medical devices is that just natural desire to do things that are impactful to people. And that doesn't have to always be on the healthcare front. There are lots and lots of ways to have high impact with society and working with people. Medical devices are just a unique niche in that
In my background, the experiences I had showed me that medical devices gave me everything I enjoyed tinkering with as a hobbyist and did on the side but then had an application that I found fulfilling. Along the way, I realized just how much of a headache. that would become if you want to actually commercialize and translate something and that is a big deal with academic environments is that they jump
between the academic space and the commercial space is huge. And the novelty of what you can do in academics is maybe propose the ideas and ideate on things and prototype things that don't have to deliver. like maybe the R&D department of a large med tech company would now. But in all engineering, we have to emphasize our processes of specifications.
¶ Rigor in Engineering Education
user needs, and kind of making sure we're delivering a device that says what it can do and satisfies those needs. So the FDA V&V process, you know, validation and verification is a perfect framework for learning all of that. But along with that comes all of the rigor and the kind of documentation that no one loves to learn early on in their engineering careers that kind of demonstrate not just like, hey, I got it to work once.
But how does it work under a set of different conditions? Does it work well in different environments from an environmental standpoint, from different user perspectives? What happens when it gets abused? How will it perform in one month, one year, five years? How long can I say this will remain in calibration? All of those degrees of freedom that you don't think of when you first just say, does it work, are really, really important.
And so teaching the students that like, yes, there is a burden here. There's a tremendous cost. It motivates really scoping like, does this device satisfy the actual need? is this going to perform the way I expect it to? Am I just holding my breath and crossing my fingers, hoping that it works for a while versus like, what do I need to do to make this robust to use kind of in its use case? Yeah, it is kind of interesting.
the true application of engineering is not the, does it blink or does it take the sensor reading the first time? Does it take the reading the hundredth time, the millionth time, the hundred millionth time? And does it do the exact same each time? It really is the, it's the rigor piece. And it does kind of bring home a lot of the, when I think about the things that I...
that my teachers were valiantly trying to teach me in university. And I think I learned, unfortunately, much later in industry, the hard way, is that rigor and the importance of it. But then also... the balancing of like a lot of the rigor that I pushed back on, I think at university was the academic, like mathematical rigor.
with not necessarily like the reliability long term you know like they are they are integrated they're totally tied together yep but my young brain could not could not connect those you are kind of speaking exactly to kind of where i was about
¶ Duke's BME Design Fellows
seven or eight years ago. It actually was the catalyst for me creating a program here called the BME Design Fellows Program, and it was specifically addressing that gap.
between what has been the historical value of the higher education classroom in engineering, which would be the necessary, but learning all of the foundations of everything, but really heavily... analytic math approaches to things and going over traditional problem sets of being able to identify how to tee up a problem to solve a problem, really valuing just getting a solution to that.
than mathematical exercise, but not really connecting what that means with respect to kind of the tangible, practical thing you might be making with that or doing that. So addressing that kind of disconnect. led to me creating this program, which is really designed for coming up with new courses to prepare our students to go into the med tech industry.
And it isn't a required curriculum as part of our kind of formal BME educational process. It's an opt-in. It's very based on practical skill building, practical testing, analysis, building that confidence.
And even though it's an elective track of courses, it's become tremendously popular with our students to take to make them feel... both competitive to apply for internships and jobs, but really to give them the confidence that like as being labeled as an engineer, they feel competent and comfortable.
advertising that and being able to execute on what someone might ask them to do as part of a team. Yeah, I think about certain courses, yours included, yours being BME specific, past guest Larry Sears, who was a... my and my alma mater case western there was a ut dallas i think powers smp smp like a swiss powers supply design course but like the kind where like oh and there was another umichigan i believe was uh uh
building a processor as well in silicon like verilog based it's like you get through those classes it's like it's you know like the industry kind of recognizes it they're like oh you got through mark's class that says something You know, it's not like it's not rigor for this case of rigor. It's rigor for the it's it's the accomplishment of the actual practical application space. Right. It's not like the oh, you filled out all the problem sets. It's oh, you've solved.
problem it's like nuance but it it's very important and it it's an indicator to employers like you said absolutely i mean the i think most employers will recognize in today's day and age
¶ Embracing Failure for Learning
Students and people looking for jobs can assemble a resume that looks like what someone might want and putting down skills under, you know, a technical competency section. It's fine. It's low-hanging fruit for someone to add. Being able to talk about projects you've done, sharing those projects on some platform like GitHub or some public venue where you can show your iteration process and the sort.
And also being able to discuss things like failing and learning from failure. You know, in a grade based educational system, our students are really averse to failing. And in the classroom, I kind of have a mantra of like. Safe failing. So I'm not saying fail safe. I'm saying safe failing, which is like everything I perceive that I've learned and genuinely.
developed an intuition for has come through trial and error where you tried things, you figured out what didn't work. And then what did work, you identify why it worked, why the other things didn't work, and you kind of move on and build upon that.
And I always try to reinforce with my students that failing won't jeopardize their grade in the course. Like they don't like that. I can tell you no one likes the idea of putting forward something that won't work. But I'm like, I want you to do small things. fail at them and then figure out how that will work correctly and move on. And that moves towards a mindset of how do you troubleshoot, how do you debug, but how do you also learn along the way.
And so this whole like safe fail system is that it's a safe environment to fail, learn from that failure. And as long as by the end. You've been able to synthesize all of that into figuring out what to do and how to do it in the next project you'll tackle. That's the win. You know, it takes some convincing. For most students, they can resonate with when they were children, maybe working with Legos.
And I was like, you never study how to put Lego blocks together before you just dive in and start fitting things together and figure out what fits and what doesn't fit. and then getting 10 or 15 blocks later and figuring out maybe your decision of how you started this won't work, you can't study that.
and do it totally as a mental exercise on paper, and then just hope the first time you execute it, it works perfectly. And I want them to kind of realize this is a lot more than just putting Lego blocks together. These are all new things you're trying to learn. And so in my classes, which are mainly like the first exposure to circuits and putting together PCBs and laying those out and soldering techniques. And how do you then integrate that into like.
CAD models and 3D printed entities, and then how do you write embedded software to control these circuits, I really want them to embrace the fact that you'll never know exactly what to do before you start. And so how do you take those? It's almost like a fail sooner to succeed faster. just like get those failures out of the way make them low consequence do them quickly without any long-term repercussions to figure out what the longer-term success will be for that thing you're trying to build
¶ Modernizing Electronics Course Instruction
Yeah. And it's interesting too, because you're in the BME space, right? You said some of your students are coming in that are... They have done circuits, they've done coding. Some have done nothing though, right? So sometimes you're going from zero to one, just getting them to like, hey, welcome to a diode, right? It's like, oh, okay. Yeah, and you and I have spoken about like...
you know what level do you actually approach them with do you say like hey there's you know a you know a voltage wall you got to get up over or do you talk about like semiconductor physics and holes and electrons and it's just like you know somewhere in there you know they need to know
apply a voltage with the resistor at the bottom and yeah, you're going to light it up. But you know, if it's LED, right, there's that choice as an educator as well. Yeah. And I think our current way of having students being able to access knowledge is changing. my approach to that. You know, the days of having students read chapters of books to be able to get like
foundational knowledge first and then building practical knowledge on top of it is challenging. I think that, you know, when I survey my students of if I assign this reading, will you do it? The honest answers typically are no. Or what will happen, and this is a reality to deal with, is people will find the electronic versions of textbooks and look for summaries, get the cliff note version, so to speak.
of what are the highlights, but what really what will make them dig into knowing what they need to know from that reading will be applying it to solving and doing something with it. So my change of thought. over the years has been, well, how do I get them excited about why they're learning what they're learning? So I just finished teaching a sophomore level introduction to electronics course.
And traditionally, when I taught that course, I first started teaching that in 2009. You know, that was a traditional... classroom-based course. It was a, here's your textbook readings. I'll lecture on how to approach problems. You'll have problem sets. I'll give you exams. There are going to be networks of one-ohm resistors somewhere in the mix. Yes, and so things like...
Kirchhoff's laws and node voltage analysis and mesh current analysis really just became math problems. Like you could succeed at a class like that in a traditional sense and not really understand it all. why you would have these networks of components. Reactive circuit components would just become the, now I got to do this with imaginary numbers. And so I really flipped it on its head.
in this latest iteration. I doubled down on motivating why the circuit is important to a biomedical engineer. So the whole like concept of signal transduction became the entire basis of the class. How do you take biosignals that can be converted into electrical signals to then get into a device to do something interesting with them? So whether that be surface potentials for an ECG.
an emg an eeg it could be how do we get things like weight and temperature into electronic form and now once you convince them that like oh voltage-based or current-based signals tell me something really interesting about this environment or the body, now they're really motivated about, oh, now I care about why I might have a Wheatstone bridge. And now I care about how I deal with that being battery powered and it discharging. And I need to balance things and take that into account.
They do actually care. In as much as they're motivated to be biomedical engineers and they have that interest in kind of that initial tagline of I want to make medical devices. they see that as like, well, this is the first step of like, if I can figure out how to get signals into a current or voltage based form, all the rest now is in the context of that. And that's a huge win.
¶ Essential Open Source Tools
Coupled with that is I show them how they can learn the tools that they start to be able to realize I can show this off to people and they'll know I know how to do something. So I used to reserve some of the ECAD tools till my later classes. But now I introduce it in my sophomore level class. I'm a big fan of QCAD. I use QCAD for electronic schematic capture in the sophomore level class and SPICE simulation. Right, which is now built in if people don't know that. That's probably important.
thing yeah correct and that's a huge win because now pretty much from week two or three i'm presenting circuits that are mocked up in keycad so they learn how to read it i can nicely introduce how the things that you've never, you have to step back and remember that the concept of just like connectivity by things like net labels is not obvious when you've never done it before.
So if I get the reps in without explicitly being like, this is just the only learning objective, but you know what, I'm going to teach you this really simple voltage divider, but I'm going to not just draw it as a closed loop. You're going to see it now with ground references.
and voltage then you add the spice part and then to make the students not just be satisfied with getting one answer In this day of chatbots and being able to get the answers without necessarily doing the work yourself and that reality, I have really adopted them just getting consistency among solving problems with different techniques.
So they will get a circuit. They'll then potentially solve it analytically. I'll ask them to spice solve it. And then after they've gotten that analytic solution, I'll have them utilize something like a Jupyter notebook to numerically solve and plot things also. And now I'm getting the win of they start to learn multiple tools. They get to figure out when these things don't agree, why?
And then the hope is one of them is at least correct or makes more sense to them. And they start to figure out how do I actually see that what I'm doing in key cat and spice is the same thing as when I numerically solve it. with Python in a Jupyter notebook. And it's the same thing as the math was showing me with pencil and paper or stylus and tablet in this generation. Which is important actually for, I just remember, I still have this memory of like,
like doing spice the first time. And I'd be like, well, the answer it says is 2,500 amps. So it's gotta be 2,500 amps. But at some point somebody had to say to me, Chris.
¶ Building Circuit Intuition Effectively
That's dumb. And I think building physical intuition, like for example, a first class citizen when I used to teach the class was not power. It was always just voltage or current as a solved for quantity. And I really have also then realized that the student's intuition about power came secondary. And I now use it actually as an intuition builder from day one. So for example, why is a resistor labeled?
you know, a simple ceramic resistor labeled with a wattage. Like, what does that mean? Why is one resistor with a gigantic metal body on it there? But also it informs, hey, when we're using the power supply for the first time. if i'm trying to give a voltage specification why do i also set a current that is not a concept that on very day one is obvious of why you might do it from a protection or limiting standpoint well not until your resistor starts glowing well and that is it
In as much as I tell them to embrace failure, I also would like for them to do it in a safe and controlled manner. Right, right. Insurance is still a thing at the, at the university. So. Yes. And, you know. Speaking of like learning spice models, back when I did it in the 90s, you know, we were text file editing netless and connectivity was done by node numbering.
And the overhead of doing a SPICE model was very different. Sketching something out on paper was not optional. It was necessary to maintain your sanity.
now with them being able to like actually see the integration of like you know operating point simulation parameters annotated back onto a schematic and they can just hop back and forth and edit and highlight sub circuits and simulate like the tool has much much more value to do even just like sub circuit inspection than it used to where the overhead of modifying a net list would have been this draconian task yes so
The other thing with QCAD is a lot of our students want to do startups. They're entrepreneurial in nature, or they just want to be able to do stuff when they leave Duke. I can't.
good faith tie them to a tool with a huge site license fee that yeah they learned how to use it while they were a student at Duke and then they go to do something on their own and they have this massive barrier to being like what can i use that's not going to deplete all my funds that has a ridiculous licensing fee when they just want to be able to kind of do something quickly
and with low overhead and keycat has evolved to the point now where i can in good faith say if you learn the workings of this you can translate that to the next EDA program you will use in industry or that some other company uses you'll realize how much maybe those programs Make your life easier in some regards with like integrated part catalogs and the ability to do like
you know linked bill of materials for ordering exactly but there's nothing that you won't learn with keycat as your first tool that can't help you long term and you'll probably continue to use it for your own stuff even if you're employer down the road requires you to use something else so that's been a big win for me yeah i feel like uh parametric modeling in the in the mechanical space too it's like you have to learn the the precepts of mechanical modeling and just like
how to dimensionally hold something together with all of the constraints and setting those up. Same thing. You could switch to other tools at any time. It's just workflow and ease of use. I feel like the same thing in the ECAD space. And ECAD's operating system agnostic. That's actually really important for us.
While Windows may be a dominant operating system in a lot of engineering companies, I'm a Linux user with my lab. We need Linux. And so I need something that runs on Linux. I need to have respect for the students running Mac OS or Windows. and Geekat is OS agnostic in that regard. So it's been a huge win. I don't need people to dual boot systems just to have an OS and then having a footprint that's a 20 gig install.
and people are sitting there deleting all sorts of programs from one side or another side of their OS just to run it. So a massive win. I had to remote in. I had an early... spectrum tools leonardo spectrum i think it was and i had to remote into a unix box and knowing nothing about linux at the time or unix at the time i suppose i think it was like a sun microsystems box and i had to like remote in and then run an x server and it's like
All of that stuff, just to get to the point where I'm like putting anything on the page, let alone, yeah, it's so much better than it used to be. Holy crap. And I'm sure, you know, you said 96, way worse for you, I'm sure even, right? It is. But at the same time, some of those. Toolings are still what we will go to under the hood. So in parallel with kind of using a tool like KeyCad, I also use VS Code a lot in my classrooms.
It is the conduit for working with the Jupyter Notebooks and the Python virtual environments.
¶ Medical Device Documentation Principles
The biggest thing, even though it's a nice point and click based system to do a lot of stuff, that terminal is open also from day one. Oh, sure. Terminals are fine. Yeah. So learning Git as a version controlled. tool is also one of those tools I bring along for the ride in almost all of my classes. It comes again from the medical device framing of you always need to have a history of what you've done.
You need to show how bugs have been fixed, features have been introduced. You kind of introduce it from the perspective of just project management. And ultimately, from a medical device standpoint, it is what will become the... contents of a design history file. Yeah. Can you explain the VNV thing again? So we said VNV at the beginning, but I think our friend Kyle would blanch if we didn't talk more about VNV because I know how much he loves it. Yeah. So.
¶ Understanding V&V for Med Devices
When you talk medical devices and companies that focus on that, they're going to have entire branches of their company dedicated to regulatory and specifically having... quality systems or quality management systems. You'll hear people refer to it as QMS. And a lot of that is based on capturing the validation and verification that has to go on for a device.
And what those two arms represent is kind of an end-user need-based satisfaction of the device. So validation-wise is going to say, I need a device that does X, Y, and Z. And that's from the perspective of the end user. And you're... then saying this device does those things from their perspective and then you have the verification process which is going to say these are like the functional technical specifications of the device
These are going to be the testing corridors that we say would be passing with some sort of a confidence interval. And then these are kind of the lab bench-based tests we can run to show that the device performs as we need it to. What guides some of that V&V, the part that is very focused on the user needs is an entire arm of design and engineering, scoping user needs, prioritizing them.
truly getting user stories of how they're going to use this in different environments, what they need the UI, UX to be, the user interface and the user experience to be, expected workflows, that's its own thing.
once you figure out that then you got to figure out how do i build something to do that and you need to have all of those testable criteria by which you go after that including all of those procedures and then showing Pretty much identifying then in that process, what are all of the existing standards that exist that you need to hold yourself to?
So for example, a basic thing I will teach in my electronics-based classes is like IEC 60601. What is that even? Why does it exist? What type of things is it guaranteeing for a device? I could do the same for all the ISO or IEC standards that exist for medical software, cybersecurity, wireless communication. Like, it introduces a massive amount of stuff.
The VMV process is pretty much in my kind of world. It's like the exoskeleton that exists to kind of hang all these things up. And then you figure out for each given one of these. What do I need to do to say this works? What standard do I need to maybe identify that says I need to comply with? And then be able to kind of start to synthesize that such that at the end of the day, when you're going to put together an FDA clearance application.
or having to do something for a novel device that has even more overhead, you have addressed in a very systematic, formal way. All of the things that someone expects to be able to audit to say that this device is doing what you say it does will meet the needs of the end user and will do so effectively and safely.
Yeah. And over time, I recall as well, there's also the ongoing requirement to check in, you're making changes, you need to go back to the testing, you need to go back to re-verify or re-validate, that sort of thing. So that is a... monetary like that's behind the generally the high cost of medical products in the first place is just the the requirements behind it the regulatory environment behind it
Yeah, very expensive because it has to be done in a way. So quality systems are approved entities, meaning that you can't just stand up and self-declare you have a quality system. that anyone can just come in and use. In fact, companies that have signed, sealed, and delivered quality systems, people will go to them just to be able to leverage their quality infrastructure for a product. During COVID, for example, we were very involved with a lot of kind of ad hoc projects that popped up because
There were needs that were acutely popping up within the health care system. And we wanted to be able to innovate things when product supply chains were disrupted. But we still wanted to make sure anything we did. adhere to kind of the expectations of safety and quality control. And so one of the early, early stage things we said is who can we partner with who has an existing quality system to make sure anything that we design and roll out.
can go through something already approved. And that could be something as simple as like a face shield. This is not saying we're doing something that has to deliver energy into the body. Face shields... and masks have their own set of standards to meet by which you would say, if I'm a healthcare practitioner and I'm wearing this with an expectation of safety,
I expect it to perform a certain way. If I give someone a face shield and it has openings by the side of the eyes and they get a splash of fluid in from the side, I have failed their expectation of how that thing should perform. And so it's really also saying when you're a new novel kind of person within a given space where there's been lots and lots of experience, those standards exist to make sure you're aware of all the things we've learned over the years.
primarily through things failing those needs to make sure new devices and things in that space actually deliver on what they're expected to do. Yeah. Yeah. Huh. Do you have like an ad hoc?
qms that i mean you have the documentation that you do as part of your courses you have students using git as like a you know source of truth are there like kind of ad hoc qms that you imply on top of that as well or is it just more best practice now at the at our educational level i bring up how the vmv process would rear its head
from the perspective of we're already going to learn this and here is how VNV impacts this to be integrated in. So here's a great example would be more on the embedded side.
¶ Embedded Firmware in BME Curriculum
because i think this is an evolving landscape so i talked about my sophomore introductory to circuits class i also teach a graduate level embedded class and these are all new classes i've developed over the past few years specifically to try to give people these practical skills to learn. When I developed this class, it was because there was a blind spot in how firmware and embedded devices just kind of come to be.
Firmware and embedded in a BME curriculum is not a norm. And so at the time I had another project already going on. It's a tympanometer that I use kind of in low resource communities. And it's been an undergraduate driven project for many years. Just did its first round of clinical testing, which has been successful. And in that project.
came this issue of like, I need to really write some firmware that's going beyond what some of my traditional hobbyist frameworks would allow me to easily do. At the time, I was talking with our common friend, Kyle. And he was like, there's a new player on the street that's very intriguing, which was Zephyr, which is a real-time operating system.
And if we could just pause for one second, if you didn't think that Mark and I got along because of educational stuff and key CAD and all, you know, electronics and medical devices, that's right. Zephyr just entered the conversation. So basically. Mark and I could like just go for hours here. So just, just so everybody's prepared. Yeah. Okay. All right. Yeah. And the nice thing was like, most of these things just came about organically by tinkering, meaning that I play with a lot of tools.
¶ Teaching Zephyr RTOS Practical Skills
that are available on the playing field, and these are the ones that started to rise to the top. In the embedded space, most people in the educational world for introductory purposes would gravitate towards the Arduino framework. It's just accessible. It's low cost. There's a ubiquity of chips available in boards. But the Arduino platform... That accessibility comes at the expense from an educational standpoint of obfuscating a lot of what happens under the hood. And it does so.
Probably doesn't matter for, again, purely introductory purposes, but at a graduate level, when I want students to really start to understand what some of those higher level abstracted commands are doing, I needed something that goes a little lower. Before Zephyr, going into a given chipset's proprietary IDE to work with their chip was also a huge burden. And that brought up this whole not OS agnostic. Most of these were very Windows-based. The learning curve was...
Brutal. Tooling was often Eclipse. Yeah. Tooling was like, if you wanted to stay within an open source world, Eclipse would be your tool and Eclipse had some stuff. But again, Eclipse was not designed just for doing that sort of thing. And it was a bit of a mess.
or you had to use a really proprietary tooling. When Zephyr came along, for me, it was the perfect balance from an educational standpoint and from a long-term performance standpoint, because Zephyr has the... the day one mindset of solving this problem of like multiple chips in kind of a hardware landscape that needed to be addressed with a common firmware set.
Meaning if I had a comms chip and a processing chip and something else and they were different manufacturers and different everything, I didn't want to write one firmware for one, one firmware for the other, and have to somehow marry them together in some complex tooling. And so with the Zephyr approach of kind of creating the device tree as a first class citizen for hardware description.
And then separating that from what would be kind of more of the operational logic of the actual source code from a teaching standpoint, that was extremely valuable to me. Now, I will say device trees. do not make the most sense to the student who has never heard of this. If you've never dabbled in the Linux world, I totally get it. But selling early on that, hey, cost-wise to a company doing a chip change is sometimes a highly draconian process.
It is brutally expensive because when hardware description is integrated and embedded into the actual code itself, you just have a disaster unwrapping it and it's ripe for bugs and all sorts of unknown kind of corner cases you won't. know about. So they kind of buy into that early on is then like, okay, I'm going to separate things like pin mappings and device controller specification from what I want to do with those entities.
I think one thing you could even point out as well is just like pointing to, you could probably go crack open 30 medical devices and you're going to find chip sets from Nordic, big Zephyr, you know.
proponent nxp big zephyr proponent psy labs just got into the zephyr game you know st they got into stuff like it's it's like you could very easily draw some lines and be like look you've now have access to all of this stuff with some effort absolutely And to get the student buy-in again, like we did with KECAD and how it will, you know, have fruit beyond Duke's walls for them when they go into industry or their own companies, you know, Nordic was an early developer.
We do, for our class, use the Nordic Dev Kits, and that's because they built a really rich suite of VS Code extensions in the NRF Connect tools. So we do use those. We are not sponsored by Nordic. I just use them because the tooling is so great. It's again, OS agnostic. It builds into that same VS Code environment that we use for the other classes. So the students are comfortable with it. And the biggest thing there is, again, it is something they can use without needing a huge license fee.
It works on a variety of hardware platforms. It is a vibrant community developing it. When I started using it, I had to port over non-Zephyr code to Zephyr code for a new hardware spin.
¶ AI and Zephyr Version Control
It was a winter break activity for me a few years ago. I will say that the learning curve there was as close to vertical as possible for a few weeks. Like an F-14 shooting into the sky. I kind of let the students know, like, you know, even though I have years of experience doing this, I still have delta functions of learning that happen all over the place. Yeah.
And that's like kind of what keeps me hopefully fresh and keeps the classroom content. But then Zephyr has been great. Like the students start to learn not just like Zephyr specific things, but in the way it has been.
strategically I think constructed, they can just learn about the progression of stuff where the code doesn't get in the way. Most students have not entered my class coding in C. This is where things like AI tools help, is that as long as they have the ability to get the syntax pretty close for what they're logically trying to do, it helps nudge them over the line.
It is a double edged sword. I don't need to probably go into why it's a double edged sword. And with Zephyr in particular, it's very hard because it is developing so quickly. And it has also new things like hardware models and different ways of describing stuff that... Some of our AI tools that just scrape the web will take very deprecated, outdated APIs for certain functions and try to suggest that. And I demo that to the students on like week two to make sure they're not being led down.
a path that is highly outdated. And it actually, for me, is selfishly great when I'm grading and evaluating and giving feedback. I know what you used here. Yeah. Yeah, I could tell who did this. Yeah, thanks, Gemini. Gemini is, I was looking, they last scraped the web in January of 2025, which is, you know, from an LLM perspective, not that, you know, there's a lot of more recent stuff there. But yeah, the Zephyr, I recently...
I gave it a shot again. I have functionally given up on Zephyr in an LLM. I'd say like, look, bad code's coming for me. It's much better when you are able to set them up to learn from your own project. That helps a ton. And the way I can do that in the educational space is I can seed it a little bit with some existing code that I can have it. kind of recognize. I'm not going to say I go full on MCP server yet on this sort of stuff, but for the tools that have a more agentic
kind of infrastructure that can look at the broader project. They're getting better at I think identifying how this project does something. And then leaning on that to nudge kind of what it might start to prompt you with. And most of what we do is much more like autocomplete based work than like full on.
write me a function to do that not to say people don't yeah i i actually run into the the problem as well where i have you know i keep all of my stuff in my manifest my zephyr manifest i keep all of my dependencies separate. So if you have an agent that's like crawling your application directory, it's like, I don't know.
what the dependencies are it doesn't like go out to look at library you know much like even in vs code if you don't have like the pointer set up correctly not pointers but like the the references set up correctly it won't it won't be able to figure out that like oh you're pointing at this this dependent library and i'm going to help you all to complete that you know that function there it's it's like well good luck you know and so you have to have all that stuff set up so that it actually knows
¶ State Machines for Embedded Systems
what you have in your project and at what version, which is the power of manifest. Exactly. We do introduce in the class a lot of CI, CD type processes. So we do have automated builds going on and we do have those, you know, locked into specific versions of the SDK and the toolkits. Some of that is out of necessity because Zephyr again... in its quick evolution mode.
There's not always guaranteed backward compatibility from things that you think are minor version updates, but that minor version is using a major updated package under the hood. That's right. That reared its head for us. One of the major learning objectives of my class is introduced. state machines from day one everything in the class is addressed as a state machine it's mainly I try to quickly show them the code spaghetti you get for doing even pretty simple logic but
with button-triggered event-based systems like the if-else nightmare of nested conditional statement testing to figure out what your device is doing is a disaster. And back to our V&V discussion. State machines are a beautiful framework for saying at any instant in time, I'm defined by a single state. Once I'm in that state, then I know how to exactly replicate that environment for testing and quality assurance purposes. Zephyr is great.
because it has a state machine framework built in. I will say that's something that's input syntax changed along the way mid-semester on me, and that is why we lock into specific versions.
I can compare and contrast some of the benefits of that framework with basic switch case implementations people would do. But in parallel with that, I can also... let people as an engineer figure out when would you choose to actually fully leverage something like a real-time operating system where you have a scheduler and threads.
and figure out okay if i choose to use for us using something like a thread is not meant to be the day one starting point usually with something it's meant to facilitate an ease of implementation that gets trickier to do outside of a pure state machine thing. And like, we'll do simple stuff like having a heartbeat LED that stays on to let someone know the device is even running.
don't need that in every state could do that in a thread but let them leverage things like what the scheduler is doing with timers threads kernel events pull signals like how do we get all of our processes to communicate zephyr does a really really nice job of giving you pseudo low level control still with high level abstracted functions which is great
For my classes, we don't go under the hood and start getting out of the Zephyr ecosystem and trying to use the low-level libraries for the specific chipset. If I had my way to offer an advanced graduate class, that would be the next step. Would be like, how do I actually leverage the chip-specific power?
in kind of those lower level libraries that Zephyr abstracts away on its kind of higher level ecosystem. I have a Zephyr specific thing where the sensor subsystem was not playing nice and I had to... write some I2C raw rewrites, just basically peeking and poking at registers. You're not getting down to that level. It's just kind of everything should fit together.
Not for the first class we have. It's a hybrid actually graduate and undergrad class. So it's an introduction to really all the things embedded.
you know for the graduate student the phd level students in the class or the master's students who are really motivated going into like the lower level pwm libraries and realizing how to like replay sequences at the lowest level They'll quickly realize with that power comes a lot of responsibility of suddenly like, okay, instead of specifying a nice period, I'm doing this based on counter frequencies and count totals.
You know, there's a lot of things you have to start to bookkeep. I'm like, yeah, welcome. welcome to why some embedded people get paid good money is like there's a lot that with speed and with low memory need and to not tap the kernel to do stuff for you logically you're now having to work with much lower level registers and start to control them. But they still have to, I think, get all those fundamentals of what they're doing on a project level first.
identify why you might want to go down this path of lower level control. And now again, they're self-motivated to be like, okay, I can't get it to work this way. I'm confident I am too limited by this approach. Now I have to figure out. All this different stuff.
Well, another thing I wanted to point out about your courses generally is that you are very good, probably some of the most open I've seen of documentation. So we can, we'll definitely link people in, but what is the name of that course? If you could search on it or like they could click on the link. Yeah.
¶ Open Source Education Philosophy
All my courses are showing up on GitHub in different ways, and so probably a link is the easiest thing. My user handle on GitHub is just MLP6, and then all these courses are listed there. My embedded class is on there. My introductory circuits class is on there. Part of this is because I think like... I don't think that the value I add as an instructor comes from this limited access to the materials I put together for stuff.
i think that it really comes more from how we execute in the classroom in the lab and the interactive review code review and feedback there and then that But the Zephyr class is not just the coding. Because it's on the DevKit, they're testing this with the oscilloscopes, the multimeters. They're driving this with different input signals like synthetic ECGs. So there's a lot about getting it to work and all of that testing process too.
So I make all the exercises. My lecture content is all just publicly available to the point where some of the students are like, oh, wow, I put in a search engine for this in Zephyr. And like the class comes up as like the second or third item.
on stuff the other thing too is that i my lecture slides you know they started really just as a snapshot of documentation and background material and this sort of stuff What it's becoming over time is that the common stumbling blocks of what the students don't understand exactly are now really taking over the written content of what I would...
quote unquote lecture on because they can get all the other stuff either just through kind of what they've previously known, what they can read on their own. And they do that at a time when they figure out what they need to learn. But I need to really, like, for example, a concept that I have to introduce that I think I add value to is discussing the stack versus the heap from a memory perspective. And I just kind of, for my class...
Using dynamic memory allocation is like a no-no. And that's just from a like embedded thing. You don't want it to crash because something that you haven't put bounds on. But like if you just kind of say don't use it, yeah, they could listen to that rule and I could deduct some points if they do it that way or if their chat bot tells them to do that. But I really want them to understand, like, why do we do this? Like, what does it mean when a...
variable is declared as static, what is that saying? What does that do in terms of how space is allocated? What does it mean then if I start to see memory allocation commands and things having to get cleaned up? Why is this a bit dangerous, at least in our world? And I'll introduce that from, you know, if we're starting to do live ECG measurements, and in my class, we ultimately get to like Bluetooth connectivity and streaming data over that.
You know, if we just start allowing dynamic memory allocation to keep stacking data together till it's able to burst out over Bluetooth, you know, what happens when we run out? Like, do you want to be on the hook for that? Is that what you want to test against? Is that versus you more purposely say the maximum amount of data I can work with is this. And if I don't clear it by this time, I have an explicit way I deal with that.
And for the students who won't be firmware engineers, which a lot of my students are not because it's a required class now for one of our certificates, I tell them if you're going to be an effective systems engineer, project management engineer, or work with firmware engineers you need to know what they're dealing with why they will push back on things what their constraints are and what they're thinking about basically it's like you're teaching kind of very high level constraints and very
I mean, kind of where, where the dragons be. Yeah. I mean, I also point out, I've only taken in my entire career, one formal programming class, and that was my freshman year, first semester. I was put in a remedial programming class because my high school didn't offer any programming. And my first course was in C. That was actually a blessing in disguise. We went very slowly.
I had no concept of anything in if state. What are you talking about? A loop? I just had never been exposed to it. I use that story with them, one, because there's a lot of students who feel like, oh, I'm just a bad coder. and they write off an entire section of exploration from an educational standpoint. But two, I have self-taught myself everything in the coding space.
from 1990, that one course in 1996. Now I had an amazing instructor and to learn C as my first language, I think was actually a blessing in disguise to just learn. compiled languages and data types and scoping and it's just great. But I want the students to realize what you learn today formally in a class probably there's a good chance it might be obsolete really soon.
And it's more about the framework of how you're organizing projects, creating logical flow, making it readable, making it testable. Those are the things that will have to persist. It's not language specific. And I want them to get comfortable of knowing how to approach learning what they need to know for whatever project they might have down the road. So as someone who learned C and used tools like AUK and SED.
as my like go-to things and i used a program xmgr to like plot things like this was pre python matlab ubiquity for the academic space now it's like Perl and regular expressions were like a huge thing for me to get into and then Python came along as this tool in MATLAB and suddenly it was like whoa
The power of these tools is great. I don't have to become a master of the nuance of the language. I can figure out how these new languages facilitate what I need to do, but my general foundations of how to code stuff and make it make sense.
¶ Experiential Learning's Future Role
still persist. One thing you've kind of been hinting at, and you've been talking about how you assist students, but also how you prompt them to do this stuff. Is there ever a future where the course is basically like, hello? i am your client i would like you to build a continuous glucose monitor with this and this and this and this spec please go do it you know like is is there ever i mean i i mean that's basically a project course but like
Is there a place for that in higher education? Or is that the future of higher education? Or are we still too much needing the directed piece of it? No, I think you've hit the nail on the head exactly with... kind of where I think experiential learning needs to be. You know, our design classes are meant to kind of serve that purpose, but usually instead of giving them the problem and the specific needs and specs.
they're asked to also scope it. So a little bit more of that first V of the VNV process is to figure out how do you know that? I struggle with if that should be what an undergraduate education should emphasize, because I really think it's important that someone learn how to test a specification very robustly.
Versus figuring out, is this device I'm making actually satisfying an end user need? But that's more of a philosophy difference. It is still valuable. It's just, do you try to learn everything at once?
but yes i think that once you remember one of the keywords i use is like you want to empower students that they know how to do stuff i think once you get certain courses under their belt where they're given a little bit of structure and they're not allowed too open of a playing field to go way off track with what they need to do and they learn those competencies suddenly posing that problem
without a specific recipe to follow to get to the solution, but really the landscape of everything they need to know for what a prototype device would then be declared a winner or a loser against. I do feel that's what you should be striving for by the end of the four years of traditional college education. Do we get there easily? A bit.
tricky like in a grade-based system and accreditation based on old standards of kind of what learning used to look like a lot has to change that you can't change in the classroom just like completely on your own but I mentioned this program I created at Duke, this Design Fellows Program being electives. I'm not bound by these being core curricular things that are deemed to hit all these different accreditation schemes. And I'm allowed a lot of liberty.
to let people have lots of different solution sets to satisfy what doing well in the class looks like. Yeah, I think I asked you about like how the university asks you to do these things as well. And you said it is.
¶ Rethinking Engineering Evaluation Methods
kind of everyone's figuring it out in the modern context as well, which is good that it is this open, you know, it's not like you must do it this way, right? It's, let's figure it out. We have a lot of efforts that are... retrospective and prospective here from education. Some of the retrospective ones are looking at what is not going well, meaning
These were things we were doing that were going well by all the metrics that we had established. And now suddenly we feel like that's not going as well as we would have hoped. And that is probably the context of the more traditional problem-set exam-based world. where the problem set is eviscerated in value because there's too many tools to assist you along the way that you're not encountering those challenges or those micro failures along the way to actually learn the stuff.
And that's going to necessitate change. That just has to be. We don't want students to feel that they're disadvantaged because we tell them don't use the latest and greatest online tools and their classmates are and suddenly there's a huge discrepancy in performance because of that. Same thing with exams.
What are you testing on the exam? Is the constraint of a paper and pencil exam in 75 minutes the best way to evaluate someone? I, in my sophomore level class, completely abandoned exams after the first month. and went to these extended key cad based but also analytic and spice based projects where they had to get that consistency
They were not amenable to being put into any sort of a chat bot to get answers. And the students said, you know, they spent more... engage time doing those multi-week projects than they would have studying for the unknowns of what might be asked on an exam and sitting and having the stress about finishing something in 75 minutes. So like, for example, like when we do things like frequency responsive filters.
If I'm trying to test these things, if I'm asking students to know what a Bodie plot is, and I'm asking them to just make sketches and identify cutoffs and slopes of attenuation, it becomes very procedural. And I can't really get at it that much. But if I can ask a student, design a circuit with these criteria, and I effectively have like a sum signal with a low and a high frequency part, and I'm like, reject this part and amplify this part.
They can come up with that transfer function analytically. They can plot it in a Jupyter notebook. And then I can ask them to sketch the Bode plot and then ask them to modify the circuit using the Bode plot for guidance and then spy simulate it. That integration of all the tools now when they're given a new problem, they're like, do I want to do it analog?
I could quickly analytically figure out this cutoff. I could sketch the response with the Bode plot, get the circuit, and now I can spice simulate it and see the true transfer function. I think that's way more valuable. than me spot checking that they know how to do any of those individual pieces in a problem. Well, and I feel like you start from a good place too, right? You're using industry tools. You're using analytical tools that are, you know...
well-regarded in an industry like bode plots right and and there's an actual use case at the end it's not like you know just completely contrived it's like no you're actually you need to you've also explained why you want to reject things and like why you want to accept things and it's just like all of these things stack up so importantly that like if someone can do that and if they then feel empowered to do that that truly is the the space of education and like the
The testing whether you know how to draw a Bodhi plot is kind of the winnowed down thing that was part of the structure of education, the necessary part of education, to accredit that someone knows how to do it, right? When you're accredited, you're kind of saying, I just hope all programs hit this certain standard of knowledge. But, you know, there is a struggle. What do I have to drop along the way to make time for that? So, for example, on this circuit analysis.
problem. If I was doing mesh currents, let's say, as a learning point, which we do cover, do i want the students by hand setting up lots of sets of linear equations and calculating determinants and applying kramer's rule to solve that when One, I don't know anyone in industry other than solving the most simple circuits that could be flattened into non-overlapping loops would ever do that for real.
¶ Core Foundations vs. Tool Reliance
What most people are going to do is they're going to either set up that set of equations numerically and solve it, or they're going to quickly sketch it out in key cat or some equivalent program and spice simulate it. But they need to gut check it. Like you said that. some resistor isn't sustaining 2500 amps to make sure, does this make sense? I want them to have that intuition to not just blindly rely on the tool.
But I don't want them to have to revert back to hand doing linear algebra for everything and think that's circuit analysis. Like circuit analysis is more of that seeing what the circuit is doing. not solving for all the quantities in some like massive set of equations. But where do you say a student shouldn't know some of those foundations versus
what our tools currently do. As the complexity of our circuits just you know explode with what we're capable of doing, the ability to solve a circuit by hand to me reduces down usually to simplifying circuits to voltage and current division.
and simple things like that and i that's what i then double down on how do i motivate a norton or thevenin equivalent circuit because that'll allow me to use voltage or current division for more complicated things now suddenly the the motivation for doing equivalent sources is because it lets you do that paper and pencil quick approximation of the behavior a lot more readily.
Then needing to go down the road, a more complicated hand math that you would always now defer to other tools to solve. Right. Yeah. I feel like the best KVL KCL advertisement that I ever had was like. it was a keithly i remember it it was like sitting with my co-workers and we were just trying to figure out like what should the what should the voltage be at this node right here and it's like
Oh, look, there's resistors coming. And it's just like at that point, and then I could go and take a DMM, and I could measure the voltage. And I'm like, hey, it's not that voltage that I calculated it could be. If we can replicate that and like. Talk about that importance to a sophomore in college, a 19-year-old, which is tough in its own right.
But that ultimately is the thing that empowered me to then go and fix a thing. We're going to fix things. We're going to build things. We're going to make real things in the world. You have to take it all the way back. to KVL and KCL. And it's like, it's tough because we're starting at that point as well. So it's like, if you don't have that, dare I say context, Mark. But it's also like not getting too married to just like, I know this purely.
universal approach like i do give a thought exercise in class after we do these techniques where i give like a voltage source and let's say 10 resistors in series with it and i ask them to solve for voltages and currents and then i what i do is i modify the plot problem and i just put a second voltage source across one of those resistors and then i ask them for what's the current now in this whole thing the number of students who will knee jerk
And immediately just set up the problem again to say, oh, I got all these resistors and now two sources and it's going to become a superposition problem. And I need to do this, this and this. And then I'm kind of like, well. But remember, if I put this source dictating the voltage across this resistor, our best friend Ohm's law actually dictates a lot for us. And then they're like, oh, that's a trick problem. I'm like, not really.
I'm like when we get to things like op amps and other sorts of circuit components where they will impose their will on a circuit with respect to a prescribed voltage or current, it's not a trick. That's actually part of the functional design of what the circuit's doing.
And so they're like, and the way I say you see that is the reps. It's the, it's the failures. It's the like, yeah, you could do that by superposition. And when you probably solve it at the end of your two pages of work, you're going to realize it boils down to Ohm's law. that one resistor. So those are the things you want to give them the opportunities for is to kind of figure out, oh, I can inspect this circuit and realize if I know this voltage and this voltage, I don't care about the rest.
because I can isolate this to what this is, and that helps them debug. breadboarded circuits, figure out what tool do I need to use to figure out why this isn't working. And that whole idea of troubleshooting and debugging is really what I embrace is how they learn how a circuit works. Because if you build it and it's not doing it, you have to figure out.
out where along the way is it working and isn't working and that's just as valuable as just giving them that you know initial kind of confidence of a recipe to always follow to solve something yeah it is it is interesting thinking about like the building of intuition. It's not like a stated goal of like education, but it is almost always the important output, right? Like we're doing all this work. We do all these problem sets. We're trying to like build.
recognition. We're trying to like, you know, take individual letters and make them into words or make them into statements that we recognize and that we can like, that we have, you know, using, using the higher, higher processing power of the brain to do that sort of thing. And yeah, it's tough to, to make that happen.
¶ Benefits of Open-Ended Problems
Yeah. And I think the general way I would encompass how I'm migrating all my problem set-esque assignments is from close-ended to open-ended. Because in a close-ended problem... You're envisioning one prescribed thing they should be doing, one way they'll go after doing it, and one known solution. And that does, I think, reinforce this, like there is a way to solve this and maybe only one way to solve this to get me to that answer. The open-ended problem is great in that if you...
construct that problem correctly, it will still be limited in scope of what they can utilize to solve it. But you give them agency to think about the different ways to solve it. And again, look for the consistency of the ways they should agree with each other. And then also know there might be multiple valid end solutions that are still appropriate for an answer.
at the expense of your overhead of now grading it and that's the that's the double-edged sword from the educational perspective is like a lot of things have to be done in the reality of like accurate and timely feedback. And the more open-ended something is, the more you have to consider other ways that might be valid ways to solve certain problems.
And that's a challenge. Like that's probably where the most of my time is spent now is redoing exercises to give them feedback and also serve as kind of metrics for evaluation of how they're doing. And I would say all my classes are evolving in that regard. Yeah, that's that is a tough one. I would imagine like the expectations of students and really just like, you know, look at my kids, my kids are.
entering school soon sort of thing and just like thinking about their educational future and just like the reinforcement of that like do do thing get response do thing get response like the the kind of call and response of homework in general right and like how how students are prompted for that. I'm sure it's a tough cultural shift moving into your classes in that way as well. Yeah. I mean,
¶ Jupyter Notebooks for Learning
The other thing too is the overhead of what it takes to do certain tasks is changing. So like when I was in these students' roles in the sophomore level class, the graphing calculator was the only tool I had for doing stuff. Real quick, because I have a TI-83 and my wife thinks that I should save it until my kids are in high school. What's your take on that? Are we going to have graphic calculators in 10, 15 years from now? No.
Oh, thank God. I'm going to throw it out right now. I just don't think that like, you know, I had a TI-85. I used it in high school. I used it throughout my undergraduate career. I used it in graduate school, but it gradually was becoming. so limited in what it could do relative to now what is the ubiquity of you know the tablet laptop the laptop has become almost the same weight as the ti-85
Was it the side-by-side one, like the handheld control one? Was that the TI-92? I had that also. Oh man, that was, that was the UB math kids for me. Like the kids that went to the advanced math program. But I'm not going to do, what did I use it for? A lot of trig stuff. I used it for basic plotting.
and I used it to do some complex math. I don't want the students to think that their go-to tool should be a graphing calculator. Their go-to tool is gonna be a web portal that can do scientific computing. But the other thing too, the reason I like the Jupiter notebook is I want them to have a history and a progression of what they did that the graphing calculator does not preserve. I want to see how the problem got set up. I want to see how they got that plot.
I can't audit the history of what they entered into a calculator. And so the notebook becomes this really nice marriage of kind of... my active thought process, what I captured to document it once I got it working, and then how the student chooses.
to present the data to support the answer they're giving to a problem and i again leave that a bit open-ended i don't prescribe give me these axes these units this range i say give me a plot that shows, for example, if the temperature for this thermistor goes from this min to this max and I have a comparator downstream in the circuit that should trigger on a threshold, I want you to tell me
What's the resistance look like here? What is the voltage range here? How do I make sure this doesn't saturate? And they have to choose what the plots look like. And so that... And suddenly they're like, oh, I made the plot. I did it analytically. And then they organically are like, let me put a screenshot in of the spice sim. Or let me show an operating point simulation to confirm.
some snapshots of behavior. And now they have realized the value of why they learned all the tools without me saying, do it with Spice, do it with this, do it with that, show me this. That's really how I can tell they've gotten to the point where if they go to do their internship at a company, they know what that might be, that expectation might be to their.
advisor or project manager. To your introductory point, then, if people have had my students before, especially some of our local companies, they know that by day one, they'll step in and they'll be comfortable with like, oh. If I need to show them that this circuit works, I should show them this, this, and this. And that wasn't something explicitly tested on an exam or a problem set.
If that student shows up in my door, I'm hiring them. Like seriously, if that Jupiter note, but like just like showing your work and like communicating effectively, you know, like even if it's written, it doesn't have to be like, oh, you're like loquacious, right? It's like, no, it's like you show your work, you. are thoughtful you're calculating you think like that more than enough right that is uh yeah that is very much preparing them
¶ Tympanometer Project: Addressing a Need
Before we end, I would love to actually hear a little bit more about the Timpanometer project, because I think that's really interesting, both because you mentioned you're working in these kind of, now you're constraining yourself. We talked about kind of open-ended constraint problems that students deal with, but now you've been working with a constraint.
of the real world of like low cost, trying to build a low cost, but effective measurement device for communities. What is that and how has it been building it? yeah so this really gets at what you posed is will education become this type problem of making i think you said like a glucose monitor or something like that so the Real luxury. One of the reasons I've stayed at Duke to do engineering is we have a hospital and a healthcare system deeply integrated with what we do. It's one of the...
major benefits to, I think, a biomedical engineering student being at Duke or any institution that has direct ties to a healthcare system. So we had a need that came to us pre-COVID. from an ENT and an audiologist that were working in rural Alaska and South Africa and some other areas where young children, talking like three to six years old, have subacute. ear infections, middle ear disease, you probably have had
You said you have your children. They've probably had ear infections. And usually, I was going to say Duke Hospital and the audiology group. I will be there very soon because of how much they've had ear infections. So yeah, they're great. So usually when a child has an acute ear infection, they let you know.
But what happens is you get a lot of these subacute infections where the child is kind of used to some discomfort or maybe just doesn't have discomfort. They have this kind of chronic infection in the middle ear. And what happens with chronic infections, eventually the immune system goes after that. And what can happen is you get scarring, just like you would get from like a skin lesion or an abrasion or laceration, and you'll get scarring.
And then that scarring impedes the middle ear function to conduct sound appropriately. So you can get, you know, adult lifelong hearing loss from a childhood middle ear infection that would cost... pennies, dollars to treat if you just knew about it. And so it can lead to a lot of societal impact. If someone has a hearing deficit that was preventable, that is something you should address.
Tympanometry is a measurement tool that audiologists and ENTs will use that pretty much modulates the stretch of the eardrum by putting in positive and negative pressures. sending in a tone of sound. When the eardrum is relaxed and not under tension, that sound should ideally go into the middle ear and not get reflected back to the source and the device.
Whereas when it's under tension, you expect that sound to get reflected. So a healthy tympanogram would show under tension in both positive and negative pressure conditions reflected sound. And when the eardrum is effectively allowed to...
to resonate, sound should conduct through and no sound should get reflected. When there's disease, the fluid or you know immune kind of milieu that could be in the middle ear will prevent that sound conduction and you'll get i think the medical term is is gunk mark i think it's gunk
I'm going to convey just as much as any other term. So when that's there, you get sound reflected back when it should be transmitted. And you can measure that. And then you can recommend a more thorough workup to be done to see if it's a treatable thing. The problem is these devices are historically quite pricey and just as much of a barrier, they required a trained audiologist or specialist to interpret the data that comes back.
So our mission was, could we make this device lower cost and make it so that a lay person, like a school teacher, could use in a large environment where there's lots of children, do it quickly. and be able to do these screenings. And then the hope would be when you say someone should get evaluated more, then it's worth them taking the multi-hour drive to a clinic or some other, you know, resource to get that more thorough workup.
So I was like, this is the perfect project to leverage with my design fellows program. So I made it an undergraduate student-based design project.
¶ Tympanometer Development and Funding
It's great because there's an existing device that does this. Like tympanometry doesn't have to be invented from scratch. But a new constraint or constraints were added cost and the ability to get rid of the audiologist. to do it. So we've leveraged things like using mobile phones to run machine learning classifiers by taking data that's acquired by the device, Bluetooth transmitting it to a phone.
running it there. We had students getting to design audio circuits for speakers, microphones. We have bellows pumps to modulate pressure. So we have pneumatics, tubing. We've got... I think we're on our fifth iteration of PCBs that the students have all done. Doing all these things, we had to make it battery-powered, rechargeable, constraints of battery life in areas where wall power access is limited.
And then introducing all the safety constraints of using a device on a child by a layperson. So it's the perfect educational project. And it satisfies a need. for health improvement in low resource communities. Now, are we doing something that a well-funded med tech company could probably knock out extremely quickly? Yeah, we're not introducing any...
knowledge or unique value other than in the academic space, we can say this is a priority and a need we want to address. The students will learn a lot. We're going to hold it to the same safety and quality standards of any device out there. And we're going to try to improve things long term, just on a probably longer time scale than we have to.
So we've had a couple, I think now we've had almost 15 students work on the project. It's been, it eventually, it first had seed funding internally at Duke. It was a collaboration through the School of Medicine and Pratt School of Engineering, a program that no longer exists now called MedX. We got NIH funding to do it. Now, to get NIH funding on completely undergraduate student-driven effort,
is not the most common way to do things, but we did. So we had a R21, R33 grant where we did more device development and then did a clinical trial. which we just finished up in Cape Town. And then we've had some internal funding, translational funding here at Duke through our Coulter Translational Program, which is helping us tee this device up to try to now get it out of the academic space.
into kind of a more commercialized realm where we're trying to do this balance of commercializing something we want to give away for free. And it turns out that is an uphill battle. but it is one we are fighting. So we've open sourced all the designs. The firmware is all written in Zephyr. Everything we had to do for that project became the curriculum for my embedded course that I described. All the schematics. So we have a four-layer board that we use. It's all captured in there.
We've worked with Kyle a bunch to help kind of allow our students to do summer internships outside of the academic space where they can see the realities of what it takes. to build up a production quality pcb test it work with a regulatory system and we should say kyle's at blur product developments i don't think we said that yet so
He's a blur. For me, Kyle and Blur are now like somewhat interchangeable in terms of my... That's right, right. They blurred it. But it's been great too because, for example, getting Bluetooth to work. Zephyr has made that... actually tractable for me to include in a class. If I pre-Zephyr had said I want students to learn how to implement Bluetooth, low energy protocols, that would have been a disaster. That's one of those wins that has come out of
¶ Ethical Design for Global Health
of using that framework for doing this development. My whole thrust here... is like really naturally marrying this educational process with real world problems. This is a legitimate problem. So the one you posed could have been like, okay, there's CGMs all over the place. You have this.
create one that's the equivalent of this. Here's like, yeah, there is an existing tympanometry technology. That is not the novel part. The problem here is how do we get this to be used now by laypeople and to do it at lower cost? And just like engineering in industry might have DFM, like design for manufacturing, where you have a whole team that comes in and redesign stuff just to make it more manufacturable, packageable, lighter weight, able to be shipped.
We're looking at it from the standpoint of how do we re-engineer these things to use in different communities that don't currently have common access to this sort of technology. Yeah, I think the value engineering side is... Well, honestly, it matters a lot in the medical space, too, because of the high cost, the high initial cost, and there still are costs. So this is a really interesting kind of subspace in there of value engineering in the medical space is not as common because...
No offense to Johnson & Johnson, they aren't like super motivated to do that sort of thing because they're like, oh, look, we'll make less money, but we'll spend a bunch of money to do it, right? Absolutely. And to round out the final part of this educational experience, it does naturally bring up the... ethical discussions of just how much can you pull back from what the large medtech players would have to do to distribute a product in the U.S.?
If you're trying to do something to improve access to a much broader global or rural community. And ethics discussions like are not the first order thing. You're like electronics and embedded like there's more than enough to learn there. But. It does naturally bring up this discussion of like, is it okay to pull back a little bit on what that V&V process actually would look like? Oh, like that. You know what I'm saying?
the overhead where can you where can you shave corners you're saying you know like uh yeah but instead of for us personally on this project instead of reducing the threshold for any quality or testing rigor we would do we're looking at changing the scope of the tools we use such that we don't have to add more testing. So for example, our first generation device used an ML algorithm running on an Android phone.
What we started to figure out is, can we actually move that classifier to run on the device? Now, we don't introduce all the testing of the mobile app. the data transfer process and all of that stuff to what the core device does. And now our protocols. greatly contract that we have to adhere to. So I'm no longer worried about cybersecurity of the transmitted raw data to the mobile app.
And I'm not worried about the mobile app itself being audited and evaluated for its rigor and security clearance if I could do everything on the device. So our next-gen device is looking to onboard all that just into the firmware. And now there's a lot of great tools that allow us to couple with the Zephyr system to run some higher algorithmic models on the device.
And the students who are tasked with that are like, okay, how does this kill us on runtime, battery life? How do we get this output without adding a screen to the device to let the user know what's going on? So I have a whole nother year or two of student projects.
motivated by an actual real world concern i mean at the end of the day it's like you are approximating real daily engineering in a medical space right it's like that's what that's the true goal it feels like it is admirable so i'm really excited to see that one thing that's really interesting to me is like you know we're talking about like high-end current tools versus uh you know
lower end, less interface kind of tools. And I, I go into these, I go into these audiology appointments, Mark, and like, they're using like windows 95 on these boxes. Oh, trust me. I know. And that's just it. If the healthcare. kind of sector that you're working in doesn't have a catalyst to innovate and improve they're going to just remain with the status quo and you know that is just kind of a steady state field right now this device
could pivot and look towards just how can we make this better, just overall. And when we present this to audiologists, they're like, hey, I know you're trying to cut us out, but we'd love to have a tool like this.
¶ Avoiding Mission Creep, Enabling Learning
our needs. And that's a little bit of an educational thing too of like mission creep. The students hear that and they're like, oh, we could do this, this and this. And I'm like, yeah. And then we've taken our eye off the prize of what we're trying to do. for these people. And that's a really useful lesson too, is what will paralyze a lot of engineering teams is that mission creep.
Mission creep, that doesn't happen in the real world, I don't think. Come on. You never get your deliverable that does what you promise. Yeah. And I do think in our current society where like rapid prototyping is greatly facilitated by things like 3D printing, you can quickly spin up boards and get quick PCBs made.
The thing is, you don't want your win to be 80% of what you actually need to deliver it to be used. Because then you're like, oh, I'm out of innovation mode. And now I'm in like all the practicality. It's that 80-20 rule, except the 20 in a medical device really matters.
of what you need to do to push it over the finish line to be something that actually is signed, sealed and delivered to use in a healthcare setting. Well, that's really great. And I'm really, I'm really glad that you're teaching people this, you know, both, both as a, you know. interested in engineering education, but also as someone who's going to utilize the healthcare system. Selfishly, this generation I'm training will be the people making the tech behind the scenes for my providers too.
And so I probably have a subconscious selfish role in that too. To be fair, the best win as an educator is when that student comes to you, not because they got the A. But like they did something cool on their own with it. Yeah. They took a video of their working circuit at the end of the semester and sent it to their family and friends to show off, like, look what I did. Like, those are the big wins. Making the big nerds. That's what we're all here for.
Even if I say you have figured out this is a door you plan to close in your professional journey, like electronics isn't for you or firmware, to have the satisfaction and to know, like, I get... what these members of my future teams will do, or I thought I hated this and I love it.
Both of those are equal wins to me in that they just have gotten the opportunity to play in that sandbox, play with the toys in that sandbox, and figure out if they want to stay there or not. And that's exactly what I think college should be for our students. is to figure out and not be scared of like, I'm going to, my GPA is going to suffer, or I'm just quote unquote, not good enough at this, or I didn't do this in high school and I'm already behind the eight ball. It's to figure out.
Do I enjoy this? Is this what I want to double down on? And to have some kind of just organic passion that for whatever your professional trajectory is, you'll wake up a bit excited more days than not to do what you want to do. Mark, you are a fantastic educator, and I'm excited that you are local, so I get to keep bugging you. And it's going to keep happening. So, yeah, stick around to Duke.
As your empire grows and you need interns, maybe you'll start taking some of my students to work on all your side projects in the sort. First door I knock on. Yep, exactly. Where can people find you online?
¶ Connecting with Mark Palmeri
So you said you're MLP6 on GitHub. Where else can people find you? Yeah, I mean, the easiest way to kind of track my latest projects would be on the Duke kind of BME website. I have a faculty page there, and that faculty page links to a lot of my traditional research profiles. GitHub is where I've started sharing a lot of my coursework. The tympanometer project will be showing up there as I migrate it from internal Git repositories.
I have no social media except for LinkedIn. You can find me on LinkedIn. I think my URL has my name in it. And that's also linked on your Duke page too. It is. And we also have a LinkedIn group for the BME Design Fellows. Oh, nice. All the students who have completed the program, a lot of my alums are there. We like to share and highlight a lot of cool projects our students are working on, where their footprints and industry are.
And it's created a nice organic community for kind of like self-support on the student level. And I also just love to spotlight what people are doing and what they're getting exposed to there. That's awesome. All right. Well, Mark, thanks so much for being here. I really appreciate it. And I'm looking forward to chat with you again and hearing about how all these projects are going. So thanks for being here. Oh, this was great. Thank you so much.
