Small-gauge film optical printer platform
Go to file
Matt McWilliams 4b8c8ee842 Improve logging in JKMM100 sketches. 2024-05-19 17:10:50 -04:00
app In a two device simultaneous action, the cmd module was attemptint to await both actions in an array. This was not working and caused await to not occur. Instead, all actions have been replaced by a Promise.all, which awaits both actions simultaneously until both are complete. After that, function is correct. 2024-05-19 11:05:16 -04:00
data In a two device simultaneous action, the cmd module was attemptint to await both actions in an array. This was not working and caused await to not occur. Instead, all actions have been replaced by a Promise.all, which awaits both actions simultaneously until both are complete. After that, function is correct. 2024-05-19 11:05:16 -04:00
docs Upload screenshots of app 2018-10-05 18:05:16 -04:00
hardware Add takeup signal terminals to the mcopy projector board. 2023-11-28 23:09:09 -05:00
ino Improve logging in JKMM100 sketches. 2024-05-19 17:10:50 -04:00
notes Add second dataset for testing findPeak method 2023-10-10 21:20:51 -04:00
processing In a two device simultaneous action, the cmd module was attemptint to await both actions in an array. This was not working and caused await to not occur. Instead, all actions have been replaced by a Promise.all, which awaits both actions simultaneously until both are complete. After that, function is correct. 2024-05-19 11:05:16 -04:00
scad Merge remote-tracking branch 'origin/main' 2024-04-28 21:38:32 -04:00
scripts Add a second projector version of the JKM100 script. In the script, move the 16ms delay to BEFORE the confirmation character and increase it to 100ms to make sure all shake is out of the system before shooting a frame. 2024-05-19 09:38:48 -04:00
src In a two device simultaneous action, the cmd module was attemptint to await both actions in an array. This was not working and caused await to not occur. Instead, all actions have been replaced by a Promise.all, which awaits both actions simultaneously until both are complete. After that, function is correct. 2024-05-19 11:05:16 -04:00
stl Add changes from diverged repo 2024-05-15 21:49:45 -04:00
.gitignore Make a sample script for analyzing the array during homing step. 2023-10-09 20:52:18 -04:00
.gitmodules Add OpenSCAD/MCAD to the project to prevent double work. Including as a submodule appears to satisfy the requirement of the LGPL and allows mcopy to remain MIT licensed. 2023-09-25 12:25:56 -04:00
LICENSE Update license as work has been ongoing since 2018 2021-02-22 13:26:21 -05:00
Readme.md Fix for the canonical URL caught by Tom Murphy 2024-01-24 05:19:07 +00:00
package-lock.json In a two device simultaneous action, the cmd module was attemptint to await both actions in an array. This was not working and caused await to not occur. Instead, all actions have been replaced by a Promise.all, which awaits both actions simultaneously until both are complete. After that, function is correct. 2024-05-19 11:05:16 -04:00
package.json In a two device simultaneous action, the cmd module was attemptint to await both actions in an array. This was not working and caused await to not occur. Instead, all actions have been replaced by a Promise.all, which awaits both actions simultaneously until both are complete. After that, function is correct. 2024-05-19 11:05:16 -04:00
tsconfig.json Refactor mscript GUI code into Typescript 2022-08-07 22:10:53 -04:00

Readme.md

mcopy

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

Project Home - git.sixteenmillimeter.com/16mm/mcopy


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

Introduction

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

Components

  • 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
  • Filmout feature for digitally transferring video and images to analog film
  • Interoperability with the intval3 intervalometer

Downloads

Latest Installers

  • 1.6.9 for macOS, Linux (.deb) and Windows (.msi)

Older Versions

  • 1.6.7 for macOS and Linux (.deb)
  • 1.6.4 for macOS, Linux (.deb) and Windows (.msi)
  • 1.6.2 for macOS
  • 1.6.1 for macOS
  • 1.5.2 for macOS
  • 1.4.9 for macOS and Linux (.deb)
  • 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.

Usage

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

mcopy app

Software

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.

Firmware

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.

Hardware

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.

Why?

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