Smoothieware
Marlin
Smoothieware | Marlin | |
---|---|---|
17 | 755 | |
1,278 | 15,937 | |
0.9% | 0.7% | |
4.8 | 9.8 | |
about 1 month ago | 7 days ago | |
C++ | C++ | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Smoothieware
- Smoothieware touchy about config.txt
-
Digraphs and Trigraphs
I originally wrote Teacup because I was horrified at numerous aspects of the state of other 3d printer firmware codebases available, but after a few years I became far more interested in Smoothie and officially relinquished leadership of Teacup to Traumflug who'd been doing far more work on it than me at the time
-
How can I let linux/windows recognize my hareware in general through usb?
Also, Windows' USB stack is a complete dumpster fire - in Linux your thing just needs to say "hi I've got camera interfaces" in the device descriptor and you're mostly good to go, but Windows needs actual driver development, or at least a magic text file to tell it to use its preinstalled drivers.
-
Arduino Leonardo(or similar) MIDIUSB.h and Keyboard.h simultaneously?
Fwiw I wrote the runtime descriptor construction code for smoothie which is how I know it's possible - and yet even after a decade, I don't see any other firmware libraries with similar descriptor construction mechanisms which is sad.
-
Problems With a ATMEGA2560 Board (CH340)
Smoothie has a dynamic device descriptor, and adding an extra serial port via config setting is a fairly reliable way to bluescreen windows.
-
Access mass storage tf card through arduino
There's a few forum threads around (eg this one regarding the Teensy arduino core), but I haven't seen any firmware stacks with the dynamic USB descriptor initialization and endpoint allocation you'd need for runtime custom USB function sets other than the one I wrote for Smoothie a decade ago.
-
Is it possible to turn an SPI Flash Chip into a USB Flash Drive?
PS: USB in a nutshell is a great read if you're planning to work with USB firmware stacks - was super helpful when I was massaging Smoothie's USB stack
-
USB serial driver for Teensy LC on Windows 98 SE?
Bizarrely however, you need a magic text file to convince windows to actually use it with a particular device - despite the fact that USB was specifically designed for this to be entirely unnecessary as devices must describe themselves to the host on connect and there are many standardized interface patterns.
-
Why is this field so entry-level unfriendly?
I've been thinking of creating a 3D printer to print buildings or maybe a CNC machine for milling lumber out of these trees. I've got an upper-end Smoothieboard so I could do that.
-
I need a controller/software recommendations for my plasma tube notcher.
I've been fairly happy with Smoothieware http://smoothieware.org
Marlin
-
Why Prusa is floundering, and how you can avoid their fate
There is _a lot_ wrong with Marlin. It is a complex codebase, full with ancient artefacts, litterred with preprocessor ifdefs every 2-3 lines of code, dynamic includes in the middle of CPP files, etc[1]. It's about as unreadable as C++ code gets--well, I guess it's not template metaprogramming.
Klipper by contrast is a breeze to read through[2].
I am very grateful for Marlin, for all of reprap, and everyone who has contributed to it. But saying there is nothing wrong with it is straight up misguided.
[1]: https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.1.x/M...
[2]: https://github.com/Klipper3d/klipper/blob/master/src/lcd_hd4...
-
E steps way off.
I think you are mistaken. I can't speak for implementations preceding the Ender 3 V2, so what you're saying may have been true at some point for other machines. However, here you can see Marlin developers confirm that there is an EEPROM on the stock E2V2 board using diagrams from Creality and photographic confirmation. Here is the datasheet for the EEPROM. Here is a thread discussing this Marlin release, and also the then-recent release of official Creality firmware which resolved the same issue. Since the stock firmware is based on Marlin, and at the time Marlin did not support this type of EEPROM, the EEPROM was not usable at launch. Any mainstream firmware (official or third-party) from the last three years will be using the onboard EEPROM unless the user intentionally specified otherwise.
-
FYI: Marlin 2.1.2.1 on Sapphire plus v2
pull latest Marlin from github: https://github.com/MarlinFirmware/Marlin
-
Ender 3 Pro + Octoprint = Thermal Malfunction, system stopped! Heater_ID: E0
Also, checked the following discussion but seems like I need to update the firmware to be able to comment that like right? Temperature variance monitor tweaks by zeleps · Pull Request #23571 · MarlinFirmware/Marlin · GitHub
- Marlin DACAI Screen Bug
-
Anycubic Kobra Marlin 2.1+ based custom firmware
i spent some time and successfully rebased Kobra 2.8.2 OG firmware from an unknown Marlin ~2.0.8 frankenstein to a clean latest (as of now) release (not bugfix) 2.1.x -- v2.1.2.1 + 1 commit
-
Digraphs and Trigraphs
As an example, check the macropocalypse in Marlin - but the actual trigger for me to start was Reprap firmware doing a floating point divide in interrupt context while targeting AVR8 core…
-
Need advice on intermittent thermal runaway (Ender 3 V2)
Any change of thermistor or to a PT100/PT1000 will require recompiling the firmware, because every type has different characteristics. Marlin uses an internal table to calculate the temperature for whatever reading it gets from the CPU's analogue-to-digital converter. It has many tables for different thermistors, but only one is ever incorporated at compile time. So you have to specify which type you're using. You can see the commonly-used types in the list in Marlin's Configuration.h file, in the section headed // @section temperature. The tables themselves are in Marlin/src/module/thermistor.
- Marlin ramps1.4
-
Has anyone actually edited Marlin source code and added a new feature?
FWIW It IS open source but the GNU General Public License v3.0 rules apply. https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.1.x/LICENSE
What are some alternatives?
Teacup_Firmware - Firmware for RepRap and other 3D printers
MKS-TinyBee - MKS TinyBee is a mainboard for 3d printing, based on ESP32 module
mbed-os - Arm Mbed OS is a platform operating system designed for the internet of things
SKR-2
DWC-CNC
klipper - Klipper is a 3d-printer firmware
ultrasonic-poc - Ultrasonic proof of concept
Marlin-2.0.X-MKS-Robin-Nano - Marlin 2.0.X for the MKS Robin Nano 1.1/1.2
BIGTREETECH-SKR-mini-E3 - BIGTREETECH SKR-mini-E3 motherboard is a ultra-quiet, low-power, high-quality 3D printing machine control board. It is launched by the 3D printing team of Shenzhen BIGTREE technology co., LTD. This board is specially tailored for Ender 3 printer, perfectly replacing the original Ender3 printer motherboard.
Ender-3 - The Creality3D Ender-3, a fully Open Source 3D printer perfect for new users on a budget.
Marlin-bugfix-1.1.9 - Marlin 1.1.x bugfix for Ender 3 with BLTouch
Cura - 3D printer / slicing GUI built on top of the Uranium framework