Welcome! Log In Create A New Profile

Advanced

Anyone interested in an LCD control panel for the Ormerod?

Posted by dc42 
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 08:43AM
Quote
appjaws1
Quote
dc42
Thanks for the info, if I had a vote I would vote for the larger processor and more memory in order to remove restrictions on future development and keep the display unit flexible.

I have considered other processors. Unfortunately, the atmega32u4 doesn't have a bigger brother in the same range. The atmega2560 would permit compatibility with the Arduino Mega, but would need a separate FTDI chip and add at least GBP15 to the cost. The atxmega64a4u would be a more economical solution and suitable in principle, but it appears that nobody has yet ported the Arduino core and bootloader to this chip; and I don't have time to do that myself.

That leaves the ATSAM3X8E which would give Arduino Due compatibility. It would need a larger and probably 4 layer PCB, again pushing up cost and development time. I'm trying to keep the cost down to give the device a wider appeal, because the more it costs, the fewer I can sell and the higher the unit assembly cost will be.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 09:18AM
I agree that keeping it simple and affordable is the way forward. For those who want a large feature set there is the option of using a R-Pi or similar with a touch screen. ... effectively having a mini PC connected.


DuetWifi.: advanced 3d printing electronics
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 09:20AM
Isn't the ATmega32U4 the chip on the Arduino Yun? So there should be a port of the library.
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 09:24AM
Switch to assembler programming David, then the code probably won't take up more than 2K! ;-)

Dave
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 09:54AM
Quote
DasBasti
Isn't the ATmega32U4 the chip on the Arduino Yun? So there should be a port of the library.

The atmega32u4 chip is the one I am currently using. It has 32K of flash. However, even a simple blink sketch uses 17% of that, so there appears to be a large core overhead. My current test program uses 69% of available memory. One of the problems is that the fonts are quite large. Currently I am using just the 16x16 font, but I find it difficult to read and would prefer 20x20 - which would increase the font memory used by another 87%.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 10:34AM
Quote
dc42
Quote
DasBasti
Isn't the ATmega32U4 the chip on the Arduino Yun? So there should be a port of the library.

The atmega32u4 chip is the one I am currently using. It has 32K of flash. However, even a simple blink sketch uses 17% of that, so there appears to be a large core overhead. My current test program uses 69% of available memory. One of the problems is that the fonts are quite large. Currently I am using just the 16x16 font, but I find it difficult to read and would prefer 20x20 - which would increase the font memory used by another 87%.

Maybe double the pixel size rather than the font size (i.e. map each font pixel to 4 screen pixels)? Granted the letters will be a bit more blocky, but 16 x 16 still gives a very reasonable shape, and even 10 X 10 is perfectly legible (to double up for 20 X 20 onscreen).

Dave
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 12:33PM
Hi dc

Are you planning to make a LCD/touch shield for the Arduino Leonardo or a bespoke PCB solution?

Lloyd
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 01:04PM
Quote
dmould
Maybe double the pixel size rather than the font size (i.e. map each font pixel to 4 screen pixels)? Granted the letters will be a bit more blocky, but 16 x 16 still gives a very reasonable shape, and even 10 X 10 is perfectly legible (to double up for 20 X 20 onscreen).

Nice idea, that would save a lot of space. I'm also looking at compressing the font data, but that means I either need the source code to GLCD Font Creator, or a program to read its output file and post-process it.

Quote
ezwul
Are you planning to make a LCD/touch shield for the Arduino Leonardo or a bespoke PCB solution?

A bespoke PCB solution, to keep costs down and simplify the wiring.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 02:16PM
In case it is of any help, I have attached one of my ARM code modules that contains an 8 X 8 font (at the end) used for an LCD display I was driving.

Dave
Attachments:
open | download - Console.zip (7.5 KB)
Re: Anyone interested in an LCD control panel for the Ormerod?
October 06, 2014 06:13PM
Another issue that has cropped up is that the utft driver needs the display to be mounted with the connector on the left. I want to keep the PCB small, so the rotary encoder needs to be mounted close to the connector. Having the encoder knob on the left doesn't work well for a right handed person. Therefore I need to modify the driver to allow it to drive an upside down display. This will take a small amount of extra code space. However, it will give left handed users the option of printing an enclosure the other way round, with the encoder on the left.

An alternative would be to place the encoder centrally underneath the display, but that would require a larger and more expensive PCB.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 07:25AM
Quote
dc42
Another issue that has cropped up is that the utft driver needs the display to be mounted with the connector on the left. I want to keep the PCB small, so the rotary encoder needs to be mounted close to the connector. Having the encoder knob on the left doesn't work well for a right handed person. Therefore I need to modify the driver to allow it to drive an upside down display. This will take a small amount of extra code space. However, it will give left handed users the option of printing an enclosure the other way round, with the encoder on the left. .

I have modified my LCD box to include items from my and Dmould original designs and have included a righ or left hand option in the scad.



Quote
dc42
Currently I am using just the 16x16 font, but I find it difficult to read and would prefer 20x20 - which would increase the font memory used by another 87%.

My eye sight isn't what it was and with advancing years will only get worse, so I think the items on screen need to be as clear as possible.
I notice that a pi can be bought for around £25, would it work out cheaper and be more versatile if a pi was used to drive the screen at up to HD resolution with plenty of storage space and connections.


appjaws - Core XYUV Duet Ethernet Duex5
firmware 3.1.1 Web Interface 3.1.1
Ormerod 1-converted to laser engraver, Duet wifi
OpenSCAD version 2020.07
slic3r-1.3.0, Simplify3D 4.1.2, Cura-4.4.1
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 10:42AM
Thanks Paul, it's looking good!

If any programmers reading this feel like contributing towards getting this project finished, there is a script that you might like to write. I suspect that it would be very easy to do in awk, but I haven't used awk for several years and I have forgotten how to use it. It could also be done in Python, Java or just about anything else. It's concerned with reducing the amount of space needed to store fonts.

The C++ source file for the font I am currently using is at [github.com]. The file is generated by GLCD Font Creator, and I insert the header bytes manually. After the header, each row corresponds to a character, and comprises a 1 byte count followed by a fixed number of bytes. What I am looking to do is to remove unnecessary bytes from the end of each row such that if the byte count in a row is N, the number of additional bytes in each row is N * C. The value C is the number of bytes per column, which for this font is 2 but will be higher (e.g. 3 or 4) for larger fonts - it's actually H/8 rounded up, where H is the height of the font in pixels. The bytes being removed will always be zero, however some characters will still have some trailing zero bytes (if that were not the case, I would write a simple sed script instead). The comment at the end of each row should be preserved, because I sometimes hand-edit fonts to improve readability.

Any takers?



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 01:47PM
I agree that keeping it simple and affordable is the way forward. For those who want a large feature set there is the option of using a R-Pi or similar with a touch screen. ... effectively having a mini PC connected.


DuetWifi.: advanced 3d printing electronics
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 02:00PM
A R-Pi might be cheap, but a display that will accept an HDMI input certainly is not! Unless you can find a small HDMI screen I suspect it will also be too heavy to mount on the Z post.

Dave
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 02:11PM
Indeed - hence keeping it simple as David is suggesting.
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 05:27PM
Alternatively, you could make an LCD shield and add an Arduino to it, then you could choose the CPU power depending on your budget.

Due clones are around £15, Leonardo clones are £6 on ebay, Not sure if they are pin compatible, both are 3v, might have to look.
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 05:35PM
Quote
ezwul
Alternatively, you could make an LCD shield and add an Arduino to it, then you could choose the CPU power depending on your budget.

Due clones are around £15, Leonardo clones are £6 on ebay, Not sure if they are pin compatible, both are 3v, might have to look.

Nice idea, however the cost of making a shield can be almost as high as (or even higher than) the cost of making a board with its own processor. This is because a larger PCB may be needed, along with the cost of the connectors nd the cost of hand soldering them. Also, the resulting device would need a very deep enclosure.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 06:06PM
Looking back through the posts I think from the point where you suggested 2 options on the second page you had a resounding option 1 expressed giving a future proof device even at an extra cost, I think if you are into 3d printing then you are not after a hobby with a budget but something to push your creative nature and provide something to entertain you. I think I have spent probably an additional £250 in upgrades (Duex, 1/2 nozzle proximity sensors, aluminum upgrades, additional nozzles, steppers etc).

Depth of box comment, well that's what a 3d printer is all about, you demonstrated that with the evolution of the deeper Duet/Duex box.

I think the bigger problem is if the Arduino's are really pin compatible with each other smiling smiley

I looked at the Arducam with extras, to give the same concept with the additional camera functionality.
I was also looking to run time lapse videos as well, even bought all the parts, just need development time.

Anyway, prototypes look good.
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 07:52PM
I know you've put allot of work into this already DC, but just browsing the thread here made me wonder if it might not be easier and more versatile to go the R Pi route, as you could just talk to the Duet via the Web network that you already have in place, or link it via the IO to serially chat to the Duet. So it's just a natural progression on a theme you've already written. The added advantages are the Pi is cheap, readily available, and if people wanted they could even link a monitor to it if they wanted a much bigger display.

Or this sort of thing even....

I like this best thou.....
Colour Display....

I just ordered one of the Colour touch screens. £40 here in the UK, inc postage with next day delivery.

Edited 4 time(s). Last edit at 10/07/2014 10:12PM by KimBrown.


Please send me a PM if you have suggestions, or problems with Big Blue 360.
I won't see comments in threads, as I move around to much.
Working Link to Big Blue 360 Complete
Re: Anyone interested in an LCD control panel for the Ormerod?
October 07, 2014 08:01PM
Quote
dmould
A R-Pi might be cheap, but a display that will accept an HDMI input certainly is not! Unless you can find a small HDMI screen I suspect it will also be too heavy to mount on the Z post.

Dave

Hmmm reminds me of a visit to a pub a couple of years ago where they had Colour LCD displays about 2 1/2 or 3" square running videos on the beer taps..... But there are lots of small colour display devices out there.

Edited 1 time(s). Last edit at 10/07/2014 10:08PM by KimBrown.


Please send me a PM if you have suggestions, or problems with Big Blue 360.
I won't see comments in threads, as I move around to much.
Working Link to Big Blue 360 Complete
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 01:36AM
Quote
KimBrown
... made me wonder if it might not be easier and more versatile to go the R Pi route ...

It would be easier in the respect that it would "only" require software, as it uses available standard hardware. But as already mentioned, that would be more expensive, and of course larger space-wise. However, given the work dc puts into this project software-wise, the same firmware solutions should then be highly reusable for a bigger display system (such as a r-pi + display or a laptop). Though in that case, I would think the reasonable way would be a matter of adding those new features to the web interface, and possibly restyling the ui to be more touch-display-friendly.

Edited 1 time(s). Last edit at 10/08/2014 01:36AM by jstck.
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 04:59AM
Found this LCD Touch screen on amazon for £53, of course non touch screens with HDMI are about £30

A case would need to be printed but when set-up, everything could be done on the ormerod without external computer so able to operate at any location. The big benefit is that the current web interface can be used and designs can be held in the Pi storage.

I think I might have a go at this but can't decide whether to buy a non touch screen and use my wireless keyboard or a touch screen but would I be able to do everything just on screen?

Paul


appjaws - Core XYUV Duet Ethernet Duex5
firmware 3.1.1 Web Interface 3.1.1
Ormerod 1-converted to laser engraver, Duet wifi
OpenSCAD version 2020.07
slic3r-1.3.0, Simplify3D 4.1.2, Cura-4.4.1
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 06:14AM
That's a nice looking screen, but when you add the cost of the Pi and probably a small network switch (so that you can connect the Duet to a PC as well), it's a £100 solution rather than the £50 solution I was aiming for.

I think I will stick with my original plan. If you or someone else would like to pursue the RPi + web interface option, then it occurs to me that the same web interface might be suitable for mobile devices.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 07:38AM
Quote
dc42
Quote
appjaws1
Quote
dc42
Thanks for the info, if I had a vote I would vote for the larger processor and more memory in order to remove restrictions on future development and keep the display unit flexible.

I have considered other processors. Unfortunately, the atmega32u4 doesn't have a bigger brother in the same range. The atmega2560 would permit compatibility with the Arduino Mega, but would need a separate FTDI chip and add at least GBP15 to the cost. The atxmega64a4u would be a more economical solution and suitable in principle, but it appears that nobody has yet ported the Arduino core and bootloader to this chip; and I don't have time to do that myself.

That leaves the ATSAM3X8E which would give Arduino Due compatibility. It would need a larger and probably 4 layer PCB, again pushing up cost and development time. I'm trying to keep the cost down to give the device a wider appeal, because the more it costs, the fewer I can sell and the higher the unit assembly cost will be.

have you considered stm32...?

Cheap

Powerful

Ecosystem

EDIT: Dev board or dev board with LCD (Farnell)
regards
Andy

Edited 2 time(s). Last edit at 10/08/2014 07:55AM by kwikius.


Ormerod #318
www.zoomworks.org - Free and Open Source Stuff smiling smiley
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 07:44AM
As some idle ideas meant only as food for thought, and most certainly not in any way critical of you present design choices or thought-through recommendations, David:

I suspect there will be many designs for printable cases following the release of your project, and it might be good to allow the LCD display to be mounted in any position relative to the switch. This would mean having either the LCD or the switch on flying leads.

Have you considered the possibility of using an incremental (up/down) rotary switch (e.g. [uk.rs-online.com]) instead of an encoded switch, which needs only 3 wires (or 4 with push-to-select) and so could be mounted direct on the case with wires to the controller? Slightly more involved to implement in firmware, but not difficult if you have 2 interrupt inputs available. Though even a fully encoded switch could be connected with a ribbon cable to the controller instead of PCB mounted. This will also reduce the PCB area and maybe save some cost.

Alternatively for relatively static LCD data a serial link may be preferable to a parallel link in this application, because you won't then have to have a fixed many-way connector between screen and control PCB, but could connect them with a 4 or 5 wire lead. Screen update is slower, but then video update rates are not required.

The choice of CPU is predicated to a large extent on what architecture/programming tools you are familiar with and not only the capabilities of the CPU. I'd probably go for a Cypress CY7C67300 - perhaps with external Flash and/or static RAM as a solution for this application, but it would certainly not be worth the learning curve if I wasn't already familiar with it, and I'm sure there are better choices if I was willing to learn a new CPU. The cost of the CPU and support components is in any case probably largely swamped by the PCB, assembly and LCD costs.

Dave

Edited 1 time(s). Last edit at 10/08/2014 08:17AM by dmould.
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 08:05AM
Ah Yes like the best my favourite programming language smiling smiley

I say forget Arduino .. go ARM.. For me coming from a BBC Model B as my first PC, it was like coming home spinning smiley sticking its tongue out

Coming soon...

regards
Andy


Ormerod #318
www.zoomworks.org - Free and Open Source Stuff smiling smiley
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 08:17AM
Quote
dmould
[...]
The choice of CPU is predicated to a large extent on what architecture/programming tools you are familiar with and not only the capabilities of the CPU. I'd probably go for a Cypress CY7C67300 - perhaps with external Flash and/or static RAM as a solution for this application, but it would certainly not be worth the learning curve if I wasn't already familiar with it, and I'm sure there are better choices if I was willing to learn a new CPU. The cost of the CPU and support components is in any case probably largely swamped by the PCB, assembly and LCD costs.

Dave
Just to add that if once you learn one ARM mcu architecture then you are well on the way to learning a large number and not limited to 1 manufacturer or ic series. EDIT and TBH Arduino just doesnt scale. All projects seem to end up ditching the standard IDE. You may as well learn standard C or C++ and have done with it! Then if you use GCC porting from one mcu to another or on PC os to another is simple!

regards
Andy

Edited 1 time(s). Last edit at 10/08/2014 08:19AM by kwikius.


Ormerod #318
www.zoomworks.org - Free and Open Source Stuff smiling smiley
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 08:40AM
My 2c would be to go for a simple screen and encoder or similar to preheat, change filaments, make simple adjustments, start and stop prints from SD and similar. You can add a ethernet to wifi bridge to the duet for <30 (or free if you have an old wifi router). That allows you to use any laptop/tablet/smartphone for more complex operations.

The web interface could be optimised for smaller screens but its already usable.

Tony


DuetWifi.: advanced 3d printing electronics
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 08:54AM
Quote
kwikius
Quote
dmould
[...]
The choice of CPU is predicated to a large extent on what architecture/programming tools you are familiar with and not only the capabilities of the CPU. I'd probably go for a Cypress CY7C67300 - perhaps with external Flash and/or static RAM as a solution for this application, but it would certainly not be worth the learning curve if I wasn't already familiar with it, and I'm sure there are better choices if I was willing to learn a new CPU. The cost of the CPU and support components is in any case probably largely swamped by the PCB, assembly and LCD costs.

Dave
Just to add that if once you learn one ARM mcu architecture then you are well on the way to learning a large number and not limited to 1 manufacturer or ic series.

regards
Andy

Similar could be said of MIPS, PIC or 8080 architecture (though the latter has become mutated beyond reason!).

Which is true as far as the main body of the firmware is concerned, but every ARM based SOC seems to have a different method for uploading the initial code, setting up its clocks, initialising external DRAM and driving its on-chip devices, so there are still significant things to learn. Many ARM chips have an on-chip Ethernet MAC for example, but rarely are they driven in the same way. USB is better, with many chips adopting the OpenOCI standards (though even there some require addresses to be physical whilst others use virtual, some allow tables in external memory whilst others must have tables in internal RAM). I love the ARM instruction set, it is so elegant and versatile, especially the way that almost every instruction can be given conditionals and shifts, and the programmer can decide whether an operation sets the condition flags or not. Also the way that any register (except the PC) can be used as a stack pointer is also really great, allowing you to set up multiple concurrent stacks with ease. My only small gripe is that there is no easy way to save the condition code register, which makes multi-word arithmetic loops more complex than they need be, and the way that a subtract operation uses the carry flag the wrong way about (i.e. 3-1 sets the carry, 1-3 clears it).

Dave
Re: Anyone interested in an LCD control panel for the Ormerod?
October 08, 2014 09:42AM
Quote
dmould
Have you considered the possibility of using an incremental (up/down) rotary switch (e.g. [uk.rs-online.com]) instead of an encoded switch, which needs only 3 wires (or 4 with push-to-select) and so could be mounted direct on the case with wires to the controller?

I have indeed designed the board to use an incremental rotary encoder with push button. I intend to mount the encoder on the PCB so that it is economical to assemble in small batches.

The reason for using an atmega series processor was so that the firmware can be easily uploaded and/or modified by users with limited technical knowledge and no special programing equipment, using the Arduino IDE.

I think the atmega32u4 will be adequate for what I have in mind, which is to provided most of the functionality that is currently available in my fork of the web interface, plus a collection of user-definable macros (and I will probably make the user definable macros available from the web interface too).



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Sorry, only registered users may post in this forum.

Click here to login