Open Source FTW

Posted by on Thursday, October 1, 2009 in Uncategorized

One of the problems we’ve had for a while with the Gen3 extruder firmware is the naive temperature control algorithm.  Since the firmware had been simply turning the heater on or off depending on whatever temperature it was seeing at the thermistor at the moment, we’d often end up with wild temperature swings, with the temperature at the nozzle overshooting by as much as 20° C.  Implementing proper PID control has always been pretty high on the list of things to do.

Yesterday, Tim at BotHacker coded up a patch which implements PID on the heater.  The result is much, much better temperature control, yielding a smoother extrusion and less finicky extruder.  The patch has been applied to the svn repository, so you’ll see the results in the v1.6 firmware*, coming later this week.

One of the great things about an open source project like this is that lots of features that might otherwise take a long time for a traditional project to implement are often contributed by users, or already implemented in other open source projects. For example, we recently rolled in upstream changes in Roland Riegel’s great SD/MMC card library that provided us with improved support for FAT32 and SDHC cards.

To help facilitate this sort of collaboration, I’ve created a Google group for discussing firmware development.  If you’re interested in contributing to development or just want to keep an ear to the ground, subscribe to the list and drop us a line!

*What happened to v1.5, you ask? It was packaged up last week, but we were close enough to v1.6 that I didn’t end up announcing it.

Tagged with 4 comments

4 Comments so far

  • Zach Hoeken
    October 1, 2009 at 6:59 pm


  • Wade
    October 1, 2009 at 10:57 pm

    Interesting! I wonder if there’s a thermal delay in some of the extruder designs causing the overshoot. I’ve never had more than 1 degree of overshoot on a bit bang heater controller, but I use a thermocouple crimped between the barrel and nozzle; there seems to be no delay in the temp readings. I suppose a weak connection (high thermal resistance) between the thermistor and the barrel could cause a R-C low pass filter style time delay in the temp readings.

    Software fix for the win though!

  • MK
    October 5, 2009 at 1:22 pm


  • [email protected]
    December 30, 2012 at 5:43 am

    what is the graph plotting tool used here?


Leave your comment


xhtml: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


What can we help you with today?
I want to chat with Sales.
I have a question about an existing order.
I have a technical question about my device.
Existing Orders
For faster service, enter your order number
(found in your confirmation e-mail)