Jump to content
Ultimaker Community of 3D Printing Experts

Firmware for UMO+ containing a fix for the M42 command

Recommended Posts

Few days ago I bought a 24v LED strip to add to my Ultimaker Original+ but after setting everything up on port J15 I wasn't able to control it. It seemed the firmware was crashing right after sending the M42 command.

In fact it was a firmware bug, the issue has been fixed for the UM2 but not for the UMO+ yet so I built my own version that I made available on Github.

This is the result:


The intensity of the light can be controlled by PWM using the the M42 S[0-255] command. 0 being lit off and 255 being maximum brightness.

To flash, just get the proper firmware in 115200 or 250000 baud and single or dual extruder and use Cura to install the custom firmware.

Hope it helps :)


Edited by Guest

Share this post

Link to post
Share on other sites


We now run the modified firmware as proposed by ETIX and our printer transformed in an intense light source. The 24V leds can do their job at last.

I am new in the world of 3D printing, which means that I am haunted by many unanswered questions.

Suppose you receive an UMO+ as a New Years present from a friend. How can you know which firmware has been uploaded into the Arduino memory? On the display of our printer eg. you will get the cryptic answer: Control -> firmware version -> DEV. 250000_single.

When I look at the comments, replies, hints... on the internet it seems important to get a bit more information than that. Because depending on the firmware version, origin, flavour ... the printer is loaded with, it is going to respond differently to the led problem. Version12.9 seems to work version 12.14 not, modified UMOP-250000.hex is OK, the UMOP-250000.hex which came with our Cura version (2.3.0) is not and so on. Is there a satisfying answer to our question?

Any comments?

And by the way a very Happy New Year to you all.

Share this post

Link to post
Share on other sites

Ultimaker's Marlin for UMO has not been modified since ages, but each time there is a new Cura it is recompiled from sources, so you get a new version number for the same software...

The issue we are talking about in this thread is a buffer overrun, so depending on how it is compiled you may or may not have issues which explains why some versions runs and other don't...

To be more accurate, the version also corresponds to tags in the GitHub source tree, so you can go back to sources and check the differences. But as you will see, last 2 years tags are pointing to the same code.

(Shameless plug: if you like playing with the LEDs, my firmware branch allows you to set brightness from the controller and save it in NVRAM so you get light at power on)

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • How to 3D print with reinforced engineering materials
      Ultimaker is hosting a webinar where we explain how you can achieve and maintain a high print success rate using these new reinforced engineering materials. Learn from Ultimaker's Product Manager of Materials and top chemical engineer Bart van As how you can take your 3D printing to that next level.
      • 2 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!