Machinekit: BeagleBone CNC & beyond!


Machinekit is a platform for machine control applications.

Machinekit is portable across a wide range of hardware platforms and real-time environments, and delivers excellent performance at low cost. It is based on the HAL component architecture, an intuitive and easy to use circuit model that includes over 150 building blocks for digital logic, motion, control loops, signal processing, and hardware drivers. Machinekit supports local and networked UI options, including ubiquitous platforms like phones or tablets.

  • 00:00:00 Why Charles choose LinuxCNC for 3D printing
  • 00:01:30 (NOTE: audio quality improves here)
  • 00:05:15 Michael & John improved LinuxCNC Real-Time layer (HAL) for RTOS portability
  • 00:07:30 Why Charles choose BeagleBone & benefit of PRU
  • 00:10:30 How MachineKit & LinuxCNC were ported to BeagleBone
  • 00:11:30 Charles talks about his day job at NewTek, creator of VideoToaster & TriCaster
  • 00:18:00 Synergy between hard realtime and higher level processing (ex. ARM
  • 00:21:45 How MachineKit evolves the HAL from LinuxCNC & improve RTOS compat
  • 00:26:15 How MachineKit architecture can adapt to diverse range of motion control machines
  • 00:31:30 Configuring HAL components like Encoder and Servo PID loop
  • 00:34:30 User Interface options for HAL
  • 00:37:10 Limitations of microcontrollers firmware for 3D printer & CNC
  • 00:39:00 Make complex technical problem as simple as possible
  • 00:43:40 CNC & 3D printer capes for BeagleBone: BeBoPr, RepliCape, etc
  • 00:51:45 Logi-Bone: FPGA cape for BeagleBone; MesaNet FPGA cards
  • 00:54:05 CRAMPS: RAMPS cape for BeagleBone
  • 00:57:45 connector trade-off's: pluggable vs. screw term
  • 01:01:45 stepper drivers: integrated vs. modular
  • 01:06:00 HAL: use cases for real-time vs. non-real-time
  • 01:07:00 Xenomai vs. Linux Kernel vs. Userspace
  • 01:14:15 Why care about portability? (NOTE: Michael Haberler speaks, unfortunately not mic'd, so poor audio quality)
  • 01:17:00 Charles speaks about history of LinuxCNC and usage of real-time
  • 01:19:00 (NOTE: poor audio, conversation off mic)
  • 01:23:00 (NOTE: audio improves somewhat as Charles speaks)
  • 01:26:00 Charles explains reformance of PRU for Machinekit tasks
  • 01:36:00 (NOTE: poor audio as conversation off mic)
  • 01:38:00 Q&A: How to use Machinekit with FPGA on Logi-Bone cape or expansion boards
  • 01:39:50 Off-topic: How to get started with FPGA for signal analysis
  • 01:50:00 Q: How are stepper motors and servo motors competing with each other?
  • 01:52:45 A: Charles compares steppers motors vs. servo motors
  • 01:57:00 (NOTE: poor audio during group discussion)
  • 02:09:45 How LinuxCNC & Machinekit handles PID loops (closed loop control)
  • 02:15:00 Group discussion about end stop detection wihtout limit switch
  • 02:27:00 Why vibration matters and fixing with feedback loop [poor audio when Charles not talking]