Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Custom firmware development

1) Repetier calculates a 3x3 transformation matrix, using which it can represent Z as a linear combination of Z,X,Y (i.e. newZ = aX + bY + cZ), ditto for X and Y. It can't do translation (adding an offset) of coordinates with this approach, a 4x4 matrix is required to do that. So Repetier does it differently, using xMin, yMin, and zMin. When the auto leveling is complete, the firmware adjusts the current Z coordinate, but it zeroes out zMin (Z home position) at the same time. If you park the extruder, the correct Z offset is lost forever. I guess it works for you because your Z offset is very close to zero. Mine is like -3.5mm, the existing auto leveling never adjusted it properly.

2) I've got suspicious of the temperatures when I successfully printed a test cube with XYZ red ABS at 170C. So I used a calibrated thermocouple to measure the temps inside the extruder head (there is a small hole on a back of the head). Turned out that 170C was more like 205C. I guess XYZ temps were also incorrect. After the adjustment I print at 225C and the prints look well. I used 225C with some other filament which requires 220C-230C, and it worked well too.

3) I think it does make sense to specify xMin = -32 and yMin = -12, so the bed will start at 0,0. As of now I have this adjustment in the Host printer settings, but somehow it doesn't apply to G-code files, so they are not positioned at the center of the bed. Having the adjustment in the FW should fix this issue.

Sorry for not getting any posting or vids up this weekend, crazy busy and such. I have run it at 300% of stock slicer settings in repetier and well it actually sounds better than stock xyzware speeds. So this makes me question the step multiplier settings, I have not even looked at what they are. With the due processor we should be able to run any multistep we want considering there are pins on the board for setting it such and well, yeah.

On the splicer settings, well what settings are you asking about? Like .4mm nozzle or like .98 extrusion multiplier or? Many of the setting will really be a print by print, filament by filament trial and error. But we should get some specifics down on for the different firmwares for some of the basic, best to print at settings.

I have yet to try and play with bed leveling. I set it and to a general z offset and print.

Like I have stated previously elsewhere, for all intents and purposes bed level should really only affect the first layer or 2 at most. and well at 90 bed temp I never have any bed stick issues really.

well here it is printing quite fast, yes I left the skirt on from previous print and it screwed up bed adhesion.

[video width=425 height=344 type=youtube]4Y1sAr0_qgM[/video]

If it's not available it will be real soon.
And if I try to print from the sample collection on the card the extruder slams into the build plate extremely hard.
I suspect that is because the Gcode in the samples on the SD Card were optimized by the XYZWare people to make the prettiest possible prints. The only time I got a nice printed circle was on the keychain sample and never on any object sliced by their XYZware software and uploaded for printing.
Thus, the Gcode was optimized for their firmware and it was not possible to duplicate it using their software slicing by XYZware.
I'm impressed by the quick work on the part of several people here in getting custom firmware running on the Davinci. Great job!
In defense of XYZ, I think their goal was to get 3d printing from the DIY and hacker arena to the after school open-the-box and print bunch. As far as that goes, they did a good job. You can't beat the hardware and ease of use for the price. They tried to minimize setup and the number of user settings necessary, and they succeeded very well.
Having typed that, it's time they embraced the DIY/hacker community like Makerbot did, before it's too late.
I'm about ready to pull the trigger on Repetier firmware, but even though I'm not a noob at embedded firmware and such, I think some condensed instructions would be great. My biggest concern right now is the warranty aspect. Since these are so new, nobody has yet discovered how much the various parts will cost if you needed to buy them. I also wonder, given XYZ's mindset, if they have sprinkled some dummy bytes here and there for tamper detection, such that you could never fully recover the machine to its factory state if you needed some serious service. Is reflashing the firmware and copying the factory contents back to the SD card enough?
I think that the beginning of the build process - the wiping of the head, and such - may have been part of the firmware in XYZ when you started a print. When I would slice my model with Slic3r, there was no code to do this, yet it did it anyway. After putting in the Repetier firmware, I added the lines to the beginning of the code that Kieth told me to in an earlier post to this forum and everything has been great since.
I am sure others will chime in also, but given the lack of true security elsewhere in the software I doubt they thought that far ahead. And given that the firmware does do a cImplement rewrite it would be hard for them to tell besides for maybe the machine life and total filament used.

Yes they did do a decent job at making it useable out of the box with no knowledge required but they still have a long ways to go to make the prints that come out of the machine look good. Layer infill and adhesion are cramp and they provide no way to deal with it besides hack it in some way.

As for a supported product the only thing to do to keep costs down is to lock it up tight and reduce the variables as much as possible to make it supportable. Just for reference I bought a filament of same color from source that worked perfect before. And the head clicked and prints would fail. Took me 2 days to check filament, and when I did I found I got a bad spool. I was blaming the machine when it was a spool from a trusted source.
Quote:I think that the beginning of the build process - the wiping of the head, and such - may have been part of the firmware in XYZ when you started a print. When I would slice my model with Slic3r, there was no code to do this, yet it did it anyway. After putting in the Repetier firmware, I added the lines to the beginning of the code that Kieth told me to in an earlier post to this forum and everything has been great since.

Oh, the XYZ firmware most certainly had GCode macros that ran before pre-&post-processing of a file. That's all the calibration routine is, a series of macros. It's what made me think, at first, that it was a derivation of the RepRapPro firmware.

What I'm curious to know is who they got the firmware from. Seeing how/where they cut corners (and misappropriated Slic3r) I just don see how they found the time/funds to write a firmware from scratch that (per bgm's post)
Quote:"uses all the capabilities of the SAM3X8E including multitasking, SVC calls, native SD card controller. It even uses a static memory controller to map LCD data bus into CPU address space."
Ok, If I ever get this to work I am writing a noob install procedure from my perspective. I have repetier connected finally after installing the arduino drivers but when I click to run the job nothing happens. I have sliced the model in slic3r/repetier but not a peep from the printer. Any suggestions?

Do you have the baudrate set to match the settings in the EEPROM and have you selected "RepRapPro Duet Firmware" for the Reset on Connect option?
My printer refused to print using Repetier so I switch to Pronterface and it had no issues. I have no idea why Repetier just adds all the commands to the "Commands waiting" and doesn't actually print bu like I said, I couldn't get it to do it either. I even sliced a Gcode using the Slicr from Repetier, saved it to the desktop, opened it up in Pronterface and it printed fine.
I also have full use of the motor controls which I also did not have from repetier;s host. In addidtion all my baud rates match the printer's configuration, the com port in the windows device driver, and the Repetier's host but nothing printed.
I do have to close Pronterface after printing and reopen it to print again but I had to do that with my Prusa i3 (which I have abandoned and used the parts for the FABSCAN/RAMPS 3dScanner project).
I have since flashed my printer back to the 1.1G stock firmware due to the nasty LOUD clicking of the filament feeder.
The "reprappro duet" thing is what was wrong. I am printing now but only after a slew of bed height issues, slicer configuration and printer setting changes. The print quality is terrible but I am printing. I will post my noob setup process shortly.
I'm going to be cleaning this thread up.

The purpose of this thread is the development and improvement of custom firmware, currently Repetier. This is NOT the thread to ask for help using or installing the firnwares.


We want to help you if you have trouble. Please see (search) if your question has been asked/answered before, and if not please start a new thread.

Future replies to this thread asking for help will be moved or deleted.

Thanks for everyone's help with this! Smile

I'm wondering if the temperature sensor for the extruder is measuring in Fahrenheit. When I set the extruder temperature to 218℃ and measure I'm getting a temperature that jumps around 218℉ at the tip (measuring with a infrared thermometer). The print bed temperature seems to be somewhat accurate if I measure at the dead center of the bed. The problem with it is that with every inch from center the temperature drops dramatically. I'm assuming that its just a poor quality heating element. I'm no coder but I was hoping you guys could investigate that a little further.
Hi All.
After I compare the DaVinc's firmware setting with Rostock Max. I found something might be potentially dangerous when temperature sensor is disconnected. The Hot-end or heat-bed might run into over-heated situation and might damage the machine.
When I remove my RostockMax the hot-end for service. The LCD temperature sensor will show "def" and disable the hot-end function.
But In DaVinci due to the NTC look-up table's lower-est temperature is only list to 20 degree. When you disconnect the temperature sensor the temperature will still show 20 degree and will NOT disable the hot-end functioning. When you trun on the extruder without the sensor feedback you might burn out the hot-end. I strongly recommend we extend the table to -20 degree or lower even the value the just fake one. As long as when we disconnect the either temperature sensor We can trigger the sensor defect function. Currently I don't have my machine to test/update the firmware. Hope some one can try to modify and test it.
I would like to give ideas for improvements on the Repetier firmware. I can participate in the program but my knowledge is limited (I do not know Arduinos)
-Try to have the compleat line temperatures on the display (is missing a digit for the bed temperature)
-Power-off the display as the stock firware and possibly put a timer to automatically turn off.
-Correct beep (not working properly)
I found nothing yet

I thought I explained this clearly, but today I had to delete another question asking for noob help to install RH

The question of how to install rh has been answered many times. This thread is ONLY for developer's.

Development means modification/alteration to the firmware. It does not include a how to guide, nor will it.

The fact is if you need a how to guide then you probably don't belong in the development thread. Wink

PLEASE USE SEARCH if you have any question about the use, installation, or modification of the settings for rh.

ONLY if the question has not been answered should you then ask or start a new topic.

***Any futore posts that do not belong in this thread will simply be deleted. ***

Hint: don't ask how to install RH, or has been explained in great detail several times. Smile

Sorry, but it's not easy to keep the board and messages clean...

Hello there
I managed to change the display on the main screen, I put you in the picture attached parts[Image: DSC_0028.jpg]
Very nice work Edouard! Thank you for your hard work!
In case other people need the github link!
Here is the pull request link of the changes.
I demand pull request yesterday Smile

Forum Jump:

Users browsing this thread: 3 Guest(s)