Hi everyone,
We are TONUS, a student team at ETH Zurich (tonus.dev) working on cuffless blood-pressure monitoring. Over the last year we designed four generations of wearable optical sensor hardware, which we call TWD1 to TWD4. Every one of these boards was manufactured by AISLER.
This is the first post of a short series: Each post covers one step of the hardware and ends with the problem that the next board had to solve. This one is about where we started and about our first custom board, which did not work the way we wanted.
Why we started this project
Blood pressure is normally measured with an inflatable cuff: one reading at one moment, and the measurement itself is uncomfortable enough that nobody wears it all day. We want to know how far blood pressure can be tracked continuously with sensors that sit on the skin and do not squeeze anything.
Our main sensing method is photoplethysmography (PPG). An LED shines light into the skin, a photodetector measures how much comes back, and the amount changes slightly with every heartbeat as the blood volume in the tissue changes. Smartwatches use the same principle for heart rate and other related metrics.
For our research a heart-rate trace is not enough. We needed:
- raw signals at several wavelengths, not one processed HR value,
- control over LED current and exposure, so we can adjust to different skin and body positions,
- several modules on the body at the same time, sampled on a common time base,
- extra context such as motion and temperature recorded together with the optical signal.
No off-the-shelf wearable gave us all of this, so we decided to build our own.
TWD0: buying before building
Before designing anything, we tested a commercial PPG module (Pulse Sensor Amped). On a fingertip it produced a usable pulse, but on the wrist and other body parts the signal quality was poor, and we had no control over wavelength, exposure or sensor geometry. It confirmed that the measurement principle works, and it showed us which control we were missing. That became the specification for TWD1.
TWD1: designing the optics ourselves
TWD1 was our first custom PCB. The idea was to keep as much freedom as possible:
- interchangeable LEDs, so we could test different wavelengths,
- three photodiodes at different positions around the LEDs,
- an OSRAM optical analogue front end to amplify and digitise the photodiode current.
Our greatest failure: TWD1 did not give us a reliable signal
The board was manufactured and assembled without problems (after some trial, error and learning), but it never produced a stable PPG signal with good signal-to-noise ratio.
Looking back, the reason is that we had made too many variables custom at once. The useful, pulsating part of a PPG signal is very small compared with the constant light level that comes back from skin and tissue. That makes the measurement sensitive to almost everything:
- the distance and geometry between LEDs and photodiodes,
- light that reaches the photodiode without going through tissue,
- noise and gain settings in the analogue front end,
- how firmly and how evenly the board is pressed onto the skin.
With LEDs, photodiodes, front end and mechanics all designed by us, we could not isolate which of these was limiting the signal. Each test changed several variables at once, and the time we had for the project was not enough to work through them one by one.
The main lesson we took from TWD1: only design the parts you need to own. Our research questions depend on what we do with the optical signal, not on building our own photodiode amplifier. For the next board, we moved the most sensitive part of the problem into a component that was designed for it.
Which PCB design tool we use and why
We use KiCad for all TWD boards.
- It is free and runs on every operating system in the team, so anyone can open and review the design.
- Project files are text-based and live in our git repository alongside firmware and documentation.
- AISLER accepts native KiCad board files, so we upload the
.kicad_pcbdirectly using the AISLER plugin instead of exporting Gerbers for every revision.
What’s next
TWD1 gave us no usable data, but it made the next decision obvious. In Part 2 we show TWD2, the first board that produced a reliable four-wavelength PPG signal, and TWD3, where we tried to put the sensor, the microcontroller and all the additional sensors on a single PCB, and what went wrong with that.
If you have built a discrete PPG front end (LEDs, photodiodes and your own amplifier) and got it to work well on the wrist, we would like to hear what made the difference.
More about TONUS, and how to reach us: tonus.dev
Thanks to AISLER for supporting our project.
The TONUS team


