MPCNC colourizer web app

Hi folks,

I was thinking about the colours that I want to use on my MPCNC (I have a few options). I also wanted to take Streamlit for a spin, so I decided to hack together a little app to “colourize” the MPCNC. As a new forum user, I can’t share links yet, but you can check it out at

I hope that @vicious1 doesn’t mind me having stolen his photo from the main MPCNC Primo page.


Markup ate by brackets and I don’t get an edit button … the tool is at:

share dot streamlit dot io :grinning:

1 Like

That looks great.

I will add your link.

We do have another one, New MPCNC for 2020! - Primo - - #1802 by toddhacker

That’s awesome. I think the other one was windows only. Web works everywhere.

Oh good point. Let me tag this!

Looks like a very compact program. Is that python? Whatever that is I really really need to learn some of that. WOW.

Looks like a couple alpha layers on top of the original image and shift the colors?

Dang, c++ seemed pretty powerful until I saw that.

It is Python! It uses the Streamlit library, which builds all the web stuff. “My” code is as simples as overlaying a couple of colorized masks over the original image. (and even that was mostly copy-paste from Stackoverflow!)


Hmmm. I guess it doesn’t work on Safari on iPhone?

I think that the Streamlit sharing service can be a bit finicky. The app has stalled. I’ve rebooted it now.

It should work fine on mobile, you’ll just need to pop out the sidebar to see the colour options.


Works now. That’s really cool!

1 Like

Don’t discount yourself, that is pure magic in my book. I really need to spend some time with python. Seems like you can do some very cool things with it. Thanks for sharing.

1 Like

Super cool!

1 Like

For work, I often need small coding projects, which I started “prototyping” in python, with the intent to “do it for real in a better language” later, except more and more I’ve come to realize that the python version is plenty good enough, so now it just ends up being the finished product.


I’m sure I don’t need to tell you this, but this is my thoughts on Python for prototyping.

  1. There is a ton of high level code, or inefficient code, making tons of money. It isn’t about being the fastest all the time.
  2. Readability counts! If you can read the code and understand it, then it is very useful compared to something that may run faster because it is lower level.
  3. Premature optimization is the root of all evil. If you haven’t measured how long your program is taking doing something, don’t assume it will be too slow and will need to be optimized. Even on production systems, you write code clearly first, measure how long it takes and then try to make it faster. Because at any moment, you may have to change course and it is much easier to do in clean code than optimized code.

Python is an awesome language and has a good balance of speed (in terms of cpu cycles) and speed (in terms of hours needed to write and test something).