Skip to content

Optimized firmware for RepRap 3D printers based on the Arduino platform.

License

Notifications You must be signed in to change notification settings

atlaste/Marlin

 
 

Repository files navigation

Marlin CNC Firmware :-)

GitHub GitHub contributors GitHub Release Date Build Status

Additional documentation can be found at the Marlin Home Page. Please let us know if Marlin misbehaves in any way. Volunteers are standing by!

ALL CREDITS GO TO THE MARLIM TEAM

Marlin 2.0

Marlin 2.0 takes this popular RepRap firmware to the next level by adding support for much faster 32-bit and ARM-based boards while improving support for 8-bit AVR boards. Read about Marlin's decision to use a "Hardware Abstraction Layer" below.

Download earlier versions of Marlin on the Releases page.

What's in this fork?

Marlin is built for 3D printers. But frankly, it's just a very advanced version of what GRBL should have been. So, instead of attempting to get VFD spindles (and CNC routers) to work in GRBL, I decided to use Marlin instead.

As for a client, CNCJS will do the trick.

VFD code

This fork contains code for CNC spindles driven by a VFD through an RS485 protocol. I'm using a P2 converter of Huanyang, using a non-std modbus. For more background on how this works, see the protocol specs and R&D, which have been tested already in a small arduino application (and is working).

Note that P2 VFD's have a different protocol than other Huanyang VFD's. However, it is pretty easy to use different protocol commands, because the basic structure is more or less the same. The commands for other VFD's can be found here.

Why modbus/RS485? Well, if you want 10.000 RPM, you don't want 9000 RPM or 8000 RPM. A digital protocol is much more stable and robust for sending digital data. Second, feedback. If you set your spindle to 10.000 RPM, it will take some time to get to that speed. You want to start routing once (and NOT BEFORE) it reaches that speed. And third, if you start up your system, you want to know the parameters before you start messing around with them. And last, if you plumb your drill bit into your piece, you want to make sure that your spindle is running, which can be queried here. RS485 capabilities give you all that, along with all the options to configure your device. It's by far the best option to communicate with serious spindles.

The API interface itself that going to use is pretty much the same as the Spindle_laser code. In other words, I attempted to retain as much of the original API as possible.

Current status: tested & working.

Building Marlin 2.0

To build Marlin 2.0 you'll need Arduino IDE 1.8.8 or newer or PlatformIO. Detailed build and install instructions are posted at:

Supported Platforms

Platform MCU Example Boards
Arduino AVR ATmega RAMPS, Melzi, RAMBo
Teensy++ 2.0 AT90USB1286 Printrboard
Arduino Due SAM3X8E RAMPS-FD, RADDS, RAMPS4DUE
LPC1768 ARM® Cortex-M3 MKS SBASE, Re-ARM, Selena Compact
LPC1769 ARM® Cortex-M3 Smoothieboard, Azteeg X5 mini, TH3D EZBoard
STM32F103 ARM® Cortex-M3 Malyan M200, GTM32 Pro, MKS Robin, BTT SKR Mini
STM32F401 ARM® Cortex-M4 ARMED, Rumba32, SKR Pro, Lerdge, FYSETC S6
STM32F7x6 ARM® Cortex-M7 The Borg, RemRam V1
SAMD51P20A ARM® Cortex-M4 Adafruit Grand Central M4
Teensy 3.5 ARM® Cortex-M4
Teensy 3.6 ARM® Cortex-M4

Submitting Changes

Marlin Support

For best results getting help with configuration and troubleshooting, please use the following resources:

Credits

The current Marlin dev team consists of:

License

Marlin is published under the GPL license because we believe in open development. The GPL comes with both rights and obligations. Whether you use Marlin firmware as the driver for your open or closed-source product, you must keep Marlin open, and you must provide your compatible Marlin source code to end users upon request. The most straightforward way to comply with the Marlin license is to make a fork of Marlin on Github, perform your modifications, and direct users to your modified fork.

While we can't prevent the use of this code in products (3D printers, CNC, etc.) that are closed source or crippled by a patent, we would prefer that you choose another firmware or, better yet, make your own.

About

Optimized firmware for RepRap 3D printers based on the Arduino platform.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 64.6%
  • C 30.3%
  • Objective-C 2.7%
  • Python 1.0%
  • Shell 0.8%
  • Makefile 0.3%
  • Other 0.3%