I created an application using Arduino but I couldn't get the required performance needed. And in addition, I need to add a touch screen to control the machine which is impossible with Arduino. So I'm thinking about using Raspberry Pi A+.

The goal of the application is to control some pumps according to a certain logic and the touch screen is aimed to turn on/off each pump (very basic application...)

The problem is that is Raspberry Pi is a full computer wich exceeds my need. Means that when I launch it, it has a full OS to boot and displays the desktop and so on...

Is there any way to use the Raspberry Pi for only my custom application ? like when you start the machine, the application appears immediatly ? No start-up, nothing else ? Just the screen that shows up and the application starts.

Do I need to develop my own OS or use an existing OS and adapt it ?

Thank you.

2 Answers 2


What you want is a headless unit, sometimes referred as Kiosk computer with a touch screen and perhaps a few GPIO controlled relays.

Boot time for a Raspberry Pi is less than 15 seconds, including a possible WIFI reconnection, from power up.
I'm not sure where are you looking at your messages, if you are looking at your UART serial port output, they can be easily removed (raspi-config).

You did not mention what kind of screen you will be using, the TONTEC (an probably others) will not show the boot info, unless you designate it as a primary display.

Then you bundle you application as a service you will not require any manual input. Also, the application will be active as soon as your app prerequisites (defined by you on the .service ) are running.

  • 1
    +1 But referring to a touchscreen kiosk (which is certainly what the OP wants) as "headless" is a misnomer: en.m.wikipedia.org/wiki/Headless_software <- It refers to a system with no local display or HID (human interface, e.g. a keyboard). A touchscreen kiosk has both of those.
    – goldilocks
    Dec 30, 2015 at 22:00
  • The touchscreen is, per the description, a graphic switch, perhaps giving some dynamic feedback, not as a method to interface with the device o/s. A headless can also be a road sign or a digital sign. The Wikipedia definition is a little bit narrow and vague; I may edit that page!
    – fcm
    Dec 30, 2015 at 22:32
  • That is an interesting distinction. I don't agree, though, since this depends on defining "interface with the OS" in a totally arbitrary way. Controlling peripheral hardware (pumps and sensors) is certainly interfacing with the OS just as much as using a GUI file browser. But I can't say for sure you are wrong WRT some parlance. In any case, it is worth noting for the OP since if he is researching online the general sense will certainly be the one I used, i.e., looking into "kiosks" = good, whereas looking into "headless" here will not be helpful and likely lead to confusion.
    – goldilocks
    Dec 30, 2015 at 22:48

Do I need to develop my own OS or use an existing OS and adapt it?

The very fact that you've asked this question means that you don't have the prerequisite knowledge to build and maintain a custom OS. Your OS gives a lot to you and building all of that from scratch would be extremely time intensive and error prone.

Raspbian can be configured to not boot from the desktop, and you can always uninstall packages that you do not need. I would suggest looking into Raspbian Jessie Lite.

  • Thank you for pointing out that it would take someone asking this question years of study to implement option B ("create my own OS"). Thomas, I hope you do not take offense at this, and you are certainly not the first person to ask such a thing, but it reveals a great naivete regarding what an OS is.
    – goldilocks
    Dec 30, 2015 at 21:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.