User Tools

Site Tools


Research Journal

This section contains our research, including failures and digressions. Our “official” results are in the Construction Guide.

Eiki RT-2 Projector - Major Components kg
Main Assembly (after removing items below) 8
Transformer 2.4
Motor 2
Rear cover with 1 speaker 1.3
Flywheel for sound reader 0.8
Total 14.5

2023-05-29 (before 2nd session)

The prototype LED lamp and motor are now working together at 24fps with a digital shutter and basic user interface (motor speed and lamp brightness knobs). The motor system prototype is finalized, but the lamp is not yet attached or aligned.

The RC car motor drives the shutter shaft via 5:1 timing belt. It mounts on an adjustable 3D-printed bracket that fits the original Eiki mounting holes. A AS5047D magnetic rotary encoder is mounted an another bracket, aligned with a magnet on the shutter shaft. (The encoder and magnet brackets are also adjustable.) Motor speed is smoothly variable and the code has a frame-counter and accurate FPS reading.

As the projector's shaft spins, the encoder subdivides each rotation into 32 segments. The software generates a “shutter map” to decide the lamp state (on/off) for each segment. The code supports a number of virtual shutter blades (0,1,2,3…) which could be selectable by a switch or knob. The “size” of each virtual blade can be controlled too, like a camera's variable shutter. (This code is finished and working, but the user interface isn't there yet.)

The LED driver delivers up to 40W to the LED. Lamp brightness is controlled smoothly by a PWM signal from the micro-controller. The 1kHz PWM rate has very little flicker. It can't be increased because the LED driver can't turn the lamp on/off perfectly at higher speeds. Flicker-free dimming could be possible via current control, but requires more parts and wouldn't be reliable at < 20% brightness levels.

Next steps:

  • Make lamp functional: Mount on heatsink that fits into Eiki and Eumig projectors (currently heatsink is just a scrap), and build bracket to re-use existing Eiki lamp mounting hardware. Attach condenser lens and focus on film plane. Try it with film!
  • Clean up code for shutter to add live adjustments. Consider > 32 shutter segments so 3-bladed shutter will be more symmetrical. Add shutter “phase” adjustment to create vertical rolling patterns.
  • Build a box with many knobs and switches so we can easily experiment with user-interface code

Individual Systems:

Motor Unit


  • The Eiki projectors require about 0.3 Nm of torque at the shutter pulley (roughly tested with luggage scale using this method). At 24fps, the stock motor spins at 3600 RPM with a motor:shutter pulley ratio of 2.5:1 (60Hz projector) or 3000 RPM, 2.083:1 (50Hz projector). We can probably re-use the stock pulleys with a new motor. (The motor and shutter drive shafts are both 8mm and very accessible.)
  • The Eumig P26 requires much less torque (not measured) and exposes its external drive shaft. The motor:shutter pulley ratio is about 3.8:1, so the motor spins about 5472 RPM @ 24fps. We could replace these pulleys with other ratios if we want. (The original motor has a 6mm shaft. If the new motor has a 1/8“ shaft, we need to adapt it or fabricate a new pulley. Maybe slip a 3D-printed pulley over a standard RC car pinion gear?)
  • After much experimenting, Zach found that steppers will never reach the speeds we need. They can almost reach that RPM if accelerated slowly without a load, but there is almost no torque at high speeds.
  • So we have 2 options …
  • 1) Conventional brushed DC motor
    (cheap, requires common “h-bridge” speed control, but will be louder than projector's original AC motor, not very efficient, and may be very jumpy at low RPMs)
  • 2) Brushless DC motors
    (approx 30% more power efficient, have a wider optimum RPM range, but are more expensive and require specific ESC (speed control) circuits). The RC vehicle industry has made these motors more affordable recently.
  • DC motors have limited torque below their optimal speed (usually 20k RPM at 12V) so we will need a gear reduction. Gears are loud and require perfect mesh. It's easier / quieter to use a GT2 timing belt with common ratios like 20T/80T for a 4:1 reduction, but is that enough?
  • DC motors don't maintain constant speed with varying loads. We need an encoder to provide feedback for a PID algorithm to maintain speed.
  • Field Oriented Control is a technique for driving brushless motors at slow speeds with high torque and low noise. There are affordable RC brushless motors with built-in encoders and ESCs using FOC. They regulate speed automatically even if the load is uneven (so we won't need encoder feedback and PID). This one seems like a very strong candidate for our projectors:
    HOBBYWING Quicrun Fusion SE ($70 - $80 USD), “540” size (36mm dia x 58mm long), Video review here, available in 1200kv or 1800kv versions (kv = RPM/volt. 1200kv is slower and would require less gear reduction)
  • Update 2023-03: I wrote some code for an ESP32 micro-controller to drive the Hobbywing brushless motor, and adapted an Eiki motor pulley to work with it. I use PWM to control the built-in ESC inside the motor. Success! The motor drives the projector to 24fps easily, and the FOC control provides the slow-speed torque we need. The Eiki 2:1 gear ratio is too low, so the motor draws a lot of power (5A) and gets hot.
  • Update 2023-04-27 I tested with 16T/80T GT2 pulleys for a 5:1 ratio. It worked well. The current dropped to 3.6A and the motor does not get very hot. A 250mm belt is a bit too long. Around 240mm would be ideal.
  • Update 2023-05-29 Motor and magnetic encoder are now installed in projector using adjustable 3D-printed brackets. The belt is 232mm.

Lighting Unit

Powerful LED with dimming/fading controlled by buttons and knobs, coordinated via micro-controller. 12v power from wall adapter or battery pack.

  • Should be interchangeable (as much as possible) between projectors (but P 26 and Eiki will need different mounts/adapters)
  • Klarus G15 flashlight is perfect (Thanks Guillermo and Stefan): Very little hotspot, 4000LM brightness, ideal throw angle. (In-depth review here, with full specs: )
  • To fit both Eumig and Eiki projectors, the LED/Condenser/Heatsink/Fan unit must not exceed approx 55mm square x 45mm deep. (The Eumig P26 lamphouse has a limited 58mm depth.)


  • NOTE: 100W+ LEDs are available, but they are COB arrays with > 20mm diameter. They need high voltage (36V typical) and the larger area makes them hard to focus. we want to keep the light inside our optical path (film and projection lens) so our light cone should be fairly collimated. Thanks to “optical grasp” AKA “conservation of etendue” you really need a small emitter to achieve this. (See wikipedia and this stackexchange discussion).
  • Klarus flashlight uses cool white (6500k) Cree XHP70.2 LED datasheet (draws 2.4A @ 12V or 4.8A @ 6V)
  • Also see newer XHP70.3 variant (XHP family specs) with higher output (draws 3.6A @ 12V or 7.2A @ 6V))
  • There are Chinese imitations with names like XHP90. Cree didn't make them, and they are no brighter than the XHP70.2
  • NOTE: These LEDs have a built-in “dome” lens, but when they are inserted into a reflector, you sometimes get rings of uneven color because of the interaction between the white phosphor and the lens geometry. There are flat versions with the “HI” suffix that should be better.
  • Ebay item for XHP70.2 on star PCB (Zach will get one to test)
  • Kaidomain has XHP70.3 on star PCB (Zach will get one to test)
  • Ebay item for blank PCBs (in case we buy raw emitters and reflow solder onto PCBs)




Reflector testing (2023-03)

First I compared an ELC lamp (from an Eiki projector) with our LED + various reflectors. When I positioned them 1 meter from a wall, the patterns were fairly similar:

  • The ELC projected an even cone of light about 1m diameter, with a large hot spot. (Throw angle ia about 55 degrees.)
  • I tested several LED reflectors but got similar resilts with all of them: a slightly larger light cone with less brightness, and a smaller hot spot. When I ran the LED at 30W, the perceived brightness was less than the 250W ELC lamp, but the difference wasn't dramatic. (In image: ELC on left, LED on right)


Next I set up a test jig to show the light pattern at close range, using a target with outlines for common film sizes. (16mm projectors require about 20-30mm clearance between lamp and film.)


First, the ELC lamp. As expected, it looks perfect: A nice hotspot that covers the 16mm frame and isn't affected much by distance.


Then the LED with reflector at several distances:


Oops! It looks like typical LED reflectors are designed for longer focus (>1m). They are unpredictable at the close range we need. The light pattern is a bright ring rather than a converged hot spot, so it won't work with our projectors. (This makes sense because LEDs are hemispheric, not spherical. They need to be attached to a flat heatsink which can't be pushed inside the reflector like an incandescent lamp.)

But there is hope! I added a hand magnifier in front of the reflector and got great improvement. I guess we need a condenser lens after all! I tried the aspherical 60 degree condenser lens included with many COB LEDs (44mm dia, 19mm thick, approx 22mm focal length.) It works well, and fits the end of the reflector nicely (with the convex side facing into the reflector). There is also a 120 degree variant (12mm thick) that should produce a wider hotspot?


Condenser Lenses: Focal Length Measurements

Lens Focal Length (mm) Dimensions (mm) Notes
COB LED lens (60d) 20 D=44, Thick=19
COB LED lens (120d) 40 D=44, Thick=12
COB Doublet (60+120d face to face) < 5
Hand Loupe (1 lens) 60 D=26, Thick=6
Hand Loupe (2 lens doublet) 30


  • Continue looking for smaller reflectors for XHP70 LED (like the one used in the Klarus flashlight). Or drill out the holes in reflectors that are designed for smaller LEDs?

What is a Condenser Lens

Older projectors often had condenser lenses between the lamp and the film plane. (The Eumig P26 has a condenser lens.) Light from a conventional bulb spreads in all directions, so the condensor collects this light and narrows it into a light cone that shines through the film and matches the diameter of the rear element of the projection lens. (A larger cone wastes light, a narrower cone causes vignetting.) Modern projectors use a parabolic or elliptical reflector to do the same thing. If the reflector dimensions are perfect, we shouldn't need a condenser lens. (But life is not perfect, so we do!)

(image from Operation and Maintenance of 16mm Film Projector, Texas State Library, 1976)

LED Driver Circuit

  • LEDs need special power supplies (“LED drivers”) which precisely limit the current to the LED. Otherwise they will fail.
  • For the XHP70.2, we need an LED driver that can supply either 12V @ 2.4A or 6V @ 4.8A (depending on LED config) Maybe it's smart to use the 6V version of the LED with a buck driver, since our “nominal” 12V supply voltage will often be less than 12V. (A 3S LiPo battery will be 9V - 12.6V.) Caveat: 6V config requires higher current from the LED driver, and the efficiency of a buck coverter decreases as Vout gets farther from Vin, so be prepared for some extra heat and inefficiency from this setup.
  • For dimming, the driver needs an “enable” pin that we can PWM via Arduino (or second choice: a voltage-controlled current limit that we can drive with a DAC from the Arduino, like in this example.)
  • The above requirements are hard to satisfy, since most LEDs are designed for much less current and most constant-current power supplies don't have enable pins. Driver boards from flashlights provide the high currents we need, but NOT the enable pin for dimming.
  • The TaskLED H6CC is perfect for the 6V LED variant: It's a buck converter with adjustable current limit (up to 6.7A) and a PWM pin. It's expensive ($34 USD) but seems to be the only option. (Update: It works great, and delivered 6.6A to the LED when mounted to a heatsink.)

Digital Shutter

The LED lamp can turn on/off instantly, unlike a halogen lamp. So the projector no longer needs a physical shutter to provide a blanking interval between frames. A digital shutter also saves on power and heat, while providing new creative controls.

Eiki projectors can be equiped with either 2-bladed or 3-bladed shutters. I measured them and found that they both have approximately 58 degrees of blanking. The 2-bladed option produces a brighter image but has more flicker.


We can easily emulate this behavior by controlling the LED on/off time during each frame. If we know the angle of the drive shaft with enough precision, we can create digital shutter “blades” with arbitrary angle and position.

We would lose the slight fade that comes from the physical shutter blade revealing the frame gradually. The shutter blade sweeps the frame with about 4 degrees of its rotation (.011 of the frame period). At 24fps the frame period is 41.6ms, so each fade in/out is 41.6 * 0.011 = 0.45ms. That's too fast to see, but I'm sure we would see it at slow speeds. The ESP32 micro-controller has a hardware PWM system so it can do very fast fades without interrupting the code. It seems possible that we could add fades during slow FPS. Not as good as the spatial sweep of a real shutter, but there are always compromises! (Since these fades are PWM, there's a different psycho-visual problem of micro-flicker during dimming. It's possible to switch to flickerless dimming by altering the current of the LED driver instead, but there are serious drawbacks to that too. More compromises!)

Heatsink and 12v fan

  • A cooling fan and heatsink will be required to cool the LED and LED driver, and possibly motor driver
  • In the Eiki projector, we can re-use the lamp socket mounting bracket. We should keep our LED and heatsink/fan within these dimensions though:
    Length: 50mm (this dim is parallel with lens)
    Height: 60mm
    Depth: 55mm
  • The distance from front of LED to gate is about 30mm minimum, but if we remove the shutter it could be as close as 15mm

Micro-controller and User Interface

  • Use an ESP32 processor because they're cheap, fast, support WiFi/BT and are compatible with the Arduino IDE so programming is easy. This board is breadboard-friendly and easy to get in US/EU. Other ESP32 boards are available worldwide so the code we make would apply to them all.
  • If we store all UI data in one STRUCT then we can easily add wireless control later (using a second ESP32 to broadcast the entire STRUCT via the ESP-Now wireless protocol)
    - Two encoder discs are needed to sense shaft position for the “digital shutter” (LED blink in sync with frames):
    … one disc marks the position when the film frame is at rest (1 pulse per frame, one optical pickup)
    … another marks the degree of rotation of the shaft (36 pulses per frame so we can have 10 through 360degree shutter angle) NOTE: This disc needs 2 optical pickups arranged as a quadrature encoder so we can sense position, speed, and direction.
    Encoder update: We can use 1 inexpensive magnetic sensor instead of 2 encoder discs and 3 optical pickups. The AS5047D offers absolute positioning using a tiny magnet attached to the end of the shaft. It generates pulses that can be monitored by microcontroller interrupts to fire events at the exact moment when the virtual shutter reaches certain angles.
    - Switches and potentiometers for the UI (ESP32 has plenty of ADC channels)
    - Maybe add a thermistor to sense the LED temperature and limit the max PWM in case of overheating
    - ADC to monitor battery voltage (or do we hope that our battery has a “fuel gauge”?)
    - PWM out for LED dimming (ESP32 has configurable PWM: any pin, any frequency, 1-16bit resolution)
    - PWM out for motor driver
    - LEDs for status?


User Interface

  • Pot for LED brightness
  • Pot for Digital Shutter angle (maybe from 10d - 360d?)
  • Switch for Digital Shutter mode (2-blade, 3-blade)
  • Pot for shutter phase (adjusts timing of shutter pulses to allow opening shutter while film is in motion)
  • Pot for LED Fade Time (maybe from 0sec to 10sec?)
  • Pot for Motor Speed (Reverse 24fps - 0 - Forward 24fps)
  • Switch for Motor speed mode (changes interpretation of motor speed pot: free or quantized to 0, 12, 24 etc)
  • Pot for Motor Acceleration Time (maybe from 0sec to 10sec?)
  • Lamp On/Off button (fades up / down based on Fade time pot)
  • Motor On/Off button (fades up / down based on Motor Accel pot)

5v regulator

  • The micro-controller and sensors need stable 5V power, derived from our (9-12.6v) battery supply. A simple linear regulator would probably be fine, since current draw will be < 100mA most of the time. If there are heat problems, we can use a cheap dc-dc converter board like this.

12v Power Supply & Battery

  • Projector MAX current draw (estimated) = 7A @ 12v (84W) for Eiki. (Eumig should be less.)
    - Motor might draw 3A @ 12V when working hard (updated after rebuilding / lubricating Eiki. Was almost 4A before.)
    - XHP70.3 LED might draw 3.6A max @ 12V (+ efficiency loss in LED and driver) so let's round up to 4A @ 12V
    - When motor/ESC is turned off, it still draws 5mA (so a main hardware switch is required)
    - When motor/ESC is turned on, but motor is stopped, it draws 112 mA
  • Talentcell PB120B1 Li-ion battery pack ($90 USD)
    - 12Ah (142Wh) capacity with 6A max discharge rate, so it might not provide enough instantaneous power?
    - onboard fuel guage
    - 18650 cells in 3s4p config (9 - 12.6v)
    - 160mm x 82mm x 43mm (too big to fit inside P26)
    - 730 g
  • RC car batteries (similar to the eBike batteries from Antoine) have very high discharge rates, so they will easily power the projector. We will need to buy a charger though, and they don't have any onboard fuel guage.
    6 Ah ($38-60 USD), 155 x 47 x 33mm, 510 g (fits inside P26)
    9.5 Ah ($85-100 USD), 175 x 32 x 50mm, 600 g (too long to fit inside P26)
    15 Ah ($120-150 USD), 178 x 52 x 52mm, 990 g (too long to fit inside P26)
  • This charger ($16 USD) and a USB-C PD power supply ($45 USD) should charge a 6Ah RC car battery in 1 hour.
  • Or use V-mount batteries from film industry? (No, they are “4S” format: 11-16.8V. we need “3S” format: 9-12.6V)

Optical Sound Update for Eiki

When we remove the AC circuitry in the Eiki, the amp board goes too. We will design a simple DC powered preamp with volume control to provide a line out from the optical sound reader.

  • Should run on 12V with significant filtering / shielding since the motor and LED will be causing lots of power supply noise
  • Needs a new lamp and optics since BRK sound lamp is rare (Didn't somebody in the filmlabs network already do this LED retrofit?)
  • See this youtube video for DIY example:
  • Most photodiodes (the optical pickup in the projector) are most sensitive to infrared, but I think chromogenic color film is transparent to infrared, so use a red LED? (This chart is from a TI OP101 photodiode with integrated preamp)

Turret for Lens Accessories

A 3D-printed turret to add colored filters, pinhole discs, or other nonsense in front of the projector lens

  • Should attach to front of projector or directly on lens?

SPECTRAL is co-funded by the Creative Europe program of the European Commission.

en/meetings_projects/spectral/mire-wandering/wandering-16mmprojection/journal.txt · Last modified: 2024/05/19 06:06 by zach