Home Artists Posts Import Register

Content

If you didn't know, February is Marlin Housecleaning Month! All my efforts (and yours too!) will go towards cleaning up old issues, fixing known bugs and hunting down bad behaviors. And, of course, this also means tweaking and improving the user experience, which is really just getting its start in the main Marlin fork.

As part of this whole crusade I'm collecting all Marlin's graphical elements into files for easier access and to provide assets for end-users to play around with as well. I thought you'd like a sneak peek of the bits as they're coming together. You deserve to hear it first…

Graphic Overload?

The fact is that there's still around 50% of free space on a Mega2560 with a fully-configured Marlin installed. We might as well use all that extra space for graphics, code, and text that improves the look and feel of the user interface where we can. Multi-lingual support, more guidance and help within the firmware… All these ideas are just waiting to fill up that space.

To get into the swing with user experience, get a change of pace, and fix some things about the UI that bug me, I've been working on the graphical interface today. I just implemented 3 and 4 frame fan animations for the status screen, because blinking LEDs kill brain cells.

Did you know that I once had a professional job making pixel art all day long? It's all coming back to me as I'm designing some alternative graphics for things like the nozzle, bed, special characters, etc.. The hours just float by when you're doing pixel art….

One Converter To Rule Them All

To help myself along I've been going a little nuts adding features to the Marlin Bitmap Converter. I needed to make it easier for myself (and you, yeah, you guys too…) to make customizations to the Boot Screen and the Status Screen, and to be able to arrange the Status Screen in a way that works best for your purposes.

So, I'm adding to the converter:

  • Binary output, which sometimes looks better.
  • "ASCII" image comment option (see the image below).
  • Narrow ASCII image option uses narrow block characters.
  • Boot screen, Status screen, and basic bitmap output.

I look forward to rolling more features out with the 1.1.9 update, which is being held while we work on motion issues. I hope it will be ready soon, as it's a really solid bug-fix release! The motion issues are the only thing holding it back, so stay tuned…

Say "Hello" to Astro

The last few months I've been heaped with an unprecedented level of kindness, generosity, and good tidings. As a result the Marlin Geek Lab has obtained a Creality CR-10S as a more reliable test platform for everyday usage, testing of new features, and so on. Not only that, but a probe was also donated, which means…

I'm finally joining the 21st century!

The CR-10S is a fine choice for everyday development because the Mega2560 is the de facto reference platform that Marlin has to satisfy, and a Cartesian gives the best indication that the high-level code is working as it should. The 2560 provides enough space that I can test lots of features in tandem without hitting a ceiling. By far, most boards out there are 2560-based so it's vital to have at least one up and running all the time here.

This new machine frees up my trusty old i3 (and possibly an old Hadron) to become dedicated test benches for 32-bit development. Since re-wiring is always a challenge anyway, I'm going to try and set up a test rig so I can swap boards without having to disassemble too many things.

Here's the screen on "Astro," which, yes, is named for the Jetson's dog.

As you can see I've been having too much fun with the bitmap converter. The 4 frame fan animation looks pretty good, but I want to add some other cool things:

  • Draw the bed with wavy lines only when heating. Riiight??
  • Show indicator for bed leveling enabled. On the bed icon.
  • Show small indicators for homing needed. Drop blinking.
  • Design some alternative layouts.
  • Offer some options to replace XY in the status display.
  • Make "UP" items in menus more obvious.
  • Fix glitchy menu highlighting.

I will be doing a video in the next few days to show off all this user interface goodness. I'll go over the whole process of customizing your LCD, adding menu items, and making other changes to Marlin. It will be a Live Stream, so Q&A will be naturally included.

Stay creative! Do all the things. I'll see you soon!

— Scott

Files

Comments

Jamie

Yes I did know about your pixel art past, I wrote your bio on Mobygames :P How about a 3D plane which represents the current bed probe matrix? Like the gnuplot or Excel graphs everyone generates with the bed probe output. RRF generates some beautiful graphs of these in its web interface, so even a simple Vectrex-looking graph in Marlin would be a nice addition.

Joel Telling

Scott, what are the chances of getting a little hand giving a highfive somewhere in Marlin? Maybe a good ol' highfive when a print is complete? ;)

Scott Lahteine

That could happen… And a "print completed" screen would be a nice addition in-general!

Scott Lahteine

Hey Jamie. Thanks for keeping up with my fascinating career! I'm sure we could do a very nice 2D graph view of the bed distortion even on the small 128x64 LCD. As screens get better we'll add even nicer graphics of the bed. Currently there's a matrix editor that does a nice graphical grid display, but a more dimensional view would help. There's actually a hidden feature in Marlin (``SCAD_MESH_OUTPUT) that changes the output from `M420 V to a form that can be pasted into the included "MarlinMesh.scad" script that runs in the free OpenSCAD. This gives a nice detailed view of the bed, with interpolation, in a semi-interactive way. It also works with the "Animation" feature of OpenSCAD. Highly recommended if you want a close-up view of the distortions in your bed.