Druid Firmware

edited February 18 in General
As you already know, in the list of firmware in the setup, Druid Firmware is not in there, and it gives me a lot of trouble, because we do not understand each other completely... the Repetier server want to access my EEPROM settings, but has no clue on how the data are organized... For the Gcodes, I have tried to mimic repetier firmware, mixed with marlin and klipper, plus new stuff from Dremel and me.. 

It may sound crazy like that, but already thousands of users are running Druid Firmware, and will eventually need Host, servers and slicers.. But Cura is done !!!

I was also wondering why the temperature and power per heater (PWM) is similar to that in marlin...

T:26.60 /0.00 B:25.00 /0.00 C:25.00 /0.00 T0:26.60 /0.00 T1:25.90 /0.00 @:0 B@:0 C@:0 @0:0 @1:0

it is ugly and it can be reduce in size, especially when some values do not change, why resending it..

My list of capability is different than any other firmware so for M115
Repetier rea few unknown capabiliies ...

same for M503


my facebook:

My Youtube channel:


emails...                     Daniel.massicotte@yandex.com

phone number / SMS : (514)451 1886

Need a solution ASAP


  • Hi Daniel,

    is there already a homepage. I saw an entry on reprap, youtube etc. but no homepage of the project.

    Regarding firmware support  Repetier-Server is quite flexible. I guess you are the developer so you should know best how these settings should be made to work best. Since you started as Marlin clone you should best copy marlin.xml in firmwares folder and name it druid. Here you can code the special commands for initalization, query eeprom etc.

    Regarding eeprom each firmware is different. So we use a mapping file. If you check marlin.xml you see
    That is just a referrence to a xml file in extra/eeprommap folder. You can have a own druid.xml file there to parse your resposne. How it works is quite easy. Lets look at the start:
    <?xml version="1.0" encoding="utf-8" ?> 
    <!-- see in marlin2 src/modules/settings.cpp to find the latest full list -->
    <exclude>M200 D0</exclude>
    <entry type="float" min="1">
    <description unit="[Steps/mm]">X axis resolution</description>
    <set>M92 X@</set>

    You see there are 2 commands defined - one for query and one for store to eeprom. When we query we check firmware output for a while against regular expressions defined by all the entry tags. Each defines a value type, min max if required, unit and description. The single group is the value you are describing and set defines how to write it back to printer. That way we can easily add new parameter or adjust to other firmwares. So make your own fields in own map file and you should be able to see your eeprom settings.

    Regarding temperature format, please stick to it. Parsing is hard coded and always needs all parameter. Since it is only output one a second it is no problrm for speed especially if you support autoreport.

    I have no compatible printer, so these files are nothing I can manage. But I can include them in  Repetier-Server if you create them so users can simply use it with  Repetier-Server.

    If you can do that it would be best to continue communicating via email. Send me a pm and I give you my mail than. Also if one thing can"t be solved with current solutions.

  • contact me on one of my emails, I have a few questions...



    Daniel Massicotte

Sign In or Register to comment.