Skip to content
Small-gauge film optical printer platform
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Update loop progress styles Apr 28, 2019
data As much as I could do. Still doesn't work. Last commit. Apr 19, 2019
docs Upload screenshots of app Oct 5, 2018
hardware Move all scad files into scad dir Apr 24, 2019
ino Secondary projector and secondary camera behaviors have been added to… Apr 4, 2019
lib All remaining dual projector, dual camera work. Apr 20, 2019
native Change class notepad to mcopy Mar 8, 2019
processing/mcopy Update config Apr 20, 2019
scad Update cases May 6, 2019
scripts Create new tests for mocha and chai Apr 15, 2019
src All remaining dual projector, dual camera work. Apr 20, 2019
stl Add a connector plate to the STL directory Dec 31, 2017
.gitignore Begin testing with mocha and chai. Apr 15, 2019
LICENSE Add license, MIT. Is implied in the package.json, but was not explici… Dec 22, 2018 Update Feb 14, 2019
package-lock.json Update config Apr 20, 2019
package.json Update config Apr 20, 2019
tsconfig.json Update config Apr 20, 2019


An open platform for controlling small-gauge film optical printers (16mm, Super8, 8mm).

  1. Introduction
  3. Usage
  4. Software
  5. Firmware
  6. Hardware
  7. Why?


The mcopy project is comprised of software and hardware for optical printers, built with re-purposed broken projectors.


  • Sequencer desktop app
  • Scripting language, called mscript, for orchestrating complex sequences
  • Arduino firmware for projectors, cameras, lights and existing printers
  • 3D models of parts used for modifying projectors and printers
  • Schematics for simple Arduino-based electronics


  • 1.2.0 for macOS and Linux (.deb)
  • 1.0.3 for macOS and Linux (.deb)

For Windows, you can install from source for now.


The software requires your hardware to be in place before the mcopy control app is useful.

mcopy app


The mcopy desktop app is an Electron-based project which can be built for Linux, Windows and macOS. Pre-built packages will be made available for macOS, initially, with the other two target platforms to follow. To build the desktop app from source, see the installation and running instructions. The desktop software also interoperates with two related projects; the Bluetooth + Wifi capable, Raspberry Pi-based INTVAL3 and the Arduino-based intval2.


This project contains Arduino formware for controlling:

  • a projector
  • a camera (see intval2 for more info)
  • a light
  • a projector + a camera
  • a projector + a light
  • a camera + a light
  • a camera + a projector + a light

Using a simple serial interface, this modular platform can be used to control DIY components, modified existing optical printers or a mixture of components. The desktop app can connect to multiple serial devices, so your mcopy optical printer can be built from various designs that suit your hardware tastes/needs/available parts.


All non-electronic hardware for this project is available as plaintext OpenSCAD files and 3D print-able .STL files. The hardware component of this project is aimed at modifying broken Bell & Howell projectors into USB serial-controlled projectors to be used in optical printing. As a secondary capability, this desktop software and firmware package can be used to replace the sequencers for early-model JK optical printers, with some modification.


I'm interested in expanding the viability and access of the 16mm film format and to repurpose thre rising tide of discarded film technology.

You can’t perform that action at this time.