keepcalculator

06 Numbers and Powers

Fix Noisy 3D Printed Flexible Sensor Readings

Card No. 06·32250 · Updated · Standard formula, shown below

Flexible 3D printed sensors (often made with TPU or other elastomers and conductive filaments) can produce noisy or inconsistent readings due to mechanical, electrical, and printing factors. This guide walks you through the most common causes and fixes, from hardware adjustments to software filtering, so you can get stable, repeatable data.

What You’ll Need

  • Multimeter (to check resistance/continuity)
  • Soldering iron and solder (if wires are attached)
  • Heat shrink tubing or electrical tape
  • Isopropyl alcohol and lint-free cloth
  • Fine sandpaper (e.g., 400 grit) or emery board
  • Optional: oscilloscope or data logger to visualize noise
  • Access to your slicer software (e.g., Cura, PrusaSlicer)
  • Access to your microcontroller code (Arduino, etc.)

Step-by-Step

  1. Check the physical connection. Loose wires, cold solder joints, or broken traces are the #1 cause of intermittent readings. Gently tug each wire; if it moves, re-solder it. Use heat shrink to strain-relieve the connection point.
  2. Inspect the printed sensor for cracks or delamination. Flexible filaments can separate between layers, especially at sharp corners. Use a magnifying glass or microscope. If you see cracks, reprint with higher temperature and lower cooling fan speed.
  3. Clean the contact areas. Oils from your skin or dust can increase contact resistance. Wipe the sensor’s conductive areas with isopropyl alcohol and let dry. For stubborn residue, gently sand with fine grit paper, then clean again.
  4. Verify the conductive filament’s resistance. Measure the resistance across the sensor’s terminals with a multimeter. It should be stable when you bend it slowly. If it jumps wildly, the filament may be inconsistent – try a different brand or batch.
  5. Reprint with better settings. In your slicer, increase the extrusion width slightly (e.g., 0.45mm for a 0.4mm nozzle) and reduce print speed. Use a higher nozzle temperature (10-20°C above the filament’s minimum) to improve layer adhesion. Disable or reduce cooling fan to 0-20% for flexible materials.
  6. Add a pull-up or pull-down resistor. If your sensor is used as a variable resistor in a voltage divider, ensure the fixed resistor is appropriate (typically 10kΩ to 100kΩ). This stabilizes the voltage reading and reduces noise.
  7. Use shielded wires. If your sensor is far from the microcontroller, electromagnetic interference can cause noise. Use twisted pair or shielded cable, and ground the shield at one end only.
  8. Apply a smoothing capacitor. Add a 0.1µF ceramic capacitor in parallel with the sensor (or between the analog pin and ground). This filters high-frequency noise. For slower signals, a 1-10µF electrolytic capacitor can help.
  9. Implement software filtering. In your code, take multiple readings (e.g., 10-20) and average them, or use a moving average or median filter. This is often the most effective fix for random noise.
  10. Calibrate the sensor. Bend it to known angles or forces and record the readings. Create a lookup table or polynomial fit to map raw values to meaningful units. This corrects for nonlinearity and hysteresis.
  11. Isolate mechanical stress. Ensure the sensor isn’t being stretched or twisted beyond its intended range. Mount it so that only the sensing area flexes, not the wires or connectors.
  12. Test in a controlled environment. Temperature and humidity can affect resistance. If possible, test in a stable environment or compensate with a reference sensor.

Common Mistakes

  • Using too much heat when soldering, which can melt the TPU or damage the conductive path.
  • Printing too fast or with too much cooling, causing poor layer adhesion and internal voids.
  • Not accounting for the sensor’s resistance changing with temperature – this can look like noise.
  • Using a multimeter on the wrong setting (e.g., continuity instead of resistance) and getting misleading results.
  • Forgetting to ground the shield of a shielded cable, or grounding it at both ends (creating a ground loop).

Tips

  • Print a test pattern with multiple thin lines to check filament consistency before printing the final sensor.
  • Use a dedicated analog reference voltage (e.g., 3.3V instead of 5V) for better resolution on many microcontrollers.
  • If using a voltage divider, choose the fixed resistor to match the sensor’s rest resistance for maximum sensitivity.
  • For dynamic bending, consider using a differential amplifier to reject common-mode noise.
  • Keep sensor wires as short as possible and away from motors or power lines.
  • Document your calibration curve – it will save time later.

Troubleshooting

  • Readings are still noisy after all steps? Try a different conductive filament. Some batches are simply more consistent than others. Also, check your power supply – a noisy USB port can inject noise into the analog readings.
  • Readings drift over time? This is likely thermal drift. Measure the sensor’s temperature and see if the resistance changes. If so, you may need to add a temperature compensation algorithm or use a different material.
  • Sensor works but then fails completely? Check for a broken wire or a crack in the print. Flexing can fatigue the material – consider printing with a thicker cross-section or using a strain relief design.
  • Software filter doesn’t help? The noise may be too low-frequency (e.g., drift) for a simple average. Try a high-pass filter or a calibration routine that re-zeroes periodically.
  • Multimeter shows stable resistance, but microcontroller reads noise? The issue is likely in the wiring or ADC. Check for loose connections, and try a different analog pin.

Frequently Asked Questions

Why does my flexible sensor read differently every time I bend it the same way?

This is often due to hysteresis – the material doesn’t return to exactly the same internal structure. Calibrating with a curve that accounts for the direction of bending can help, as can using a more elastic filament.

Can I use regular PLA filament for a flexible sensor?

No, PLA is rigid and will crack or break when bent. You need a flexible filament like TPU, and for conductivity, you need a specialized conductive TPU filament.

How do I attach wires to a flexible sensor?

Use a small amount of conductive epoxy or solder at a low temperature. Crimp connectors or sewing with conductive thread also work. Always strain-relieve the wire to prevent pulling on the sensor.

Is it better to use a voltage divider or a Wheatstone bridge?

For most simple bending sensors, a voltage divider is sufficient. A Wheatstone bridge gives better sensitivity and cancels temperature effects, but requires more components and careful matching.

What is the best way to filter noise in software?

A moving average filter is simple and effective for most cases. For spikes, a median filter is better. For slowly varying signals, a complementary filter or low-pass filter can work well.

Can I 3D print the sensor directly onto a flexible PCB?

Yes, some advanced setups allow printing conductive TPU onto a flexible substrate. However, this requires a multi-material printer and careful calibration of print settings to ensure adhesion without shorting.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →