Low Cost Access Device
>= Project News & Status Updates =
Software:Will be working on OMAP35XX based Development Platform considering limitations and difficulties faced with Hawkboard. Hardware:Started with redesigning for OMAP35XX processor family. PCB design software used:Orcad/Kicad
Contents
Group Meetings
- Minutes 8 September 2010, Physics Seminar Room 202 (Hardware focus).
- Minutes 25 Aug 2010, Physics Seminar Room 202 (Hardware focus).
- Minutes 29 Jul 2010, Automation Lab, Chemical Engg Dept.
- Minutes 12 Jul 2010, Automation Lab, Chemical Engg Dept.
- Minutes 25 Jun 2010, Automation Lab, Chemical Engg Dept.
- Minutes 07 May 2010, Wadhwani Labs.
- Minutes 09 June 2010, KreSiT Conference Room
- Material presented by Pradeepsarin on the HP ITSY handheld device:
- In follow-up disccussion Pradeepsarin also raised the possibility of exploring collaboration with NotionInk, a Hyderabad based startup founded by IIT Kharagpur alumnus Rohan Shravan. They are developing an nVidia Tegra chipset based tablet PC: while their product is at the high-end scale going head-to- head with the iPad with it's innovative Pixel Qi touchscreen - leveraging tech know-how from them may prove useful. (Context - Pixel Qi is the company founded by Mary Lou, after she left the OLPC project)
- Minutes(1) Minutes(2) 25 June 2010, Automation Lab
- Details of the LART project (PPT 0.5MB)
- Follow-up from Aditi Rathi: Nice overview of Low-cost computing devices initiatives around the developing world Many userful links!
Benchmark Protocols
This section deals with the protocols we use to benchmark performance. There are two things to keep track of:
- raw hardware performance - straightforward to perform even with a commandline 'micro-OS' distribution
- 'User experience' benchmark: this is how fast the system responds with the user interface in place for common end-user tasks.
Some tools are outlined below. These will need to be cross-compiled for the target ARM platform.
Hardware benchmarks
Here's a list of common linux benchmark tools that test various aspects of a system's hardware performance. The Linux Benchmark Suite project on Sourceforge points to various open-source benchmark codes. There's also a related HOW-TO page. Here are a few specific benchmarks:
- nbench a Linux-ified version of the BYTE benchmark - the latter is commonly used to test the latest greatest ix86 processors.
- lmbench tests integer, floating point and memory latency
- unixbench
- | XGXPerf a toolkit from Texas Instruments for benchmarking Qt application performance on the Hawkboard/OMAP-138.
Java
- We will probably use a lot of Java on the handheld device to communicate with the Virtual Lab Server side applications. Here are a few a informational links on setting up Java for ARM Linux. (Please feel free to add more as you find them):
- A comprehensive listing of JDK's, JVM's and JRE' available for various platforms
- A second compendium of all available Java engines for ARM Linux
- In particular the open source Kaffe (good integration with Familiar Linux OS) and gcj (?) seem to be good options. Blackdown JDK is the other big name.Blackdown JDK download here (may have to search through the ftp directories for the ARM port) Installation and Setup instructions here.
- Note that all Java applications and applets will have to be cross-compiled /ported to ARM to get them to load in a browser.
Here are a few of Java applets to be loaded and tested for 'bare minimum functionality':
- File:PotentialBarrier.zip A simple Java applet simulation of a Gaussian wave packet passing through a square well potential. It solves the time-dependent Schrodinger equation - momentum of the wave-packet and parameters of the potential can be adjusted with mouse pointer. Source code is in Potbar.java and intel-compiled java is in Potbar.jar. Load GaussianWavePacket_ThroughPotentialBarrier.html in a Java enabled web-browser on a desktop PC to get an idea of what to expect.
- File:H2ATOM.zip A reasonably complicated animation of hydrogen atom orbitals. The zip contains the source code AtomViewer.java and the intel-compiled java applet qmatom.jar. Open the test_hydrogen.html file in a Java enabled web-browser on your desktop and you will get an idea of what to expect. Note that in re-compiling for ARM, you will probably need to modify the source to make the applet fit a smaller screen.
- File:DigitalFiltersWithAudio.zip A fairly sophisticated applet with audio. Test designs of various filters and find out how they 'sound'. Tests audio functionality too!
- We should also explore other open-source options like python or py-gtk especially for standalone applications. It may be easier to port those to ARM Linux.
Component Subsystems
This section lists details on subsystems of the LCAD. Each of these can be spun-off as a modular sub-project.
Processor
- OMAP35xx processor based on Cortex-A8 Architechure is now fixed as development platform.
- Documents and Datasheets.
- OMAP3530 Datasheet:
- On chip peripherals:
- Technical Reference Manual:
- Peripheral Support Package:
- Application processor Introduction
- Application processor reference guide
- PCB design guidelines for OMAP35xx processor
- OMAPl-138 processor based on ARM9 Architecture
- OMAPl-138 Datasheet
Display
- HDMI and VGA interface will be used for development based on EVM(development boards).
- QVGA LCD interface will be used for Interfacing with prototype hardware design.
- Documents and Datasheets
- QVGA display datasheet
User Input
Touch-screen or QWERTY keyboard?
- TouchscreenUsability Data (PDF) -- Here are some data and opinions on the usability of touch-screen v/s qwerty keyboard for small form-factor devices.
- Follow-up: BlindType. Here's a link to an interesting touchscreen virtual keyboard application. We would probably need to develop something as innovative, and not rely on X-windows' basic virtual keyboard application. However, touch-screen entry still doesn't address the fundamental issue of accessibility for the visually imparired.
Power
- A detailed power audit of all the subsystem assemblies is needed. An old SA-1100 based LCAD project referenced in one of our meetings | (LART) managed to demonstrate a working prototype with mono LCD at less than 1 watt power consumption. We have to compare with the new Texas Instr. processors with all the peripherals. Obviously paring down to the bare-essentials (bare-board + add-on daughter-cards model).
- | SciB - a very attractive option for the rechargeable battery source. These are the latest tech. from Toshiba, with 6000+ charge cycles. They are available in 2.4V, 4Ah cell packaging. So a 5V LCAD device with ~ 1watt power consumption would have 20 hr battery life x 6000 ~ 120,000 hrs or 13.5 years usable life if used 24 hrs/day before the battery drains completely.
Development Platforms/Boards
OMAP35XX EVM Board
HawkBoard
BeagleBoard
Friendly ARM board
iPAQ
Specifications
- It is a bare bone version of a PC, with a low cost - of the order of $30-$35 for 10,000 pieces.
- It should have a 7" LCD (non-touch screen) display and a QWERTY keyboard
- It will run a light-weight open-source operating-system distribution (eg. Angstrom, Android, Maemo, etc.)
- The basic software applications will include:
- A web-browser
- Java support to be able to run applets for learning
- Flash/html5 support for learning/teaching over videos say from www.youtube.com or www.spokentutorials.org
- Document viewing support for various document and image formats
- Text editor (and if possible, word-processor and/or spreadsheet)
- Basic media player for playing stored media (audio and video files of certain format)
- Compression and extraction tools
- Computing or programming capabilities like Scilab, Python, Open Office (strictly with add-on memory, not included in the low-cost device). The Low-cost device will only support these by connecting to remote-end machines or cloud computing.
- The basic hardware specifications will tentatively be:
- 600MHz CPU with support for 'socket CPU'. The concept of socket CPU will aid in future upgrade of the main CPU +memory without any change in the peripheral design. The strongest contender for this CPU till now is TI's OMAP-35xx series based on ARM CortexA8 architecture.
- RAM - 128MB or 256MB based on the CPU (POP)
- Flash memory - 256MB or 512MB based on the CPU (POP)
- Some interface for LCD screen (LVDS/VPIF/LCDC)
- Some interface for Keyboard (may be, PCIe)
- 2 standard USB ports, 1 USB-OTG(?) port
- Ethernet port (Wi-Fi is not being considered for the pilot prototype)
- Audio in-out
- Power supply - battery or mains, on-line or off-line charging. Various options are still to be evaluated from the point of view of the cost.
- The following provisions will be made on the PCB but required hardware may not be included in the final design if target cost is exceeded: SD/MMC card reader slot, serial port, JTAG port, GSM support, etc.
- The design will ensure future hardware and software support and upgrade.
Technical Terms & Information
Technical Terms and Information
External Links to Useful information
- Article in Dr. Dobb's Journal on using an iPAQ+Linux as a standalone servo-motor controller with GTK+ GUI interface. The bottom of the page has several links to other interesting hardware projects.
- Reference to Android OS developer page indicating the media formats supported by the core OS. Putting this up here for future use when/if we start developing with Android platform.
- Important info on OMAP L-138
- | 'HawkTawks' - webinars by Texas Instruments tech. folks on specific aspects of the hardware. For example there was one on Aug 3,2010 devoted to optimizing media codec playback using gstreamer plugins and the C674x DSP embedded in the OMAP-L138. Recordings of these webinars are viewable using the WebEx player (the site guides you through downloading it and setting it up).