I like! Kinda impressive that you got the icons to be recognisable with so little to work with.
DidierKlein 729
Cool! it looks very simple maybe it would be nice to re-use the tinkergnome firmware for this it adds many usefull features
Ultiarjan, yes I know the tinkergnome firmware and I plan to add many of its options as well as print info / tune options. I wanted to start with the UI to arrange the structure and the main appearance, but I've already worked in a custom firmware for my Prusa i3 Steel with this kind of features. In fact, some of the options we are talking about are already present in reprap Marlin firmwares. My intention is to create a hybrid that keeps the simplicity of UM2 and the advanced options of reprap versions / tinkergnome firmware.
On the other hand, part of my effort also goes to allow an easy implementation of UM2 Marlin updates without re-coding and digging too much so I need to adopt the way Daid works and his nomenclature pattern.
I appreciate your feedback and I'm open to any suggestion.
Thanks guys!
What I am sometimes missing now, is status info during printing, such as: nozzle temp, bed temp, fan %, speed (actual mm/s, and in flow %), flow %, layer nr. of total layers. This comes in handy when playing around with settings, so that I don't have to open all submenus to find out.
Would it be possible to add this, if it would fit on the screen? Probably some parts need to be alternating.
For example (I limited each line to 20 characters, like it is now. I don't know if you can put more text per line?):
--------------------
file_being_printed
time to go 9999 min
nozzle 222° bed 100°
fan 100% flow 100%
layer xxxxxx/yyyyyy
material flow 100%
material PLA
--------------------
(Anything I forgot, or that other people would find useful?)
Also during warming up and cooling down, more status info would be nice, such as both nozzle and bed temp.
For the buildplate, a function to manually move the plate up and down step by step, by turning the wheel, would also be nice. This when not printing. (I don't know if it would be a good idea while printing, maybe too risky?)
- 1
tinkergnome 927
For the buildplate, a function to manually move the plate up and down step by step, by turning the wheel, would also be nice. This when not printing. (I don't know if it would be a good idea while printing, maybe too risky?)
'while printing' is where the fun starts
...and very useful to tune the distance between nozzle and buildplate while it prints the skirt/brim.
- 1
tinkergnome 927
I have only implemented some extra functionality for now, and I'm working on the preheat menu, but the list of changes and updates that I have in mind is quite extensive.
well, you want to make it public later - ask yourself how much time you can invest, and how many years you are able to maintain it...
...and after that: have fun making it!
I want to know your opinion on the overall appearance and structure of menu options. And of course, in a later time I will open the source.
If you're interested in my opinion...
I like the icons, but i would prefer a main menu, where i can see all possible option without scrolling.
The structure of menu options is always a matter of personal taste, and how the printer is used.
E.g.: If someone prints only via USB, he don't needs the 'Print' menu, but instead more control options during printing.
If someone don't uses Cura or UltiGcode, he never uses 'Material Settings'...
If someone often changes nozzles, he would prefer a simpler way to adjust the distance to the buildplate...
...and so on...
I would recommend: just use a structure that fits your own needs (or find a way to make it configurable at runtime...)
- 1
I've been out of town a few days and I could not write until today. I'm on vacation this month and will not be able to work in the firmware.
geert_2, I don't think that all the information you mentioned fit on one screen at once, at least not with this font size, but basically these are all things that I intended to draw on the print screen. In my other printer firmware (also with a 128x64 display) I have less data on the screen and fill almost whole, but on the other hand, use margins, spaces, icons and boxes to make a more aesthetic design. Of course some parts can alternate, or to use a different font for certain data. Anyway, I need to work on it and to make test to know what can I do.
As tinkergnome told you, babystepping is what you are looking for. Since this is already coded in Marlin, it can be adapted to UM2. The thing is, as tinkergnome also mentioned wisely: the time. The priorities in my to-do list, the fact that every feature I can add to the firmware takes a lot of research, code digging... and then, start doing the job. But yes, this is something I know I'm going to need and something I would like to add.
Tinkergnome, you nailed the point. My main concern about going open source is how long can I maintain the project, I mean a project with version control. Maybe I will only publish the files periodically and I won't use git.
I already have designed the menu without scroll, with two rows of 5 icons + bottom text and also another design with 2x4 + bottom text + extruder and buildplate temperature info. This was my first version (and also the design of my current P3Steel firmware). I like it but, the truth is that I really liked the scroll easing and the minimalism of Daid's design when I saw it, It's basically the opposite of what I was used to: lot of information and functionality over aesthetics. I guess it was one of the priorities of Ultimaker when they designed their whole machine, something like "what Apple would do if they make a printer", but fortunately open source
This machine is beautiful as no other, It works well enough to not have to be so aware of more technical aspects that are crucial in many reprap printers. So, after I tried my old menu system here (5x2 icons) I felt like that was not the thing I was looking for, I want to keep that sense of minimalism not filling the whole screen and to try to be closer to Ultimaker style, but also adding many of the things that I use to need... and graphics, I love displays with graphics
On the other hand, what would be the point of doing a geek style firmware if you are already done an awesome one? This is something I wanted to talk with you, I'm not going to create another expert version of Ultimaker 2 firmware, my intention is to focus on a intermediate level interaction. I already have a machine that meets my geeky needs! This one has to be beautiful and elegant or my girlfriend is going to throw me out of home!
But also, if I'm working on something that I like to have, why not share and ask the people what they think. If there's anyone looking for something like me, I will be proud to share my work.
You know exactly what involves making the menu editable at runtime, handling the types and the callbacks is a pain in the ass. Letting some kind of configuration/reordering is a possibility that I have in mind, even to allow selecting between Scroll / 2 rows and stuff like that, but trying to convert the system to structs or arrays to get a fully customizable menu is hell!
Thanks for your feedback, of course I'm interested in your opinion
- 2
Your UI is absolutely beautiful ! I really like how you move through the icons, and it seems more intuitive.
- 4 weeks later...
So, here I am... This is the current state of my creature:
- 2
So, here I am... This is the current state of my creature:
Now that's what I call fantastic UI !
Awesome. This is really nice, simple, easy to understand, just brilliant. Do a deal with Ultimaker because this UI should definitely be adapted by them.
I agree it looks very nice..... but I think tinkergnome's version is way better in information density.... I just love all I want to see in 1 max 2 screens.
That looks amazing! I love the icons in the top, really nice to have that information while you're working on other settings.
I'm assuming this was just a simulation, but if it wasn't you should probably take a look at the PID values of your bed, that temperature oscillates way too much
Edited by Guestgrammar
Dim3nsioneer 558
And the simulator must have a 100W heater for the hotend...
@ultiarjan: I agree with you if one has an advanced user in mind who controls the parameters through the print. However, I think the OP had in mind to make the paths shorter. And this design is much less language based.
Edited by GuestAnd the simulator must have a 100W heater for the hotend...
Yeah! I've attached a rocket engine to the printer to make things faster
Yes, everything is related to the simulator, Daid already talked about this weird behavior, nothing to care about.
And yes, I agree with both statements: info density is not a priority but I try to make the paths shorter (and related hierarchically).
I'm focusing on aesthetics and intuitiveness, but the thing is, this way brings faster access to some parts of the firmware than going throw the current menu structure, it's not about a beauty but useless screen. On the other hand, the print info screen is where info density becomes crucial (or not, depending on the user needs), I haven't worked on it yet, It's a pending task.
I'm also turning an idea since I started this project, something that I already discussed with tinkergnome: the possibility of allowing the user to configure the menu options.
The concept is very clear to me, I would create another icon in the main menu, a quick-launch submenu where the user selects icons as shortcuts to any other node. Then it should be possible to choose to start at main menu or quick-launch menu, both also accesible from the other one. The problem is the way it has to be coded, this is a modular approach, the one I'm used to work with OOP, but currently the menu system is very hardcoded and I should rewrite a lot.
For now I'm still working on the main UI, the ToDo list is huge!
Thanks for your feedback
- 2
- 1 month later...
I love this firmware!!!
Could you please add the extruder motor step setting on menu? I am using a third-party extruder set, gear ratio is 1:3, It need to set the extruder moto step to 3x for ultimaker 2,They provide a custom firmware to do it. but it is in chinese and I don't know the version, so please add this function, thank you very much.
Edited by GuestDidierKlein 729
If you look for tinkergnome's firmware you can easily do that
Another way to change steps/mm for extruder:
Thank you guys! you are so nice! @DidierKlein @gr5
- 2 weeks later...
Another demo. Print menu already implemented.
Most of my time is going to refactor and optimize code, otherwise the flash allocation size exceeded 128K, and this has forced me to study and solve other problems. It's being a looooong way.
BTW changing motor steps/mm is already implemented, it was one of the first things I did
- 8
Another demo. Print menu already implemented.
Most of my time is going to refactor and optimize code, otherwise the flash allocation size exceeded 128K, and this has forced me to study and solve other problems. It's being a looooong way.
BTW changing motor steps/mm is already implemented, it was one of the first things I did
Awesome work man, I'm impressed!
Awesome! I really like the balance between aesthetics and functionality.
Have you published your work on github somewhere?
Recommended Posts
ultiarjan 1,223
Looks nice! Regarding functionality I assume you know the @tinkergnome firmware, loved and used by many people here... main thing for me is an overview of main settings in the printing screen and direct ability to change settings....
Link to post
Share on other sites