DiA Lens wiper


There was a joke about rain wiper for fpv camera. I’ve heard that and my brains started ticking.

There is no restriction to fly our quads, wings and plane in the rain. This restriction is just in someone’s head. Just use a proper conformal coating and Send It. In Finland, we fly around the year, no matter whether there is sun, rain or snow. I believe that many other people share the same attitude.

So is this a joke or not, useful or not? It’s your decision.

Wiper animation

Here is an open-source project for everyone to create a simple wiper system for fpv camera. Or whatever you want 😀

You can get source file for Fusion360, so you can modify or develop this further for your needs. Remember to create a Thingiverse remix and credit me for your inspiration cough.

You’ll find here also a guide to configure Betaflight to use the servo for the wiper. And the configurations on your OpenTX radio with LUA script.

Thank you very much Jari Kankare for providing awesome Wiper script! Check out his Instagram profile @meatg_fpv!

Before printing

Lens-Shaft Distance

First, get a 1.7g micro servo and attach it to the back to your camera with double-sided tape. Make sure that the servo’s shaft is closer to the centre of the camera.
Then measure the distance between the shaft centre and the front lens.

If there is no ready-made arm here for your camera, then you can generate it in Fusion360 CAD software. Get and open DiA Lens Wiper.f3d file from Thingiverse.com/thing:3469585/files

Length parameter

Use the measured size and set it by modifying the Servo_lens parameter. It will automatically regenerate the wiper arm part.

Export modified arm as STL. Make a Thingiverse remix or send it to me, so I can keep a list of all ready-made arms available here.

Print the arm and the rubber blade. Rubber blade part is long, because of the difficult nature of super flexible filament. So you can just cut the cleanest part from it.


Slicing arm

I recommend to print wiper’s arm with less brittle filament like Armadillo 75D TPU, PETG or Nylon. You can try testing with other material too 🙂

Put the arm in the slicer on its side and fill it with perimeters only.

Slicing rubber blade

Print the wiper’s rubber blade part with very soft, like Ninjaflex 85A, TPU. Put the rubber in the slicer on its back, blade pointing up.

Printed rubber blade


Assembled wiper

Cut the cleanest part of the rubber blade and glue it to the arm. You can use Loctite or such cyanoacrylate based glue.

Slide the wiper arm on to the servo’s short one handed arm that came with the 1.7g servo. Lock with some tiny whoop’s screw or wire.

Put assembled wiper arm on the servo, but don’t lock it yet. Make sure that the wiper is on the desired location by default and moves in the right direction. Lock it with a screw as the last part.


If you use Betaflight or such flight controller. Make sure that you have spare pwm output for the servo. Check the directive guide in my previous project DiA Compact tilt camera system.
Or you just can put it on the receiver’s spare pwm output.

Get the Wiper.lua mixer script from MeatG’s Github. Save this file to radio’s SD card /SCRIPTS/MIXES/ folder.

Then in your model settings you can set these setting that I used. You can set what suites you best:

  • Go to Custom scripts tab
    • Click on the first LUA1
    • Script: select Wiper from the list
    • Name: WiperSl (Wiper Slow)
    • Speed: 5 (bigger slower)
    • Delay: 30 (bigger longer)
    • See the Wipe’s live output for a result
    • Go back to the script list
    • Create second LUA2
    • Name: WiperFa (Wiper Fast)
    • Speed: 5
    • Delay: 7
  • Go to Inputs tab
    • Add new input, mine is I09. Use a knob or slider as a source, mine is S2
  • Go to Mixer tab
    • Add new to selected channel, mine is CH9
    • Mix name: Wiper
    • Source: Created input, mine is I09
    • You can change the moving direction of the arm by inverting the Weight from 100 to -100
    • Go back to Mixer list
    • Insert After created mixer
    • Mix name: Slow
    • Source: LUA 1 WipeSl
    • You can change the moving direction of the arm by inverting the Weight from 100 to -100
    • Switch: Select swich and its position, mine is SB center
    • Multiplex: Replace
    • Go back to Mixer list
    • Insert After again
    • Mix name: Fast
    • Source: LUA 2 WipeFa
    • You can change the moving direction of the arm by inverting the Weight from 100 to -100
    • Switch: Select swich and its position, mine is SB up
    • Multiplex: Replace
Custom scripts tab
Inputs tab
Mixer tab

And you done!

So with a slider you can move the wiper manually. And with the switch you set the wiper to move automatically at your deisred speed, like we have in the cars.

Real action

Leave a Reply

Your email address will not be published. Required fields are marked *