Heute habe ich ein absolut spannendes Thema für euch. Wir bauen uns einen Touchscreen PC mit einem Raspberry Pi. Das gesamte Projekt kostet am Ende ~100€ und bietet viele Möglichkeiten. Sicher, es gibt inzwischen Tablets, mit denen man genau das Selbe tun kann, was wir hier tun werden, aber wenn man sich einfach immer nur alles kauft, wo bleibt denn da der Spaß :-)…

Ich teile dieses Tutorial mal in mehrere Schritte. Teil 1 beschäftigt sich mit der reinen Technik. Das heisst, ich stelle euch die Teile vor und dann wie man sie verbindet und lauffähig bekommt. Der zweite Teil wird sich dann mit dem Gehäuse und ein paar Extras beschäftigen, die wir dann verbauen werden. Wir werden das komplette Gehäuse selbst bauen. Im dritten Teil beschäftigen wir uns dann mit verschiedenen Anwendungsszenarien.

Also was brauchen wir für den ersten Teil?

  • Raspberry Pi – ~40€
  • Touchscreen – ~ 60€
  • HDMI Kabel ~1€
  • USB Tastatur ~3€
  • USB Hub ~3€
  • optional WLAN USB Stick – ~5€

Beim Raspberry Pi hab ich das B-Modell mit 512 MB und einem aktuellen Raspbian Wheezy Image. Als Touchscreen verwende ich einen 7″ AT070TN92 Touch Screen aus China, den ich mir bei Ebay bestellt habe. Im Nachhinein, würde ich einen mit einer höheren Auflösung nehmen. Also überlegt euch das. Die paar Euros, machen euch später einfach mehr Spaß, zumal der Pi ja auch Full HD Videos abspielen kann.

Die Komponenten:

Wir beginnen alle Komponenten miteinander zu verbinden. Das ist ziemlich einfach und sollte keinen von euch vor große Probleme stellen. Sollte kein Bild kommen oder irgendwas komisch sein, dann prüft bitte immer die dünnen Kabel, ob die korrekt in den Buchsen stecken. Die lösen sich doch ziemlich leicht und man sollte sie immer überprüfen. Ansonsten ist noch wichtig, dass ihr dem Screen zuerst Strom gebt und danach erst den Raspberry startet, ansonsten erkennt der Raspberry nicht, dass am HDMI Ausgang nen Monitor dran ist. Damit hier bei der Verkabelung aber nix schiefgeht, hab ich auch hier nochmal nen paar Fotos gemacht :-).

Wenn ihr den Raspberry Pi jetzt hochfahrt, dann sollte der Bootscreen und später der Desktop des Raspbian OS zu sehen sein. Der Touchscreen funktioniert noch nicht und an den Rändern habt ihr schwarze Streifen. Das ist normal und als erstes kümmern wir uns darum, dass der Bildschirm das komplette Display ausfüllt. Dazu müssen wir das Bild korrekt ausrichten mit Hilfe von Overscan über die /boot/config.txt.

sudo vi /boot/config.txt

Sucht die folgenden Zeilen und ersetzt sie mit den angegeben Werten:

overscan_left=-40
overscan_right=-40
overscan_top=-60
overscan_bottom=-60

Danach rebooten wir den Raspberry Pi mit sudo reboot

Nun sollte der komplette Bildschirm ausgefüllt sein.

Als nächstes wollen wir den Touch Screen aktivieren. Leider ist das nicht mit Boardmitteln möglich. Wir benötigen dafür einen neuen Kernel. An alle, die jetzt denken, dass das saumäßig schwierig und mit vielen Kommandozeilenaufrufen zusammenhängt, für die möchte ich sagen: „Es ist easy.“ Ladet einfach den fertigen Kernel hier runter:

http://code.google.com/p/andrei-development/downloads/detail?name=kernel_3_6_11_eGalax_feb_2013.tar.gz

Falls die Datei nicht mehr zugänglich sein sollte, habe ich sie auch nochmal bei mir abgelegt:
http://robosphere.de.www59.your-server.de/wp-content/uploads/2013/04/kernel_3_6_11_eGalax_feb_2013.tar.gz

Entpackt die Datei und kopiert den Inhalt auf die SD Karte in einen beliebigen Ordner (z.B.: /home/pi). Nun kopiert die Datei „/boot/kernel.img“ auf die SD Karte and ersetzt die Ordner /lib/firmware and /lib/modules/ mit den heruntergeladenen.

Danach reboot den Pi und der Touchscreen läuft! Leider falsch herum kalibriert, aber er läuft :-). Was also tun? Kalibrierungssoftware runterladen!

Dazu benötigen wir ein paar Abhängigkeiten:

sudo apt-get install libx11-dev libxext-dev libxi-dev x11proto-input-dev gcc g++ make

Danach laden wir den Kalibrator herunter:

cd ~
wget http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-0.7.5.tar.gz
tar -xf xinput_calibrator-0.7.5.tar.gz
cd xinput_calibrator-0.7.5
./configure
sudo make
sudo make install

Damit ist die Kalibrierungssoftware installiert und wir können sie starten:

xinput_calibrator

Nachdem ihr alles so gemacht habt, wie es euch gesagt wurde, ist der Screen kalibriert. Leider wird die Konfiguration bei jedem Neustart wieder zurückgesetzt. Aus diesem Grund müssen wir sie noch persistieren. Dies tun wir indem wir eine Konfigurationsdatei anlegen, mit den Werten, die die Kalibrierungssoftware ausgegeben hat.

sudo vi /usr/share/X11/xorg.conf.d/01-input.conf

Inhalt sollte sein:

Section "InputClass"
Identifier "calibration"
MatchProduct "eGalax Inc. USB TouchController"
Option "Calibration" "1977 65 1860 162"
EndSection

Führt nochmal einen Neustart aus und alles sollte funktionieren.

Damit habt ihr euren Touchscreen aktiviert und konfiguriert.

58 Responses to “Bau dir deinen eigenen Touchscreen PC für 100€ – Teil 1”

  1. Exayte sagt:

    Super geile Idee!
    Ich werds vielleicht nachmachen.
    Danke 😀

  2. Karl-Heinz sagt:

    Super Anleitung, hat auf anhieb funktioniert.
    Vielen Dank

  3. Karl-Heinz sagt:

    Alles hat leider nicht funktioniert.
    Die Einstellungen werden nicht persistiert.
    Ich habe es wie in deiner anleitung gemacht und wie es in der Dialogbox des xinput_configurator Stand
    (/usr/share/X11/xorg.conf.d/99-calibration.conf)

  4. Roboman sagt:

    schreibe die konfiguration bitte in die folgende Datei:
    /usr/share/X11/xorg.conf.d/01-input.conf

    Dann sollte es sofort klappen.

    Gruß,
    Roland

  5. […] er aber im ersten Anlauf nicht. Daraufhin habe ich die Kernel Patches einspielen, wie in meinem vorherigen Beitrag und der Touchscreen unter XBian […]

  6. Karl-Heinz sagt:

    jetzt funktioniert es mit deinem Pfad, warum auch immer.
    Viele dank

  7. Exayte sagt:

    Hab da noch ne frage,
    Waren diese Controller bei dem Display dabei oder muss ich die mir zusaätzlich besorgen?

  8. Roboman sagt:

    war alles dabei

  9. Dominik sagt:

    Hey,

    super projekt!

    Was mich noch interessieren würde, wie ist die Bedienung vom Pi auf dem Touchscreen so?
    Funktioniert es alles einwandfrei? oder is es eher ein gefrickle bis du überhaupt was drücken kannst? 😀

    lg domi

  10. Simon sagt:

    Wo gibt es sowas (Display + Zub.) noch als Set, finde leider bei eBay nix mehr 🙁
    Oder vll sogar in etwa 9″

  11. Daniel sagt:

    Hi.

    Funktioniert der Touchscreen auch mit Android?

  12. Roboman sagt:

    @dominik: die bedienung ist relativ in ordnung. es ist halt problematisch, wenn man die linke und rechte maustaste braucht oder komplexere Anwendungen bedienen möchte. für das xbian ist es in ordnung. doppelklick sollte man schon sagen, gestaltet sich etwas schwieriger, da man relativ genau klicken muss.

    @simon: http://www.ebay.de/itm/HDMI-VGA-2AV-Driver-board-7inch-800-480-AT070TN92-V-5-Lcd-with-touch-panel-/170937641798?_trksid=p5197.m1992&_trkparms=aid%3D111000%26algo%3DREC.CURRENT%26ao%3D1%26asc%3D14%26meid%3D6931662956358513156%26pid%3D100015%26prg%3D1006%26rk%3D1%26sd%3D170937641798%26

    @daniel: ich habe es mit android noch nicht probiert. kann da also nix zu sagen soweit.

    hat aber echt spaß gemacht das projekt :-).

  13. Stefan sagt:

    Vielen Dank für den tollen Beitrag!

    Als Raspberry-PI-Einsteiger möchte ich gerne dieses System testen (komme vom Linux). Die von Dir angegebene Auktion ist leider nicht mehr verfügbar, allerdings bietet der Shop eine Menge Displays. Ist da etwas dabei, was funktionieren würde?

    http://stores.ebay.de/chinatobby

    Optimal wäre für meine Anwendung ein 5″ Display.

    Was denkst Du?

    Vielen Dank,
    Stefan.-

  14. Mateusz sagt:

    Hej,
    ich versuch seit paar Stunden die modules und die firmware Ordner „auszutauschen“ jedoch lässt er dies aus. Versuche die Zugriffsrechte zu ändern… habe da aber anscheinend meine Probleme… kannst du mir da vielleicht weiterhelfen was ich da übersehen habe?

    LG Mateusz

  15. Christian sagt:

    Ist es dir möglich den gesammt Stromverbrauch des Systems inkl. Bildschirm zu ermitteln?

    Ich würde den für die Akkuermittlung benötigen.
    Besten Dank
    Christian

  16. natan sagt:

    Hey hab mir auch nen raspberry gekauft auch mit 7″ touchdisplay, leider weiß ich nur nicht was ich genau installieren muss und wie das ganze funktioniert..ich hab NOobs runtergeladen weiß aber nicht welcxhes von diesen vielen programmen ich installieren muss….
    hättest du vlcht ein teamspeak oder skype`? es ist bei mir etwas komplizierter.. =/

  17. natan sagt:

    außerdem kann ich garnicht die zahlen vom display verändern… ich seh nur sowas unter den zahlen: _

    und wenn ich dann zb 4 drücke ändert sich nichts er geht lediglich ne stelle zurück und 16 steht noch immer da.. bin am verzweifeln

  18. natan sagt:

    finde das tut nich sonderlich gut… wo soll man denn am desktop den comand eingeben? außerdem wie soll man abspeichern.. kleinigkeiten die fehelen und mich persönlich nicht wirklich weiterbringen…. außerdem sind die ganzen ordner nicht vorhanden auf der SD card… benutze windows 8! Bitte genauer erklären!

  19. XBugB sagt:

    Tausend Dank!!!

    Habe schon Stunden verbracht meinen eGalax touchscreen
    zum laufen zu bringen.
    Habe nicht exakt das Modell wie du.
    Dachte mir probieren kannst es ja mal, und siehe da es klappte.

    Gruß XBugB

  20. agrajag sagt:

    Hi! Ich finde den Artikel sehr interessant und werde mir den Spass auch mal gönnen 😉
    Ich würde allerdings gerne einen etwas größeren Touchscreen gönnen und meine Frage wäre daher ob dieser hier auch für sowas geeignet ist:
    http://www.ebay.de/itm/VGA-AV-tft-Driver-board-8inch-tft-AT080TN52-touch-panel-touch-screen-controller-/170834570007?pt=LH_DefaultDomain_0&hash=item27c688ab17

    Vielen Dank 🙂

  21. Shiggy sagt:

    Hi,
    habe leider dabei ein Problem das funktionier einwandfrei solange ich einen 7″ Display benutze aber mit einem 8″ verdoppelt er am unterem Rand die Ausgabe… Was kann ich da machen? mit overscan_* funktioniert das leider nicht.

    beste Grüße aus dem Norden

  22. frank sagt:

    Hallo,
    ein klasse Projekt!

    Hat das jemand schon mal mit raspbmc oder openelec probiert ? Aber im Grunde müsste das ja genauso gehen (mit Kerneltausch und so) ?

    Gruß, Frank 🙂

  23. sedbby sagt:

    hallo,

    danke für die tipps zum touchscreen einstellen. hat alles gut geklappt 🙂

  24. Mick Mac sagt:

    Wasalready on it but hadnt sorted the touchscreen super thanx

  25. Michael sagt:

    Habe alles nach dieser echt guten Anleitung gemacht, und das Touch funktioniert auch super. Vielen Dank dafür, hätte das Touch nicht ohne diese Anleitung zum laufen gebracht. Allerdings habe ich seit dem das Problem, dass mein Pi keine statische Adresse mehr annimmt, und das der Shutdown -h now Befehl zum reboot führt.
    Habe als Basis das Wheezy vom 2013-09-25, und habe dort die Kernel dateien überspielt. Kann das der Grund für meine Probleme mit dem Shutdown und der IP-Adresse sein ?
    Gruß Michael

  26. Tobi sagt:

    Hallo!
    Vorab vielen Dank für die Anleitung! Jedoch ist mir dieser Teil etwas schleierhaft:

    „Entpackt die Datei und kopiert den Inhalt auf die SD Karte in einen beliebigen Ordner (z.B.: /home/pi). Nun kopiert die Datei “/boot/kernel.img” auf die SD Karte and ersetzt die Ordner /lib/firmware and /lib/modules/ mit den heruntergeladenen.“

    – *.tar.gz. entpackt
    – dadurch Ordner „kernel_3_6_11_eGalax_feb_2013“ in /home/pi
    – und dann …? die neue kernel.img mit der vorhandenen im boot verzeichnis überschreiben?

    Grüße,

    Tobi

  27. Roboman sagt:

    Hey Leute,

    sorry, aber ich war ne weile nicht im Lande und habe deshalb nicht geschafft eure Kommentare zu beantworten. Vielen Dank für das Lob und eure Kritik.

    Ich weiss ja garnicht wo ich anfangen soll mit Fragen beantworten.

    @stefan und agrajag bzgl. Displays: Grundsätzlich sollten die eGalax Displays alle mit dieser Anleitung funktionieren. Der Link auf die Ebay Seite von Chinatobby bringt euch zu den displays.

    @frank: ich hatte auch raspbmc und openelec getestet damals, aber xbmc hat mir am besten gefallen, zumal die kernel updates nicht zum erfolg geführt haben bei den beiden distros.

    @Mateusz: du musst das als root auf dem pi machen, also schön immer mit sudo.

    @michael: du kannst ja mal deine /etc/network/interfaces posten. vielleicht können wir dir helfen.

    @tobi: hat ja inzwischen geklappt wie heute besprochen ;-).

  28. Tobi sagt:

    Und schon das nächste Problem. Das Kalibieren klappt nicht, wenn ich das Programm starten will, erscheint:

    Unable to connect to X server

  29. Roboman sagt:

    du hast aber den PI auch mit grafischer Oberfläche hochgefahren?

  30. Tobi sagt:

    Komme nun in das Kalibrierungstool, aber es lässt sich nicht Kalibrieren…städnig Misclick beim 2. Punkt. Schon mit einigen Sachen probiert und zu dicke Finger habe ich auch nicht 🙂

  31. Cetax sagt:

    Hallo,
    erstmal ein riesen Lob !! Tolle Anleitung.

    Nun zu meinem Problem. Es hat alles funktioniert, nur das speichern der .conf Datei klappt nicht.

    Nach jedem Neustart muss ich Neu kalibrieren…
    Gespeichert habe ich es als sudo in „/usr/share/X11/xorg.conf.d/01-input.conf“

    Muss ich noch irgendwelche Patche einfügen ?

    Vielen Dank für deine Hilfe.

    Gruß
    Stefan

    • Roboman sagt:

      hey Cetax,

      sag mal, sieht die datei nach dem neustart noch so aus, wie du sie geschrieben hast oder ist da anderer inhalt drin?

      Gruß,
      Roland

  32. Chris sagt:

    Hi, kurze Frage ich möchte das ganze nachbauen. PI hab ich bereits im Einsatz daher ist die Anleitung auf ok und verständlich. Meine Frage ist, kann ich den Touchscreen auch per Finger steuern? Reagiert dieser gut drauf? Oder nutzt du einen Stift?

    • Roboman sagt:

      hey chris, der touchscreen reagiert gut auf finger. ich wollte immer schon einen Stift ausprobieren, hatte aber bisher keinen parat. Klappt eigentlich ziemlich gut (bis auf doppelklick, der ist manchmal etwas schwerer)

  33. Kay sagt:

    Ich habe die Anleitung mal befolgt und es mit einem iiyama ProLite 17″ ans laufen bekommen. Musste dazu lediglich das kernel.img ersetzen sowie /lib/firmware und /lib/modules kopieren. Danach lief der Touchscreen ohne jegliche Kalibrierung bestens.

    Ich würde jetzt allerdings gerne einen eigenen optimierten Kernel einsetzen, den ich bei bedarf aktualiseren kann.
    Kannst mir ggf. mitteilen welche module/firmware ich für den eGalax Touchscreen brauche?

    lg,
    Kay

  34. Da Sepp sagt:

    Hey,
    Ich habe leider das gleiche Problem wie Chris.
    Bei mir bleibt der Inhalt der Datei nach dem Neustart erhalten, aber der Touch ist nicht mehr Kalibriert…

    Anbei deine Anleitung ist echt super =)

  35. Christian sagt:

    Hallo,

    bei mir läufts nicht. Ich hab jetzt mitlerweile alles mögliche ausprobiert. Entweder funktioniert meine Maus und Tastatur nicht mehr oder alles ist beim Alten, nur dass der Touch nicht läuft. Probiert habe ich es mit PiBang und Rasbian bei beiden ohne Erfolg. Ich muss dazu sagen ich bin grober Anfänger auf dem Gebiet Linux.

    Wenn möglich bitte ich um Hilfestellung.

  36. Mcc sagt:

    Woher bekommt der Monitor seinen Strom? Über USB?

    Wäre gut das zu wissen. Danke

  37. Mcc sagt:

    Danke Roland,

    habe jetzt so ein Teil. Funktioniert bisher auch alles ganz toll. nur bei „xinput_calibrator“ bekomme ich folgende Fehlermeldung „Unable to connect to X server“. Leider habe ich keine Ahnung von Linux. Kann mir jemand sagen, was ich tun muss?

    Viele Grüße

  38. Heuli sagt:

    Hi eine gute seite. leider Graue Shrift auf Schwartzen Hintergrund ist schwer zu lesen

  39. Tobi sagt:

    Hi,

    irgendwie bekomme ich den Touchscreen nicht richtig kalibriert. der Mauszeiger ist immer in einer 90° Rotation hinter meinem Fingerdruck. Drücke ich also links oben, ist der Mauszeiger rechts oben, Druck links unten, Maus links oben usw…

    Hat da jemand eine Idee?

    Grüße,

    Tobi

  40. Tobi sagt:

    Nach längerem hin und her funktioniert es, für alle, die ähnliche Probleme haben, hier meine Konfigurationsdatei:

    Section „InputClass“
    Identifier „calibration“
    MatchProduct „eGalax Inc. USB TouchController“
    Option „Calibration“ „1973 65 1856 156“
    Option „InvertX“ „off“
    Option „InvertY“ „on“
    Option „SwapAxes“ „1“
    EndSection

    Grüße,

    Tobi

  41. […] war das Display angeschlossen und lief. Jetzt fehlte nur noch der Touch-Part. In diesem Artikel fand ich die Hinweise und den vorkompilierten neuen Kernel um den Touchscreen zum laufen zu […]

  42. Bastian sagt:

    Anleitung befolgt, Datein für den Touch screen aus dem Kernal Package kopiert und die alten ersetzt.
    Nach dem reboot war das System dann nicht mehr zu gebrauchen… 🙁
    Einfach weil ich schon nicht mehr ran kommen, Tastatur und Maus werden nicht mehr erkannt und der Touchscreen schickt auch nur Touch Commandos von seiner Controller Platine los, die im Nimbus versinken…
    Hatte ein paar Post weiter oben von einem ähnliches Problem gelesen, aber kam leider keine Antwort drauf.

    Bitte um eine kurze Antwort, danke

  43. Ich habe ein Problem mit dem Custom Kernel, sobald ich den Kernel installiere kann in den RasPi nicht mehr herrunterfahren. Sobald ich ihn runterfahre egal über welchen Befehl, startet er automatisch neu.

    Hast du das Problem auch? Hast du ne Lösung dafür? Ich hatte gerade über rpi-update den Original Kernel wieder eingespielt, da hat der shutdown funktioniert, als ich den Kernel nach deiner Anleitung wieder eingespielt habe fing der autoreboot wieder an.

    Falls jemand eine Idee hat wäre ich sehr dankbar für jede Hilfe.

  44. Jan sagt:

    Moin 😉

    Nach dem die Sache bei mir schon ein weilchen läuft, wollte ich gerno noch ein paar andere Sachen an den Raspi delegieren.
    Leider ist der Kernel dafür ein bischen zu alt. Hast Du eine Quelle für einen neueren Kernel, der das Display mit dem Touchscreen unterstützt?

    Danke

  45. Marcus sagt:

    Hi,

    nachdem ich den Kernel geändert habe, geht der Touch nicht.
    Meine USB Maus funktioniert auch nicht mehr.

    Woran kann das liegen?

    lsusb:
    Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
    Bus 001 Device 004: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen

    :: Maus ist da nicht angeschlossen, würde aber mit aufgelistet werden.

  46. Eric sagt:

    hallo Tobi,

    ich habe deine Kofig ausprobiert und musste leider feststellen dass ich mit dieser nichtmehr in die grafische oberfläche reinkomme.

    kannst du mir evtl weiterhelfen?

    MfG Eric

  47. Robert sagt:

    Hallo,
    ich bin Neuling in Sachen Linux, und Rasp Pi. Ich habe soweit alles zum laufen bekommen, aber mir wurde keine Treiber CD mitgeschickt. Auf der Website von SainSmart kann ich nur Windows Treiber herunterladen. Könntest du mir die Treiber für Rasbian zuschicken?

    Gruß
    Robert

  48. Robert sagt:

    Hat sich erledigt. Ich hab nur nicht den kompletten Code gesehen in den Boxen…
    Allerdings habe ich jetzt ein Problem bei der kalibrierung. Wenn ich es im root kalibriere ist alles ok. Wechsel ich dann den Benutzer auf pi, funktioniert es wieder nur mittelmäßig, da immer noch Seiten vertauscht sind

  49. Paul sagt:

    Hi, ich hab ein kleines Problem… hab mir auch dieses Tauchpanel zugelegt und musste feststellen das kein passendes USB Kabel dabei war… War nur normales USB Kabel dabei..! Was ist das für ein Kabel welches da auf dem Foto zu sehen ist? (Das was an den Touch- Controller, mit weißem Stecker und 5 Pins angeschlossen wird)
    Gruß, Paul

  50. Roboman sagt:

    Das ist die Verbindung zwischen dem Touch Controller und der Steuerung des Displays. Also für das OnScreen Display. Eventuell hat dein Display kein OnScreen Display und deshalb benötigst du das dann auch nicht?

    Gruß

  51. kalonifi sagt:

    Hallo

    Danke für deine anleitung. Jedoch komme ich damit nicht klar. Sorry bin echt anfänger.

    Wenn die datein entpackt habe und dann ins /home/pi ordner kopiere, dann verstehe ich nicht, wie ich es verschieben soll ? mit WinSCP bekomme ich immer Probleme mit den Rechten.
    Hast du ein Tip für mich ?
    Besten dank !

Leave a Reply to agrajag