Teacup_Firmware
ESC
Teacup_Firmware | ESC | |
---|---|---|
19 | 23 | |
303 | 27 | |
- | - | |
0.0 | 0.0 | |
8 months ago | over 9 years 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?
ESC
-
Using micros() as a source of random numbers
That's why I don't use them for anything fancy
-
In your opinion, does a masters in EE or an FE certification hold more weight?
hackaday.com has a zillion links to examples; here's one two three four of mine and I've also got a laundry list of companies I've helped but whose technical details I can't legally publish (note that I've assisted many but not all of the companies in that link)
-
Arduino UNO ADC using Embedded C
See here and here for an example from my ESC project, or this example from Teacup
-
Fixing delay() on arduino with custom PEM frequency
In this project for example, I use timer1 for dual channel 10-bit PWM at 7.8KHz for example, although I also have a system clock and a servo pulse reader hooked to it.
-
Why does the tone(); function seem to cause analogWrite to fail?
It is possible to get a timer to do multiple things at once if you work out how to set it up for overlapping use cases and then poke the registers yourself - eg in this project I use timer1 to 1) read a servo PWM signal, 2) generate two channels of motor drive PWM, and 3) keep a system clock
-
Designing a custom DC motor driver
Sure, one of my first custom PCBs was a DC motor driver - album, github
-
Libraries
If you're curious here's a couple of my AVR projects (not using Arduino libraries at all), and here's an NRF52 one
-
Can I synchronize 2 PWM inputs, then output one of them depending on a select signal (synchronize -> multiplexer)?
You can see an example of using timer input capture to read a servo PWM signal in this old project of mine
-
Resources for Baremetal Arduino: A curious complete beginner
I've encountered plenty of folk that'd like to read a servo PWM signal and generate motor drive PWM at the same time in a less janky way than pulseIn (which blocks on no signal and is affected by interrupt latency) and analogWrite (which uses a super low PWM freq by default)
-
measuring 120VAC with ACS723?
This ancient project of mine may give you some hints on interrupt-driven ADC readings, but it doesn't use free-running mode because I have multiple inputs to read.
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
SunriseLight - RGB Color Temperature Light with Bluetooth Control
AccelStepper - Fork of AccelStepper
ultrasonic-poc - Ultrasonic proof of concept
Marlin - Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
Smoothieware - Modular, opensource, high performance G-code interpreter and CNC controller written in Object-Oriented C++
aprinter - 3D printer firmware written in C++
SpeedyStepper - Stepper motor control library for Arduino
Repetier-Firmware - Firmware for Arduino based RepRap 3D printer.
FlexyStepper - Stepper motor control library for Arduino supporting in motion changes
jStepper - Stepper Motor Library for embedded platforms. Full featured and high performance.