MAS.863/4.140
How To Make (almost) Anything
Arch lab machine project


Window/Whiteboard CNC

Inspiration

Prototype

Electronics/software

We plan to start with a modular design so that separate components can be built, tested, and improved concurrently.

Boards:

Architecture:

The ATmega328 "Fabduino" board will be the master, controlling all the client motor control boards through serial commands. It will receive positional commands from a computer and translate them into motor movements. It will execute those movements via serial communication to the stepper control boards.

We will reuse the ISP headers on the daughter boards for serial communication.

The heads should be interchangeable and each have a small amount of electronics that supports a common set of serial commands (e.g. "Draw" or "Retract"). The goal is to be able to design and use new heads without reprogramming any existing electronics.

Embedded Software:

We will use Arduino on the daughter boards if possible, to leverage existing libraries. They will listen to the master with SoftwareSerial instances. The master will communicate using multiple SoftwareSerial connections.

A goal is to program the master and daughter boards only once, and use the final machine in many different ways by only changing the specific serial commands sent to the boards.

User Interface and Input:

The UI sends positional/drawing commands to the network board via a serial bluetooth connection. The master Fabduino translates them into motor movements. These commands can be common across user interfaces / input sources. For example, this window CNC uses these commands: Ideas for interfaces and input sources:

Open questions: