New printing instructions for Helsinki lab Ultimaker

Our Ultimaker needed a bit of maintenance. While he was at it, daned33 added heated bed and a Raspberry Pi with RasPoE running OctoPrint. This means that instead of moving gcode to Ultimaker using SD card, you upload it to ultimaker.local from Hacklab internal network.

Now that you can print from any machine you probably want to setup Cura on your machine. The type of Ultimaker is “Ultimaker Original” with “Extruder drive update” and “Heated bed (self built)”.

I have printed just fine without tweaking print settings, but you can select “Switch full settings” from “Expert” menu and change “Platform adhesion type” to “Brim” and “Bed temperature” to “80”.

EDIT: I realized I left out actual printing instructions.

After you have used Cura to generate gcode, you go to OctoPrint page on ultimaker.local. Login as hacklab user. Then you can upload your code to printer and print it by clicking print icon. You can follow printing on webcam by selecting “control” pane.

Yosemite replaced mDNSresponder with discoverd in OS X. In practice this means that .local domains don’t work as well as they used to. So if you cannot connect ultimaker.local check that

  1. You are in correct wlan (Hacklab or Hacklab-FAST)
  2. Try restarting discoverd by finding its pid with ps ax | grep discoverd and then sudo kill pid.

Now that sounds like nice upgrade for it. Should try that with something small to print once i visit lab again…

Since it came up on irc. When you are logged in OctoPrint, there is a system menu where you can turn printer on and off. That is the recommended way to switch printer off after printing.

Thanks to those involved with the upgrade! I think I’ll drop by today and see if it’s even better than before.


For the mDNS challenged Windows users the printer now has a static ip, so should work.

We also added a big red button for enabling “main power” to the bed and printer motors/extruder.

The “hacklab” user no longer has admin privileges to enable main power, push the button to do it, the same process that watches for the GPIO event from the button also checks if a print job is active, if nothing happens for 15 minutes it will automatically disable the bed, motors etc.

The red led on the button is lit when power is on.

NOTE: It seems switching the lights nearest to the rack on or off causes the GPIO event to trigger (maybe we need to add analog RC-filter there), but it will power down again after 15 minutes so no problem.

Remember: if you start a print job but the heat will not rise, first make sure the power is on, go push the button…

Printing is still a bit problematic. After uploading a file, the load and print buttons next to the filename are grayed out. In the state field, the file details are shown, but print button is not active.

The computer is a Win7 laptop, browser is Firefox 38.0.5. A macbook (don’t know about the browser or OS version) showed exactly same symptoms.

Have you tried turning printer on? Press the big red button at the printer. If that doesn’t work then I think there is some problem with the added button. See the comment above your’s for more details.


I tried turning it on, also tried something I shouldn’t have… Switching it (the mains power) off and on. At that point the external power supply failed to start :frowning:


The ATX ? It’s controlled by the raspberry-pi so if you managed to reboot everything (the RPi is powered over ethernet so cutting the mains does nothing for it) this is very much normal and even if the pi did not reboot the timer might have expired and it turned the bed power off.

In any case @daned33 was printing something today and I don’t recall him cursing anyone on IRC either so I guess the printer was fine.

Oh, good that I didn’t kill anything at least beyond zombie state… But I have to say that printing was impossible and the octoprint UI didn’t help much. Some troubleshooting instructions would be greatly appreciated! The obvious symptoms are above, I’ll be happy to provide more if I know what and/or go and try something, again if I know what.

Anyway, thanks A LOT for pushing the 3D printer projects forward! At least when we learn a bit more the new network based printing is much more convenient than the card. Should the Ultimaker be ABS compatible now with the heat bed?


don’t know about “should” it might be, however the new air-duct is ABS and not take kindly to the higher temperatures required for the nozzle to handle ABS. At least when we tried with PLA-printed air-duct it melted when printing PLA. Overriding fan-controls to have the fan blowing air all the time might prevent that.

  1. Open model in Cura, save GCode (see settings above or use the Mac Pro at lab)
  2. open http://ultimaker.local/ (or if your OS does not support mDNS)
  3. Login as “hacklab” (password is the same)
  4. Click upload and choose your gcode file
  5. Locate your geode file in the Files list click on “load and print” (the print-icon), if the icon is grayed out make sure the printer connection is active, if “connect” button as available, click it.
  6. Go check the big red button, if it’s not lit, press it. If it does not light up things definitely will not work, you will need to start troubleshooting.
  7. Wait and watch the bed temperature rise, if it does not you have a problem and need to troubleshoot.
  8. Once the bed is hot, the extruder should heat up too.
  9. Once both bed and extruder are up to their working temperatures the print will start.

Re ABS, it will also need a hood of some sorts to keep the airt warm inside and the ABS from warping

Just to recap, although I haven’t visited the lab since I last wrote: following exactly the instructions, the problem appeared in step 5 - the load and print icon was greyed out. Everything until then was smooth. This applied also to the other files on the list. In the status window, print button could be pressed and the status went to “printing”, but nothing happened. Big red button was lit. This nothing means both the printer and the temperature diagrams. And manually checking the heat bed, it stayed cold.

Instructions updated to include the “connect” button. I can’t think of any other reason (besides a print already being active) for the “load and print” icon being grayed out. So if that happens while all other the things are in order it troubleshooting time.

Applied only to early versions of Yosemite, they reverted it back in 10.10.4 (last May; before this thing was written).

I run into couple of problems when trying to print yesterday. Since someone may run into same problems, I decided to write some troubleshooting instructions. Problem was that printer didn’t seem to get any power. I checked that power cord was connected, atx power was on and the socket was working. I also checked that the ethernet socket I used was connected to Juniper router that provides PoE. It turned out that problem was missing PoE. Both ELL-i PoE board and Raspberry Pi has power leds, so if they are not on, most likely PoE is not working and you should try another ethernet socket. Since Raspberry Pi also controls soft power switch of ATX power source, printer will not get power either. Since laptop power source is connected to same socket, its power led can be checked to see, if the mains power is working.

Stockholm Makerspace recommended this direct drive modification for Ultimaker: @ Freenode

15:13 <+Meduza> jssmk: <-- there you got a version of the corner mount you did see on our printer yesterday, wich is actually better designed than ours :wink:

Raspberry Pi in Ultimaker no more controls ATX power supply. It means that when you start printing, check that the ATX power switch is “on”. Also, after printing remember to turn it “off”.

On the irc channel there was a comment of hotend not heating. I don’t know if it’s set by gcode or Octoprint, but when printing bed is heated first and hotend starts heating only after bed has reached desired temperature. The reason for this is that extrusion is based (mostly) on gravity and hotend will start extruding pla as soon as it’s hot enough to melt it. The bed is heated first to ensure that printing can start immediately when the hotend reaches heating temperature.

I have also found that letting bed to cool down below 40°C makes it very easy to remove printed object.

After long downtime, Ultimaker is back in business. GPIO’s controlling hot end and heat bed had been fried from Arduino probably due to incorrect powerup or powerdown sequence. The printer has now new Arduino mega and after 2 evenings of tinkering I found a suitable firmware for it. Squeaking extruder and cooling fan also received some first aid.

Everything seems to work now, but the old warrior is in need of maintenance:

  • Bearings in extruder need to be replaced.
  • Electronics’ cooling fan needs to be replaced (24V centrifugal fan). As first aid I put some lube to bearings but it wont help for long
  • Wiring loom under the machine should be tidied up before something shorts up.
  • The current firmware might not have 100% correct coefficients for heat bed’s sensor. IR temperature meter shows 10C less than what is requested. Check the correct sensor type and recompile firmware if needed.
  • The whole machine needs cleaning, tightening, re-lubrication and re-calibration

Most likely cause for Arduino’s failure is starting or shutting down the printer so that Arduino is not powered while big PSUs for heaters are on. To prevent this, make sure that raspberry pi is running and USB cable between it and the printer is connected before switching heater power supplies on. Shutting down follows the opposite order. First switch off heater power supplies (from the big extension cord) and only after that disconnect Arduino and raspberry pi. In normal operation raspberry and arduino can be left running.

Some notes for future maintenance crews:

  • Printer’s model is Ultimaker Original (not plus)
  • Heat bed is RepRap alu heatbed mk3 and its temp sensor is some 100ohm NTC or PT100.
  • Ultimaker’s default firmware does not work because of the custom heat bed
  • Functioning firmware can be created with Ginge’s Marlin Builder using following setup:
  • Template: Ultimaker
  • Board type: Ultimaker
  • Extruder temperature sensor: thermocouple with AD595
  • Heater bed temperature sensor: PT100 circuit found in the Ultimainboard V2.x
1 Like