Slashdot Mirror


Ask Slashdot: Which OS For an Embedded Display Unit?

First time accepted submitter spouse writes "We are a small Software Design team of 8 developers, working with home brewed Linux to make our ARM7, ARM9 and Intel based embedded products work. Now we want to develop our first 7 inch touch screen tablet-like device serving as control panel for a set of our 'black box' devices. We see Android as a possible choice due to the tablet like character of our applications. We will need App management and the GUI elements. We do not need all the apps out there in the store, we do not need any telephone/sms/email/webbrowser support. Will we end with modifying Android just as much as our own Linux derivate to make things work? Does it make sense to build the hardware of the touch panel based on google reference design to minimize the effort? Are there any experiences out there? Who has done that before and what are the experiences of that? How hard is it to make a product really work with Android? What is the right choice here? Shall we try?"

18 of 135 comments (clear)

  1. It depends... by AgentCharlieBrown · · Score: 2

    Do you and your developers feel comfortable with Java? If not, don't go there. Also this sounds like a control application... it seems like Android is too much for that.

  2. But why...? by Anonymous Coward · · Score: 5, Insightful

    ... the hell would you invest engineering resources in building a "tablet like" device that's going to be a proprietary frontend for wherever your real magic is taking place? Android is a great choice, given your requirements list, but for God's sake call one of the 5,000,000 companies in China that make tablets from $50 to $300 and ask them to ship you a crateful. Go to CES next year and walk the small booths - you will not be able to walk under the weight of business cards from companies like this. FCC approvals, full BSPs done for you already, available ex stock FOB Shenzen.

    1. Re:But why...? by jonsmirl · · Score: 3, Informative

      Yes, yes, yes! You would be foolish to rebuild the hardware.
      Here are 47,826 vendors in China willing to sell you Android tablets.
      http://www.dhgate.com/wholesale/search.do?act=search&searchkey=android&catalog=#search

      You can buy 7in Android tablets shipped to your door for $60.

    2. Re:But why...? by larwe · · Score: 2

      There can be reasons to spec in a specific piece of hardware - there are so many of these cheapo tablets that it's impossible to make a reasonable coverage level of "approved devices" and customers in some markets may demand either that you sell the hardware, or you tell them EXACTLY which brand and model to purchase. But as I said and you agreed, for the love of God don't build yet another reference design tablet.

    3. Re:But why...? by AmiMoJo · · Score: 3, Interesting

      We should have done that with out latest project, but instead went with a custom device running Windows Embedded Compact 7 (WinCE 7). Support is a joke, sound recording and GPIOs don't seem to work, Silverlight performance is pathetic and makes it utterly useless... We have reached the point where we are writing our own UI using OpenGL, even having to do our own gestures for the touch screen.

      We should have picked Android. You get a good UI library for free, which on its own is worth a lot.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    4. Re:But why...? by labnet · · Score: 2

      The trouble with buying from a Chinese vendor, is you have no control over the quality.

      Our company has just tread a very similar path to yours, and this is our solution.

      We use an ARM9, in our case Freescale imx28x with 1G of RAM and ROM running linux with QT. QT is nice to deveop in, as you can prototype on most of the GUI on the PC before dealing with the hardware. We are not wedded to this combo, but having the ARM9 allows some flexability. Freescale have a 10 year no obsolecence policy on this family of processors.

      Now here is the important bit. The ARM9 is on a custom SODIMM module (we control the IP) that does display control and communications (Ethernet, Bluetooth, GPS, USB, SD/MMC).
      Any real time stuff the design needs, we offload to a custom microcontroller that we program in straight C, and use I2C to communicate to the ARM9.
      We treat the ARM9 as the business logic and GUI and abstract that away from the nitty gitty RTOS stuff.

      Thus we have a reusable module with a common codebase and build set that we can use in many different designs that require some graphics/touch screen.
      Eg, Industrial Controllers, RFID systems, etc.

      --
      46137
  3. why reinvent the wheel? by snemiro · · Score: 4, Informative

    If any commercial 7" tablet fits your needs, check some brands/models out there and create a custom version of Android + your app. If it doesn't (probably not rugged enough, or the touch screen not bulletproof....) get them, strip them and modify them. If you are planning to sell more than 100k units and you have enough $, get serious, contact a factory and ask for some redesign for you. In both cases, you can use a stripped android + your app. OR you can start with something like this: http://www.geek.com/articles/gadgets/get-your-own-open-source-touchscreen-device-for-69-2011023/

  4. No Market? Go custom. by Anonymous Coward · · Score: 2, Insightful

    If you have no intention of supporting Market apps then skip Android and go custom or use some other tailored OS. If you already have a customized Linux then leverage your existing knowledge and slap a micro version of X on it with a custom mouse driver for the touch interface.

    Consumer-focused, one-size-fits-all operating systems are terrible for control applications (timing problems, bulkware, etc) and don't really give you anything in return. It's a bit like handing your wallet to a hooker and watching them walk away.

  5. Use off the shelf hardware for control if you can by BenFranske · · Score: 5, Interesting

    Having some experience in this area my suggestion is to use off the shelf hardware if you at all can. For most of these specific market "black box" control applications you'll never sell enough to bring the cost low enough to do a ground-up design at a reasonable price, plus it locks you in to the current state of capabilities. It will be much more cost effective to use existing Android tablets, write an app for them to do your control and talk back to your black box over a network (a private network if you must). This will allow you much more flexibility than linking the control interface directly with the black box. In the pro a/v and automation category where I do some of this work almost everything has gone this direction and it makes it much easier and faster to design/upgrade.

  6. Busybox-based linux by Anonymous Coward · · Score: 2, Informative

    Keep it small and simple so it boots fast. We use a bunch of them from board and chip
    vendors. The one from Atmel seems fine.

  7. Re:Use off the shelf hardware for control if you c by mrmeval · · Score: 3, Interesting

    Agreed. We did an in house design of one and just the engineering costs added about $500 to each unit when spread out over 30,000 units. We most likely will not sell that many but it's a goal and the figure used to do costing. We used our own in house code which is very mature. We're going with an already made and industry certified ( we need too many certs but this means we only have to pay to get it certified for shipboard use) Atom processor based touch screen which is larger, has more features and is about 10x faster than our in house design. Since there are at least 10 vendors of similar products we won't be locked into the architecture of the in house design, porting the firmware will not add to much cost and these are *less* money than our in house design if engineering costs for the final product are figured in.

    --
    I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
  8. Re:Angstrom by Anonymous Coward · · Score: 2, Insightful

    I think a lot of people here don't do embedded development, but see the linux tag and immediately spout "Android". Look at Angstrom. The learning curve is really steep, but I'm told it pays off. Also look at what people are using on the Beagleboard. Speaking of which, you might want to base your device off of that.

    But, it may also be much cheaper to just go with an existing tablet and write a C&C app for those - you only need to write 3 - iPad, Android, and WebOS (if you care) to cover 99% of users. Write it in Qt and you'll be good to go on all three with minimal tweaking!

  9. I've done kiosk and POS terminals by Kagetsuki · · Score: 2

    I always used Debian for ARM, but a lot of people liked Angstrom. This was before the whole "tablet" and "multi-touch" craze started. The thing is now that all these tablets are available and so cheap I'd question why you wouldn't just modify a tablet?

  10. You really don't need to ask by phantomfive · · Score: 2

    I don't know why you are asking this on Slashdot, given that you could have assigned any of your developers to look into the topic for a day and come up with a better answer (since he will understand your requirements).

    As far as my experience with embedded goes, yes, Android is a fairly easy system to work with. Might not be as stable as MicroC/OS or some other real-time system, but it is easy to work with. But once again, it depends a LOT on the details of your project.

    --
    "First they came for the slanderers and i said nothing."
  11. Re:Use off the shelf hardware for control if you c by ducomputergeek · · Score: 2

    We have a similar situation and what we did was create the control interface to our blackbox using HTML/Javascript and JQuery Mobile. The blackbox hosts a simple web server with a services API written in Perl. The control interface now can be loaded as a Chrome app on a desktop or laptop, packaged as an installable app for Android or iPad using PhoneGap, or function as a "web app" on pretty much any mobile device that is wifi capable. Granted our "blackbox" resides as part of a wireless hotspot running OpenBSD and was designed to allow other devices to connect to it from the ground up.

    Our first customer is using the $500 iPad 2's as their interface device of choice, but the fact that the controls are HTML/JS and worked on any smart phone they tried during the demo phase was a huge plus. Our system is replacing a system they deployed 10 years ago that never really worked all that well, mainly because most of the hardware and software was proprietary. And it was a huge problem because a lot of the equipment was frankly outdated before they even went live. This time around we got the contract simply because we took the "workstation" part out of the equation. So long as it can run a webkit browser our system will work.

    --
    "The problem with socialism is eventually you run out of other people's money" - Thatcher.
  12. Re:Use off the shelf hardware for control if you c by umbrellasd · · Score: 2

    We have dozens of these projects at my company, and this is the simplest way. There are plenty of vendors in China that will give you a good deal on an ARM5/9/11 or Cortex touch device. You plunk Android on it and then build a native app, or as we often do, build on HTML5 app with a native middle-layer and JavaScript bridge. Pretty simple process. Main concern is the vendor, because build quality can vary widely from the Chinese fabrication plants.

    My company builds hardware like this as well, when it makes sense. We could build you this app for a very reasonable price, *wink*.

  13. Efika SB (genesi-usa.com) with Arm Linux by ami.one · · Score: 2

    I have worked on an embedded kiosk with NFC+3G for cash card transactions and all these Chinese tablets are an absolute NO - NO. We tried 20 models and there are too many problems making the $100 price tags totally irrelevant. We finally found a great product from Genesi (genesi-usa.com) called Efika smartbook ($200) and smart top ($100). You'll get surprisingly good quality, great engineering design and pretty good software software. It runs Ubuntu Arm customized a little but you can run Fedora Arm etc. Has inbuilt 3G,WiFi/BT but you can opt out of those for $40 cut in prices i think. Their new models have touchscreens - though i would not recommend touchscreens for anything non-consumer item as they always have issues if the usage is high or the atmosphere is industrial/outdoor etc. Better to go with external bluetooth touchpads (indl quality) or numeric keypads so that it can be replaced without opening up the machine. The form factor of smartbook is also great for doing arm development on the move or normal office/home use. FYI, I have no relation with Genesi - just a recent customer.

  14. They're all GPL Violating, that's why by lkcl · · Score: 3, Informative

    how many of those 47,826 vendors ships source code? have you any fucking idea how hard it is to get these companies to fucking well understand the GPL, dickhead? i've been dealing with these companies for eighteen fucking months, and they just don't give a flying fuck. not to mention the simple fact that they themselves are supplied with GPL-violating binary-only distributions, they have absolutely no software expertise whatsoever; their ODM software suppliers can't keep hold of their own developers because the supply of software engineers in China is so in demand.

    it takes about three to four months of careful negotiation, with about a 1% hit rate (i.e. 99% of them don't understand english except phrases like "the money has been transferred" and "we want to order XX,XXX units", and those that do understand don't give a shit) we've found THREE suppliers who comprehend the GPL, and that was only after explaining it to them. of those two suppliers, one STILL doesn't give a shit, one of them was so terrified of the consequences that they terminated sales of the product, and the other one is, thank god, still in the running, is willing to work with us and we will supply their next software *for* them. ... but that was after 18 months to 2 years of searching. now, are you _seriously_ suggesting to these guys that they spend allll their time and money doing exactly the same thing? i think you'll find that they're better off actually designing their own hardware and writing their own software.

    anyway, to answer the actual question: use openembedded to custom-build an angstrom linux distro. it's been around for over 10 years, now, so is a pretty mature development platform, and has some superb recipes. ask on the openembedded lists or irc, be patient and you'll get the advice you seek.