We are planning to develop a small embedded product, which will be touch-screen and loaded with few applications which we will develop. Those applications will be contacting a database through wi-fi, and displaying data, and also update the database sometimes. The available flash or ROM memory will be limited, around 256 MB or so, to bring down costs.

We were planning to use a linux OS for this, but any good open source OS will be fine. Imagine the device will look like a smartphone, but without call facility, browser, messaging, though we are planning to use camera and video facilities. It will not be a smartphone, just a device intended for a particular purpose.

Which OS do you think is more suited for us, that will support nice GUI apps? I considered HP's Palm OS, but that will look like a phone. Installing linux such as Ubuntu will make it look like a small desktop PC. We just want the users to be able to use only the applications which we develop. Any ideas/suggestions??

Dani AI

Generated

For the touchscreen, camera-enabled appliance described by (Wi‑Fi, DB access, occasional updates, ~256 MB flash), the best outcome usually comes from a purpose-built embedded Linux image rather than a desktop distro. As noted, a Qt-based UI fits touch-first apps well; and as pointed out, very small graphical stacks are possible if the image is trimmed aggressively. The real choices to weigh are (a) how small and simple the image must be, (b) whether hardware video/camera acceleration is available, and (c) how updates and failures will be handled in the field.

Practical build strategy: prototype quickly with Buildroot to prove the app and measure image size, then move to a Yocto/OpenEmbedded-based product build for reproducibility and BSP/package management. Keep the root filesystem read-only (compressed squashfs or similar) with an overlay for writable state, or use A/B partitions for atomic OTA updates. Strip locales, fonts and unneeded libraries, prefer BusyBox for basic utilities, and build only required kernel modules to save space.

Multimedia and camera notes: camera access via V4L2 and hardware-accelerated pipelines (GStreamer or platform-specific codec plugins) is essential to avoid overloading the CPU. Verify the chosen SoC has upstream Linux support and vendor-provided BSPs for camera and GPU — hardware support will usually determine whether multimedia fits inside 256 MB comfortably.

Operational and security points: run the UI as a kiosk/launcher with a simple watchdog so the device auto-recovers; minimize background services and open ports; sign update images and keep a rollback path. In short: choose hardware with good Linux support first, prove the full media+Wi‑Fi+DB workflow on a dev board, then lock the image down and move to a reproducible build system for production.

Recommended Answers

All 3 Replies

Of course, for such a project, you will have to do significant changes to the OS anyways, and in that sense, will end up developing a new derivative or variant of an existing OS.

One good option seems to be MeeGo or one of its derivatives. There are a number of different user interfaces / derivatives, I'm sure one of them will fit the bill.

Another option is to take a desktop distro which has a tablet- or phone-friendly interface, like / Plasma Active, or . Then, you can strip down the OS by removing components / features you don't need or cannot support on your limited platform.

I would recommend a Qt-based GUI (such as KDE, or Qtopia), because they are really nice (nice looking and easy to program).

Another possibility is TinyCore Linux (http://www.tinycorelinux.net) It can run a 12MB FLTK/FLWM desktop. Yes a graphical interface Linux in 12 MB. Of course to that you would need to add db access and wireless from their module system. Might add a few more MB. [grn]

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.