Teacup_Firmware
Marlin
Teacup_Firmware | Marlin | |
---|---|---|
19 | 755 | |
303 | 15,902 | |
- | 0.5% | |
0.0 | 9.8 | |
8 months ago | 2 days ago | |
G-code | 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.
Teacup_Firmware
-
Digraphs and Trigraphs
Ooh another fun one you may be interested in is how I wrote Teacup's config handling - the user has to provide a config.h with various macros defining their machine setup, and then multiple separate parts of the codebase redefine those macros and re-include the file to build various structures and constants at compile-time
-
Advice to an engineering student
Since then I've made lots of things like audio amplifiers and effects, motor controllers, 3d printer controllers and firmware (and subsequently smoothieboard), muscle stimulators, bluetooth LED strip controllers, etc
-
How is max step rate calculated for stepper motor libraries
Teacup can go pretty fast too, I think I've seen it clocked at 48k @ 20MHz although that may have been across 4 motors at once.
-
Arduino UNO ADC using Embedded C
See here and here for an example from my ESC project, or this example from Teacup
-
best Microcontroller for fast stepper motors?
https://www.airspayce.com/mikem/arduino/AccelStepper/classAccelStepper.html says "The fastest motor speed that can be reliably supported is about 4000 steps per second at a clock frequency of 16 MHz on Arduino" which is pretty poor - teacup can hit something like 10× that when controlling 4 steppers, and also comes with a non-blocking state machine based gcode parser ;)
-
15 steppers on a Mega?
Teacup had decent performance last time I checked, but it's more a complete firmware project rather than a library.
-
Total beginner, want to control two NEMA 17 stepper motors via mathematical function.
That's hard enough just with linear acceleration let alone complex functions - might be worth converting it to line segments host-side and just streaming basic gcode to a 3D printer firmware over the serial port.
-
Driving a stepper motor faster using AccelStepper
Last time I checked, Teacup can do something like 40kHz on an atmega - might be worth having a play with that?
-
Help. Stepper Motor not spinning when I increase the speed
AccelStepper may interest you, and I think Teacup can go even faster.
-
Just updated to the latest firmware, Can I change acceleration/jerk/etc on the fly now? Middle of a print?
The latest what? Teacup? Marlin? Aprinter? Repetier? GRBL? Something else?
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?
grbl - An open source, embedded, high performance g-code-parser and CNC milling controller written in optimized C that will run on a straight Arduino
MKS-TinyBee - MKS TinyBee is a mainboard for 3d printing, based on ESP32 module
AccelStepper - Fork of AccelStepper
SKR-2
Smoothieware - Modular, opensource, high performance G-code interpreter and CNC controller written in Object-Oriented C++
klipper - Klipper is a 3d-printer firmware
aprinter - 3D printer firmware written in C++
Marlin-2.0.X-MKS-Robin-Nano - Marlin 2.0.X for the MKS Robin Nano 1.1/1.2
ESC - Electronic Speed Controller for DC brushed motors on R/C cars and robots
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.
SpeedyStepper - Stepper motor control library for Arduino
Ender-3 - The Creality3D Ender-3, a fully Open Source 3D printer perfect for new users on a budget.