Jump to content
Ultimaker Community of 3D Printing Experts


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by anon4321

  1. I'd recommend you use a different meter. I believe (could be wrong) that clamp meters tend to not read low currents very well. Or if you have spare wire to the circuit you want to measure, wrap as many turns as you can around the clamp. Then read the current and divide it by the number of turns. More is better, like 10 turns... That meter has a maximum current reading of 600A and you are trying to read current 2 orders of magnitude less.

    Otherwise, measure the resistance of the heater when cold and when hot and we can calculate the current.

    I don't own a UM with the new electronics so I'm not 100% sure but I believe that the electronics don't measure the power or current and can't turn off the printer. Again, I could be wrong here.

    When you say "shuts down:, do you mean turns off completely? If so, it's the power supply's over current protection shutting the PS down, not the UM2 based electronics.

    There appears to be a safety circuit that will cut off the 24V power but not the power to the electronics. This has something to do with J17 and J16. Looks like there must be continuity between both connectors to allow the 24V relay to switch on.

    Here is a good reference for the board: https://github.com/Ultimaker/Ultimaker2/blob/master/1091_Main_board_v2.1.1_(x1)/Main%20Board%20V2.1.1.pdf

  2. There is a lot of software out there that operates as a "3D printer host".

    When not printing from an SD card, the host must feed the g-code in a certain way with checksums and resends. As part of this stream, you can get the temperature info back.

    The head position can be implied from the g-code as it is sent. However, the accuracy of the g-code coordinates is limited by buffering done by the FW. If you send "go to 0,0,0", the printer may accept it immediately. Because you just sent 0,0,0, you report the head as 0,0,0, but the command might be bufferred and there may be some "slop" in time before the FW actually gets to 0,0,0.

    When you print from Cura, it operates as a host as does Simply3D (which also pseudo reports the head position)

    You might look at http://www.pronterface.com/index.html . It is an open source 3d printer host and UI with a command line host too. If it doesn't do what you need, at least the source code can guide you on how to make mods.

  3. It might be best to begin with a model that is known to be OK.

    Not many models on youmagine but quite a few on thingiverse:


    Note that helices are difficult to print without support as no matter how you orient them, there will be challenging overhangs. The only way to avoid the overhangs is to split the helix in half down it's axis. Like this model:


    then assemble/glue the two halves together.

    If you are asking for help modelling your prototype, you need to tell us what software you are using...

  4. I think it will depend on where you source the replacement 2560 from... I don't think the chip comes with a bootloader from ATMEL. So places like Digikey and Mouser probably sell it blank. You would need a programmer.

    I think you have a couple options:

    Get a programmer and burn the BL yourself.

    Use another Arduino as a programmer and burn it yourself.

    Or buy a arduino mega 2560 r3 clone for as cheap as possible ensuring that the package type of the 2560 is the same as the one used on the motherboard and then desolder it and transfer it to your motherboard.

    Good overview of the BL upload process: https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader

    • Like 1
  5. Although not a slicer, MeshMixer can do this, However, MeshMixer is a utility for manipulating STLs including repairing and the addition of these types of supports. Its not a slicer. So the workflow is open in Meshmixer, add supports, do any other things like auto orient for best printablility and then save as a new STL. Then load in a slicer like Cura and examine the layers to see if the support is going to print correctly. If not reopen and meshmixer and repeat.

    So not the easiest but it will do it...


  6. If you don't want to get into the modelling aspect which might be a little advanced for the age range, search https://www.youmagine.com/for toys and such.

    Keep in mind that smaller is better since if they print gets messed up, you don't lose too much time and small prints also print faster.

    For some younger family members, one in the range you mentioned and one just slightly older, to show them the printer, I printed an UM robot


    and for the younger one, a braclet with her name (thingiverse is not well liked by us due to some shady things they did regarding rights to the works posted there but):


    It is stretchy even when printed in PLA.

    If you have a selection of filament colors, this might be fun for them to see printed:

    Ultimaker PLAY KIT ROBOT - ultirobot


    If you want something on the mechanical side, these might be of interest:


    If you want to talk about space and the ISS using 3D printers, there are models of the wrench they printed such as:


    If you wanted to make some original models, tinkercad looks good:


    For more advance modeling, 123D design


    Hope that helps !

  7. Could this also be caused by a stuck Upper Z switch or shorted circuit for that switch?


    Hmmm, that is a good thought. I vaguely remember the FW having a bit of a weird behavior if an endstop is triggered by you keep trying to feed in that directions.

    It's worth check that too. Check that the Z endstops connectors are in good working order. Then swap them with another axis.

  8. Thee first thing to check is the connector for the Z axis motor. Unplug it and examine the pins and leads. Check the pins on the PCB too. There is little risk in doing this.

    Next, this is more risky. In the stepper drivers there is a small screw that is a potentiometer that sets the current the driver delivers to the stepper. Do this: power off and unplug the printer, using a small preferably plastic screw driver, very gently turn the screw a very small amount like 1/32th of a revolution. Now put the cooling cover back on, power on and test. If it is not any better repeat. However, if you put a quarter of a turn into it and it doesn't fix the issue it is probably something else. See this information about the direction: http://wiki.ultimaker.com/Electronics_build_guide

    Finally and the most risky, to test if the driver is the problem, swap it with another driver. Obviously, do this with the power off. The risky part is two fold. First you need to be sure the pins are aligned and not shifted up or down. *** The second risk is that the driver MUST be oriented correctly *** They must be oriented so that the potentiometer's location matches the driver you are replacing. I believe (but check) the X, Y and Z drivers are all oriented in the same direction so if you remove one of the X or Y drivers to swap with the Z driver, DO NOT rotate them. However, i believe the extruder driver is rotated 180 degrees. So carefully examine the drivers on both sides to understand what I mean.

    If the problem follows the driver then the driver is bad. If it doesn't then the board is bad.

    Good luck.

  9. BTW, meant to add that the reason I don't like to use the SD Card method is multiple iterations of a print means swapping the SD card back and forth.

    Yeah, I'm lazy....

    Also automated production using a UM2.... Obviously this only works for some models. I couldn't find it but there is a video of Ultimaker using something like this to print UM robots to give out at trade shows....


  10. I understand that the reason people ask about what the poster wants to do is so they can provide a better solution to what the original poster is requesting.

    However, sometimes is also good to just answer the questions directly.

    If you want to print directly from the computer over the USB to a UM2, I believe you can. The issue is the UM2 firmware has limited buffer space so any interruption in the data transmission may cause issues as the head "stalls" (buffer underrun while waiting for more gcode over the USB connecion). This is more likely with a PC that isn't completely idle.

    NOTE: what follows requires some special handling when a UM2 is involved because the flavor of GCODE normally used (UniGCode) isn't supported by OctoPrint and probably not by AstroPrint which I believe is derived from OctoPrint.

    If you want a remote solution, my recommendation would be OctoPrint on a Raspberry Pi. If you are unfamiliar with the RaspPI, it is a small single board computer that runs Linux. it has good processing power, something along the lines of an early smart phone (actually the PI2 has more processing power).

    OctoPrint ( http://octoprint.org/ ) is a web page based interface that runs on the RaspPi that allows you to remotely control the printer including slicing on the RaspPI, uploading GCODE to the SD card in the printer AND providing remote view capability with the right camera set up. Because it is dedicated to just running OctoPrint, it is less likely the USB connection would "stall" messing up the print.

    There is also an even simpler "plug and play" version called AstroPrint which you can get in various forms from a complete solution (PI + SD card for the OS for the PI + case + wireless adapter such as https://www.adafruit.com/products/2391 (a little expensive IMO) to just the SD with the OS and Astroprint installed ( https://www.adafruit.com/products/2393 )

    OctoPrint also has a version called OctoPI which is an image you point on an SD card for the PI which is a full Linux installation with OctoPrint pre-installed.

    I think the cheapest way to go would be get a PI2 started kit that has the PI2, case, power supply and a SD card and download OctoPI.

    If you go the OctoPrint/AstroPrint way, search for UM2 OctoPrint to understand the issues with Ultigcode and how to using OctoPrint with a UM2.

    Finally, there was a sort of official wireless solution from Ultimaker. The interface is not very advanced as it is targeted at younger users but you can still use it with normal stls: http://www.doodle3d.com/wifi-box/

    At one point Ultimaker had a deal where you would get one free when you brought a printer. It is basically a rebadged wi-fi router with custom firmware.

  11. Jonny,

    Thanks for taking the time to reply with such great information. I'll have to read it a couple times until I understand it!

    I'm looking at the ATMEL part just because it is the same part in the Arduino Zero so I have a reference for both the electronics as well as the bootloader.

    It's less then $2 USD so for one offs, it's reasonable.

    I really wish I had stayed with the hardware/electronics side of my schooling. So much more interesting than software.

    Thanks again.

  12. Ahhh, that makes perfect sense with what I have been reading about mixed digital and analog supplies.

    The SAMD21 Cortex M0 isn't that expensive and seems to be a pretty good MCU. But I have to bother you with more stupid questions...

    Most of the eval boards and the Arduino Zero are using a 32.768khz crystal so I figure I will do the same.


    I'm having difficult understanding the datasheet and the various ways of calculating the load capacitance.


    The datasheet:


    page 1093 states these characteristics:

    Cl - 12.5 pf max

    Cshunt - 0.1pf typ.

    Cxin32 parasitic load - 3.1 pf typ

    Cxout32 parasitic load - 3.2 pf typ

    Crystal ESR (Cl - 12.5pf) - 141kohm max


    On page 1089, the datasheet gives the method to calculate the external load cap (Clext)

    Clext = 2(Cl - Cstray - CShunt)

    where based on the figure on page 1092, Cshunt is the crystal's internal shunt capacitance and Cstray is the cap between the Xin and Xout pins.


    Seems simple enough but here are my questions:


    Why does the datasheet show a Cshunt typical value if it is a function of the crystal? Is this the recommended value to target when selecting the crystal? Or is this an internal shunt value that isn't represented in the formula because it's so small?


    What are the value of the Cxin32/Cxout32 parasitic load cap used for? Are they the internal cap (to ground) of the pins? Should they figure into the calculation of Clext?

    Or is there some rule of thumb people use to determine the value of the load caps like if the crystal requires X load, use two Y caps and they ignore the various other capacitance?

    I did find this which is the Arduino Zero that was apparently designed by ATMEL.


    They derived the values as :

    Calculation of crystal load capacitors:

    Cext = 2x ( Ccrystal - Cpara - Cpcb )

    Ccrystal = 7.0pF (from crystal datasheet)

    Cpara = 3.15pF (from MCU datasheet)

    Cpcb = 0.5pF (estimate)

    Cext = 2x(7.0pF - 3.15pF - 0.5pF) = 6.7pF

    But I can't find Cpara on the datasheet unless they took the average of Cxin32 and Cxout32 parasitic capacitance.

    Maybe these values aren't super critical?

  13. Unfortunately, you can't simply adjust the layer height or the filament size on the UM1 gcode because the UM1 uses linear Z feed amounts. The linear amounts must be calculated based on the layer height and filament diameter. So the layer height and filament diameter becomes "baked in" to the feed amounts. If you want to say double the layer height, you need to double ALL the Z feeds (assume they reset the feed position to 0). Same thing if your filament diameter is significantly off of the value in the script by some percent.

  14. I did the heated bed upgrade on a self assembled UMO. I don't relevel for every print.

    You can just adjust the temperature to your liking. The one issue with the gcode files are they are for a fixed first layer size and a fixed filament size. For the most part they will work OK. However, if you filament size is thicker or thinner you might not get the best results.

    However, they should help you level the bed.

  15. You need to know how to use python to run the scripts that generate the gcode for the rings.

    There are two gcode files, one for the UM1 and another for the UM2. Download the correct one ending in .gcode here:


    The .gcode flles can be printed directly from an SD card.

    If you wanted a different number of circles or a different layer height or size, you would need to modify the correct .py file and run it with Python.

  16. LOL, well at least my research was good enough to arrive at the same conclusion you did.

    Cortex M0 is a lot of power for controlling the printhead...

    Two questions:

    (Edit: please ignore the first question! Misread the datasheet!) Why a 4.02K instead of 1K per the datasheet?

    What is the purpose of the 470 ohm resistor on the analog supply?

  17. Well, I just don't get anywhere these days...

    I am working on the mechanical protype:


    And I've redone the electronics like 1000 times, but actually completing them will take at least another half year. For now, I will be using a smoothieboard to power my new printer. I will first need to build a CNC router in order to be able to manufacture good parts for the next prototype, and THEN I can think about multi-head and custom electronics to make it into reality...

    You can get pretty much any PT1000 sensor (or PT100, if you prefer, and make your measurement circuit accordingly...)

    I'm currently working with the mouser P/N 956-32207704. Thinking about glueing them to the surface and sealing them with silicone. But that is not an ideal solution just yet... Encapsulated sensors are of course better, but they cost 10 times as much as that small one :(


    Oh, OK... you are looking at the thin film type. I was searching for one encased like the UM1 thermocouple. Haven't found one of the right size. And yeah, they are like 30-40USD.

    I was eyeing the thin film ones too. I'm thinking about either using a brass strip with screws tapped into the heater block to hold it or slitting the block and then have a single tapped hole that can squeeze enough to hold the sensor. Sort of like the way E3D holds the heater.

    The nice thing about the thin film ones is they have almost no thermal mass so the response time is much better.

    I'm also considering something like this:


    Accuracy is very high. The chip itself is like 0.5C (0.05% of Full Scale) so it would be reasonable to say the whole thing should be accurate to +- 1C.

    A little expensive at $4 USD plus a precision resistor but I don't have your electronics experience to build a decent constant current source. So a single chip+resistor is less for me to screw up.

    I saw your metal frame version of a printer in another thread. Dude, your prototype is a tank! Do you think you need to go to that level for better printing or are you going to do something else with it like milling and/or PCBs?

  • Create New...