Lens Encoder Advice

 

Hello,

I'm about to buy lens encoders to work with Aximmetry in our studio. I'm considering Indiemark 2 and Viper, for the "low" price. I'm trying to understand how communication work between the encoder and the pc, is it done via cable? My concern is having that many/really long usb cables crossing the studio, along with SDI cablens and such.

Is there a way to having the data wireless from those products?

Also, Which one of those products do you prefer and why?

Thank you 

   Merovingio

 
Profile Image
ericmarodon
  -  

Hi,

Yes both are using cables. USB C in the case of Indiemark, not sure about the Viper (looks like serial, can't say for sure).

Note that you can plug the indiemark (and probably the viper) to a cheap miniPC nearby running the encoder software (eg Loled server) or a community version of Aximmetry and use axibridge to forward via ethernet the data to a remote PC doing the actual rendering and heavy work.

This being said, on a side note, I don't fully understand why any of them are still so expensive, when you have fancier wireless follow focus for half the price doing basically the same stuff (if not more).

Actually, just for kicks, I built myself a prototype with an off-the-shelf rotary encoder (22€ on amazon), a tiny seeeduino xiao (7€) and a 3D printed enclosure, mount and gear (made with fusion 360), with no prior experience. I followed a couple of tutorials on arduino, installed the right libraries, and guess what? It works : I get 2400 pulse per rotation on the shaft in quadrature mode before taking into account the multiplication factor between the lense and encoder gears.

That's more than twice the precision of the viper for less than 40€ in parts. The signal is then sent via serial over usb or OSC to the computer. The only thing missing is a curve interpolation of the receiving end if your focus isn't linear (but for instance, on the manual zoom lense I tested, the zoom factor is linear).

In the meantime, Indiemark seems the lesser evil.

 
Profile Image
Merovingio
  -  

That sound interesting, but I don't have the ability to build it myself, even if I'd like to.

That mini-pc approach seems interesting to me, thank you.

 
Profile Image
Merovingio
  -  

I am little bit lost. There is basically 4 models coming from Loled: Indiemark 1 and 2, and Glassmark 1 and 2. 

In my understanding Glassmark 2 works with a box called Conduit to have also sync and wireless, but it seems not to be find anywhere, also on the site is in pre-order since launch. I think it is a little confusing, but maybe it's me. It also seems that most of the people goes for Indiemark 2 but how do you achieve sync without a Sync input?

 
Profile Image
ericmarodon
  -  

Yes, it looks like it's always backordered, they must be made on demand or 3D printed in small batches. Beware also of the hidden costs like Import duty/shipping costs/VAT. They're made in the US, so if you live in the EU for instance, it might add up quickly.

Also, note that the Indiemark looks like the one used on every Vive Mars setup, if you intend to use that later (in which case I believe the vive "rover" is actually forwarding the data through ethernet, like a minipc).

 
Profile Image
mohseniboad
  -  

@ericmarodon

Hello . 

Is it really possible to make an lens encoder  and the aximmetry can receive information from it?  Please give a more detailed explanation.

 
Profile Image
ericmarodon
  -  

Yes it's really possible. But as I said, it was just an experiment.

I bought a seeeduino Xiao microcontroller (7€), and a 600ppm Chinese rotary encoder on Amazon (25€).

I followed a tutorial on how to install arduino IDE and download a ready-made "quadrature rotary encoder" library in the Xiao's memory.

You need to solder 3 wires from the encoder to 3 pins of the seeeduino Xiao (power, ground and the digital i/o pin you want) and tell in the arduino IDE which digital pin you used.

Plug the xiao to USB C and after that the rotary encoder library does it all: it spits out raw encoder values on its serial port.

And because it uses quadrature encoding, it gives you 600x4 = 2400 pulses per rotation of the shaft (it's actually even more precise with the difference in gears between the barrel of the lense and the actual encoder).

Now Axymmetry can natively read OSC protocol data for instance, so you can either add another library in arduino that will output OSC messages to a static hardcoded IP address, and receive its raw output directly in Axymmetry through an OSC node, or have a small intermediary program read the raw USB serial data and convert it to OSC (making it possible to change parameters like IP address, remap values etc.)

I'm not a programmer but I can deal with nodes and basic examples, so I used Unity and a couple of plugins on the marketplace to create a small program that will read the serial data from the USB, convert it to OSC and give me a visual interface to change whatever values I needed.

In Aximmetry, with an OSC node I could then read the values from the encoder. With a couple more nodes, I could create a setup that would remap those raw values to a more meaningful intervall in aximmetry (like min 12mm and max 60mm zoom values).

The next step would be to have a non-linear remapping for focus distances for instance, but I didn't get that far. 

Actually, the hardest part is on the software side, not really the hardware.

--------

This being said, I'd wait just a little longer, because it would appears that HTC and Smallrig are partnering to offer a new encoder based on the MagicFiz Follow focus system:

https://mars.vive.com/post/sneak-preview-of-fiztrack-at-nab-2023

Given that MagicFiz follow focus can be had for 100$ on B&H, this could mean a decently priced professional encoder is on the horizon, even if HTC adds a markup because it has to develop specific solutions around it (and make money).

https://www.bhphotovideo.com/c/product/1730053-REG/smallrig_3263_wireless_receiver_motor.html

Hope that helps

Eric





 
Profile Image
mohseniboad
  -  

Thank you very much, I am very happy that there is a way to make it myself, the thing is that I live in a place where nothing can be easily bought from the open world. I even contacted aximmetry and they said that I cannot buy the aximmetry software. So I work with the free version! Anyway, thank you very much for your help. I have to start making this encoder to complete this three-year path that I have been working on virtual

 
Profile Image
mohseniboad
  -  

Can i put rotary encoder to this fallow focus? 

https://unitedbroadcast.com/zhiyun-crane-2-servo-follow-focus-mechanical-cmf-01.html


 
Profile Image
mohseniboad
  -  

What kind of rotary exactly do you buy? 

I have access to these models

https://www.manamotor.com/measuring-equipments/rotary-encoder

And is this controller? 

https://bir-robotic.ir/wp-content/uploads/2021/04/seeeduino-xiao-preview_1.jpg


 
Profile Image
ericmarodon
  -  

Yes these are similar encoders to the ones I used, and this is the same microcontroller.

Be warned though that you need to be a little bit crafty with your hands and a soldering iron, and later you need to transform the serial USB data to OSC (internally or externally) for Aximmetry to recognize it.

I'd rather wait a little bit to see if the HTC FIZTracker becomes available in your country before jumping into this.

Also, keep in mind you only need a lense encoder if you want to have live changes of focus/zoom/iris. If you have good markings on your lense or follow focus, you can also create "preset buttons" (with switchers and pin collectors) in Aximmetry and change the focal length "by hand" pretty quickly : set the lense to the right mark, click on your preset and in less than 2 seconds, it'll match.