1 (edited by Rincewind 2013-07-13 18:19:45)

Topic: Full-fledged LCD touchscreen

I have been looking into the possibilities of stand-alone printing with the SD, and there are a bunch of possibilities out there:

1) The Panelolu - monochromatic LCD screen with a rotary encoder - around 50$
2) The ViKi LCD - a sleekier version of the above - around 75$
3) The touch TFT LCD - a nicer interface, color 3.2" display - around 80$
4) Other variants...

They all require an SD card for printing and need to be physically attached to a pc to load the GCode. The Panelolu also does not allow a GCode-controlled fan to be used in parallel.

All these solutions seemed to offer too little for the considerable expense and installation efforts (soldering, assembly, firmware modding...)

So I recently bought a Pengpod 700, an ARM tablet that runs a full linux distribution (and Android if you want it).

For around 110$, you get a full computer with Linux, a 7" capacitive touchscreen, internal storage, wifi, USB connection etc. So I turned it into a standalone interface for my SD2:

http://img718.imageshack.us/img718/4817/p3160033.jpg

I enabled a shared folder on the tablet where I put the gcode that I slice on another computer, and modified pronterface to run nicely with a 7" LCD touchscreen:

http://img683.imageshack.us/img683/205/pronterface700.png

The modified Pronterface can run in fullscreen, has the buttons a bit shuffled around and made bigger in order to be used with a touch, and has a small on-screen keyboard for manual GCode insertion. In principle it could also slice, but I don't do it because it would be slow and inconvenient. This version of Pronterface can be downloaded from here: https://github.com/fsantini/Printrun-pengpod700

To mount the tablet on the printer, I created these holders: http://www.thingiverse.com/thing:69593 that have magnets in the back so they can stand on the casing of the SD2 expert model (mounting tape can also be used in place of magnets, for different casings).

So, in summary, I now have a fully-functional touchscreen pronterface installation that can drive the Solidoodle, for a total cost of 110$. No assembly, soldering, firmware modding required. Just a little bit of fiddling with Linux (if required, I can post a step-by-step guide, or prepare an ad-hoc linux image).

If you would like more in-depth information, feel free to ask.

Notes:

- I had some problems with motors skipping steps in the beginning, and as mentioned in another thread, this was due to USB voltages. Cut the 5V line from USB on the sanguinololu board or just regulate the trimpots with the tablet attached to
solve the problem.
- Update: I added pause support like in RepetierHost! It is important that the build dimensions are set to 159x150x150+0+0+0+159+150+0 (for the SD2). Anywhere in the gcode you can use

;@pause

to insert a pause (notice the semi-colon before the @!)


Future developments:

- I am constantly refining the pronterface GUI to make it more usable and in general improve the experience. Suggestions are welcome!

Update: An SD card image for the PengPod700 is directly downloadable from my website: http://www.francescosantini.com/index.php?page=threed The provider does not give me much bandwidth, so please be patient. I will also look for a faster mirror.

2

Re: Full-fledged LCD touchscreen

Outstanding work.

I'm guessing the tablet connects to the printer via usb. Can you send the gcode files wirelessly to the tablet from another computer?

Also, have you tried the linux version of Repetier-Host?

3

Re: Full-fledged LCD touchscreen

lawsy wrote:

Outstanding work.

Thanks!

I'm guessing the tablet connects to the printer via usb. Can you send the gcode files wirelessly to the tablet from another computer?

Yes, that's exactly what I do. I have a SAMBA (=windows) share on the tablet and I save the GCode there from whatever computer I use to slice. I'm also investigating (=sitting around hoping to have an idea) more automated ways of doing so.

Also, have you tried the linux version of Repetier-Host?

Putting repetier-host on it was my original idea, but unfortunately

1) it doesn't work at the moment on that specific ARM architecture (due to problems with the mono framework implementation). But this is in principle solvable.
2) the screen is way too small and the UI is too awkward to use (have you tried resizing your Repetier-Host window to 800x480? I suggest you try smile )

I also tried ReplicatorG, but without success (again for UI problems).

I also wanted to be able to do the composing and initiate the slicing from the tablet (and then actually run the slicer on a more powerful server via SSH) but I haven't found a practical way of doing so (the composing, the remote slicing was easy).

4

Re: Full-fledged LCD touchscreen

Ultimately though, you could use it like a server and have multiple computers dumping gcode into the share and then an operator starting the jobs.

Looking forward to seeing where this goes.

5

Re: Full-fledged LCD touchscreen

Great work as usual.  I can't wait to test!!!

6

Re: Full-fledged LCD touchscreen

Wow! Nice!

7

Re: Full-fledged LCD touchscreen

Very nice indeed sir.

I use a cheap netbook similarly at times.  Those can be had used on craigslist for under $100.

8

Re: Full-fledged LCD touchscreen

I think I'm totally sold on this. Lately with the Panelolu I'm having hardware issues where the encoder seems to be triggering from vibrations and changing the print speed mid print. If I bought a tablet like this I could ditch it and free up pins for a proper gcode fan.

I haven't done much Linux, so I'm confused by the install instructions on your readme. Do I need to compile your version or can I install from the command line with an apt-get?

9

Re: Full-fledged LCD touchscreen

lawsy wrote:

I haven't done much Linux, so I'm confused by the install instructions on your readme. Do I need to compile your version or can I install from the command line with an apt-get?

You should use apt-get to install python and the dependencies. Then Pronterface doesn't need installation or compilation, you just download it from github and run the pronterface.py file.

10

Re: Full-fledged LCD touchscreen

Awesome, thanks. I will get things underway and report back when I'm up and running.

11

Re: Full-fledged LCD touchscreen

Nice job Rincewind, just read about you and this on another website.

12 (edited by lawsy 2013-04-08 22:46:52)

Re: Full-fledged LCD touchscreen

Ordered mine last night and already have a shipping consignment number.

The thing I really hate about Pronterface is the interface which I find very ugly.

I've tested Rincewind's version on my touchscreen PC and it works great. I'll be working on a skin at some stage to make it really pretty.

13

Re: Full-fledged LCD touchscreen

lawsy wrote:

Ordered mine last night and already have a shipping consignment number.

The thing I really hate about Pronterface is the interface which I find very ugly.

I've tested Rincewind's version on my touchscreen PC and it works great. I'll be working on a skin at some stage to make it really pretty.

Great to hear that! I have to warn you that Pronterface is pretty ugly also in the code, especially the UI frontend. There is no separation between functionality and visualization, and the layout is a mixture of hardcoded sizes and self-organizing layouts. Let me know if you need/want any help!

BTW as you can see in the edit to the original post, I added "RepetierHost-like" pause support (which Kliment also merged upstream into the experimental branch of printrun). Make sure you get the latest version, I think it's worth it!

14

Re: Full-fledged LCD touchscreen

I am currently using an RPi to control my BukoBot, and was planning to hookup my VikiLCD to it, but having seen this, it looks like it adds things like a graphical temperature display and provides a nice small package for all of the electronics, so I'm thinking of going this way instead.  I also want to be able to drop gcode (or stl) to an NFS share and then control everything from a console on the printer

A few questions:
1) The OS: Do you boot Linux from the internal flash or via SD?  How quickly does it boot?  Does suspend work?

2) Have you considered setting up slicing to run on another machine but controlled from your PengPod?  My workhorse machine also runs Linux so it seems like it should be easy enough to run Slic3r remotely.

3) How big of an object have you printed (in size of GCode)?  I assume 1GB is enough RAM to be able to run most objects, but I ran into issues on my RPi (albeit with only 256MB though it isn't running X).  I currently have to use pronsole to do all my printing, which is functional but not elegant.

15

Re: Full-fledged LCD touchscreen

PhracturedBlue wrote:

I am currently using an RPi to control my BukoBot, and was planning to hookup my VikiLCD to it, but having seen this, it looks like it adds things like a graphical temperature display and provides a nice small package for all of the electronics, so I'm thinking of going this way instead.  I also want to be able to drop gcode (or stl) to an NFS share and then control everything from a console on the printer

Great! More users are good news!

A few questions:
1) The OS: Do you boot Linux from the internal flash or via SD?  How quickly does it boot?  Does suspend work?

I boot from the internal flash, but I also tried the SD. The internal flash is a bit faster, maybe 20 vs 30 secs to boot (I didn't measure, it's just an impression). I haven't tested the suspend functionality to be honest, I don't know whether it will work. In any case, changing from android to linux installation and vice versa is a matter of minutes (I wouldn't even bother spending the extra $5 to have linux preinstalled to be honest).

2) Have you considered setting up slicing to run on another machine but controlled from your PengPod?  My workhorse machine also runs Linux so it seems like it should be easy enough to run Slic3r remotely.

Yes, I considered it (and also implemented it for a slightly different situation): http://www.soliforum.com/topic/1311/sli … ost-linux/

The problem for me is the composing: I rarely have models that can be "just sliced" without any repositioning or modifications.

I think it would be great to have a small interface like in RepetierHost, where you can choose some presets and slice with those. But I also fear it would be useful only to few people, as you can only slice remotely and you need to have ssh access to another linux machine.

3) How big of an object have you printed (in size of GCode)?  I assume 1GB is enough RAM to be able to run most objects, but I ran into issues on my RPi (albeit with only 256MB though it isn't running X).  I currently have to use pronsole to do all my printing, which is functional but not elegant.

This is a good point. I haven't tried any big print yet, maybe one hour maximum. It took me some time to fix the motor skipping problems I initially had. I'll let you know.

16

Re: Full-fledged LCD touchscreen

Rincewind wrote:

2) Have you considered setting up slicing to run on another machine but controlled from your PengPod?  My workhorse machine also runs Linux so it seems like it should be easy enough to run Slic3r remotely.

Yes, I considered it (and also implemented it for a slightly different situation): ...

The problem for me is the composing: I rarely have models that can be "just sliced" without any repositioning or modifications.

I think it would be great to have a small interface like in RepetierHost, where you can choose some presets and slice with those. But I also fear it would be useful only to few people, as you can only slice remotely and you need to have ssh access to another linux machine.

I was thinking to use x-forwarding through ssh (or just a remote display)  then I could have the Slic3r interface pop up in a window on the PengPod.

Nonetheless, you convinced me.  I'll pick one up and see how it goes.

17

Re: Full-fledged LCD touchscreen

Kind of cool, this was on the front page of Slashdot a few days ago smile

http://slashdot.org/submission/2585925/ … nux-tablet

18

Re: Full-fledged LCD touchscreen

I got my pengpod, flashed Linux, recompiled my firmware for 115200, set up nfs, and now have your Pronterface code running on my Bukobot.  I'll need to play with slicing over SSH, but so far everything is working well.

A few notes.  Hopefully issues will be addressed in future pengpod releases:
* flash installer didn't work until I added 'pengpod700' to /root/desc.txt.  That should probably have been there already seeing as how I was working with a 700 flash image

* the touch screen only works properly if I startup in normal orientation.  I want my pengpod to run upside-down so I can put the usb port on the left.  I can set it up that way, but the touch-screen doesn't work properly if I do that (it works fine if I switch after booting and then switching the orientation)

19

Re: Full-fledged LCD touchscreen

Mine is due in tomorrow.

Thanks for the reminder about the different baud rate.

Do I need any special cables or anything? I didn't think so from the first post.

20

Re: Full-fledged LCD touchscreen

nope.  If you got it with Android installed, you'll need a micro-sd card with >2GB though (even if you plan to install to internal flash).  You don't need it if you got one with Linux installed

21

Re: Full-fledged LCD touchscreen

Ok! It arrived a day early and I'm posting this from the Pengpod.

Got Linux installed, about to install Python library.

22

Re: Full-fledged LCD touchscreen

Update: Python installed and pronterface running.

Connects and controls the printer on the default 250,000 baud which was a pleasant surprise.

What I'm hopelessly stuck on now is setting up samba. Been searching and reading for hours and it seems millions around the world struggle in the same way.  I have installed the required packages and even some GUI packages to set everything up but I can't get anything to show up in windows.

I'm after one folder I can place g-code into from my win7 laptop, and access to the linux folder where my pronterface files are stored so I can update the program to my liking (but this isn't a biggie).

Any pointers you guys can give would be very well appreciated.

23

Re: Full-fledged LCD touchscreen

lawsy wrote:

Update: Python installed and pronterface running.

Connects and controls the printer on the default 250,000 baud which was a pleasant surprise.

Great! Congratulations so far!

One note for all: if you are using my git repository, make sure that the build dimensions in the properties window are set to the following:

159x150x150+0+0+0+159+150+0

where the last three numbers are the locations of the home switches (change the actual values if you are on a SD3). It is critical for the pause/resume feature to work. I know I said it already but it's important so I wanted to reiterate.

What I'm hopelessly stuck on now is setting up samba. Been searching and reading for hours and it seems millions around the world struggle in the same way.  I have installed the required packages and even some GUI packages to set everything up but I can't get anything to show up in windows.

Maybe here I can help. Step-by-step guide:

1) Install samba

sudo apt-get install samba

2) Create a folder with rw access to all

mkdir /home/linaro/gcode
chmod a+rwx /home/linaro/gcode

3) Edit the samba configuration file

sudo nano /etc/samba/smb.conf

4) Add the following in the end of the smb.conf file:

[gcode]
    path = /home/linaro/gcode
    guest ok = yes
    browseable = yes
    read only = no

5) restart samba

sudo /etc/init.d/smbd restart

6) From windows, if your share doesnt show up automatically, point your windows explorer to:

\\pengpod.ip.address\gcode

I suggest saving the above URL as a shortcut on the desktop or something.

Windows will also find the gcode share if simply pointed to the ip address. I think after "noticing" it once, windows should find it always.

24

Re: Full-fledged LCD touchscreen

PhracturedBlue wrote:

* the touch screen only works properly if I startup in normal orientation.  I want my pengpod to run upside-down so I can put the usb port on the left.  I can set it up that way, but the touch-screen doesn't work properly if I do that (it works fine if I switch after booting and then switching the orientation)

That's interesting, thanks for the feedback. I'll also look into it, otherwise we can write to the pengpod forums. Probably it's just some xinput parameter to be changed.

25

Re: Full-fledged LCD touchscreen

Alright, I've been through your steps and still no success.

I had most of that done before, but re-did it to be sure.

In the final step, typing in the ip address gives an error in win7 after several seconds.

I've set up the wireless router to always assign the pengpad to a specific ip address and this is verified with ifconfig.

I'm thinking I altered something I shouldn't have in smb.conf when I first started editing that file. Looking into resetting that now.