Small-gauge film optical printer platform
Go to file
mmcwilliams 415306d7a8 Add comments to existing sequencer gui file. Question arises here: should this logic be pushed back into the main process so that there is less reliance on the renderer and all command logic takes place in main (or a sub-module) with the renderer being used only for display and not sequencing. This seems to be the path going forward, but will take a re-write that allows for GUI to interrupt the process as it does now. A proof of concept will have to be written to demonstrate that using `await delay(ms)` is viable and the process does not completely lock. 2019-03-18 18:41:35 -04:00
app Add comments to existing sequencer gui file. Question arises here: should this logic be pushed back into the main process so that there is less reliance on the renderer and all command logic takes place in main (or a sub-module) with the renderer being used only for display and not sequencing. This seems to be the path going forward, but will take a re-write that allows for GUI to interrupt the process as it does now. A proof of concept will have to be written to demonstrate that using `await delay(ms)` is viable and the process does not completely lock. 2019-03-18 18:41:35 -04:00
cli Add the new firmware identifiers as accepted responses. Also add text identifiers for firmware identified as the 4 new types. 2019-03-18 17:21:17 -04:00
docs Upload screenshots of app 2018-10-05 18:05:16 -04:00
hardware Start work on secondary projector feature 2019-02-25 18:14:29 -05:00
ino Add commands for controlling a secondary projector. 2019-03-01 20:14:20 -05:00
lib Add the new firmware identifiers as accepted responses. Also add text identifiers for firmware identified as the 4 new types. 2019-03-18 17:21:17 -04:00
native Change class notepad to mcopy 2019-03-07 20:57:57 -05:00
scad Create a scad file for extra odds and ends for the JK 2019-03-18 18:28:09 -04:00
scripts Fix the build script 2019-03-18 16:49:11 -04:00
src Add the new firmware identifiers as accepted responses. Also add text identifiers for firmware identified as the 4 new types. 2019-03-18 17:21:17 -04:00
stl Add a connector plate to the STL directory 2017-12-31 14:22:54 -05:00
.gitignore Ignore node_modules 2019-03-04 22:07:04 -05:00
LICENSE Add license, MIT. Is implied in the package.json, but was not explicitly included in the repo. 2018-12-21 21:35:39 -05:00
Readme.md Update Readme.md 2019-02-13 19:01:39 -05:00
package-lock.json Port shared modules to typescript. Migrate shared modules first, then look at individual needs of sub-projects. 2019-03-04 22:09:12 -05:00
package.json Port shared modules to typescript. Migrate shared modules first, then look at individual needs of sub-projects. 2019-03-04 22:09:12 -05:00
tsconfig.json Port shared modules to typescript. Migrate shared modules first, then look at individual needs of sub-projects. 2019-03-04 22:09:12 -05:00

Readme.md

mcopy

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


  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

Downloads

  • 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.