The Home-brew Phone and Desktop PC
The goal: to create an open affordable smartphone device that is
also powerful enough to run as a Desktop PC
Status:
UD-160-A Universal Docking station: received and tested (not on ARM).
IGEP-v2: received, evaluated and undecided (due to proprietary WIFI).
Telit UC-864-G modem: received, and preliminary tests run (success).
DS-70 7in 800x480 screen: received and tested (on x86 and ARM).
Introduction
Beginning in 2003 I started purchasing HTC smartphones, and
reverse-engineering them. Progress was painfully slow, but the
OpenMoko and the Trolltech Greenphone did not exist. Six years on, with
the false starts that these two commercially-backed projects represent, the
Free Software Community still does not have a working commodity open
smartphone platform, let alone an affordable one. Continuous searches for
"Linux phone" and other keywords results in finding plenty of reference
platforms, plenty of closed platforms running linux kernels (with accompanying
GPL violations and cease-and-desist letters), and systems from the Far
East (such as the E2800) where free software developers forgot to ask for
the source code.
The strategic importance of having an open phone platform, especially one that
is powerful enough to also run as a Desktop PC, cannot be underestimated.
As the Ndiyo 2006 Attridgeville and Fultola reports show, cost-effective
or even affordable Internet connectivity is pretty much non-existent in
third world countries and emerging markets. Ndiyo set about to change that,
with a mobile phone, one computer, four Nivos and four sets of screens,
keyboards and mice.
Three years on, we now have ARM CPUs in smartphones that are running at
the same speeds and with the same amount of memory as PCs from six to eight
years ago. Developer boards such as the Beagleboard, the IGEP-v2 and the
QuickEmbed OMAP3530 kit are fast enough to run the full Ubuntu Linux Desktop
system, and are cheap enough even as developer kits to have comparable prices
to desktop computers!
So, with the lack of momentum from the Open Source Community, and with
commercial vendors still keeping their cards close to their chest, I felt
that it's time to take a leaf from Open Pandora's book, rework the
Open Cellphone project, and put together an open mobile extensible platform.
Initially taking as much from commercial off-the-shelf components as
possible, the goal is to explore the technical viability with COTS
components, and then explore the means by which the price can be
reduced whilst still maintaining a reasonable degree of modularity
and extensibility. In this, there is a trade-off between keeping
the connectors required between multiple boards (often the major
contributory factor to cost) and ending up with a single board that
is unaffordable.
Once a working platform is available, with a similar level of
exposure as the OpenMoko, software is not a problem: there are
a wide range of platforms now available. The LiMo foundation;
OpenMoko; Maemo; Moblin, Open Series 60 and more. The priority
is, however, to get working affordable extensible hardware, and
to learn from the hardware (microphone-GSM feedback) and software
(reliance on d-bus) mistakes made by other commercial Open platforms.
Extensibility
We have the technology on which the Ndiyo Nivo is based: DisplayLink
technology. The DisplayLink USB video chipset allows for the creation of
Universal Docking Stations by Plugable, and USB-powered screens such as
the DS-90U by Doublesight.
The UD-160-A is particularly interesting because it adds 4x USB-2 ports,
DVI/VGA out, AC97 Audio I/O and 10/100 Ethernet. This device, which can
plug into a standard USB-2 Host port, "makes up" for ports and features
that would otherwise be missing on a compact form-factor device such as
a smartphone or a PDA.
The DS-90U is particularly interesting because it turns a smartphone
or a PDA into something approaching a netbook (or an eBook, if you have
seen the Nook). The only technical issue with the DS-90U is to ensure
that enough power is provided: the device needs 3 to 4 watts, and USB-2 is
only rated to provide 2.5 watts as standard.
Reports on the UD-160-A (arrived 2 nov 2009 in the post) here
Reports on the DS-90U TBA (when it arrives).
Outside World Cellular Connection
Then, we need connectivity. There are a number of options to explore:
The Telit GSM/GPRS GM-862 (from Sparkfun) for $USD 25.
The Telit GSM/EDGE+3G/HSDPA UC-864-E (from Sequoia for $USD 200).
The Telit GSM/EDGE+3G/HSDPA UC-864-G (from semi for $USD 167).
A 3G GSM/EDGE+3G/HSDPA modem from Huawei (typically $USD 50).
A USB-to-PCI-e adaptor plus a MC8970V 3G+GSM+GPS module ($130)
A USB-to-PCI-e plus an Ericcson F3507g for $95 on ebay (!)
The cost difference between GSM modules and 3G voice-capable modules is
shockingly stark. One of the only reasons why Huawei 3G modems are so
cheap is because they are now a common commodity item. It's also not known
how they do voice. By contrast, however, Telit not only seem to have gone
mad on the features (including the ability to run python scripts on the
GM-862 quad-band GSM modem) but also appear to have gone bananas on the
Documentation-front as well.
Note: no, the means to run python on Telit products is not a joke!.
Selecting Components
The initial list of components was:
$EUR 140: IGEP-v2 600mhz due to the integrated 802.11 and Bluetooth.
The UC-864-G (due to the USB connector and the extensive online docs.
The TD043MTEA2 due to its use in OpenPandora
However, after some consideration, it turns out that the WIFI in the
IGEP-v2 is a proprietary firmware-based one, and also the OpenPandora
haven't released schematics (so that they don't get ripped off by
Far-East knock-offs and lose money from the very first production run).
$USD 150: Beagleboard 600mhz (smaller than the IGEP-v2)
The UC-864-G (due to the USB connector and the extensive online docs.
Hy Research's LCD2 as the PCB is available here.
The UC-864-GUC-864-G can be connected to the USB-2 host port of the IGEP-v2,
leaving the USB OTG port available for the user.
The TD043MTEA2 is a 4.3in 800x480 TFT LCD which also has a touchscreen.
It is a popular choice of item, being used in Archos and other devices,
to the extent that there are ebayers selling them online! At a rip-off
price of $USD 85, of course.
For operation as a Desktop PC, the lack of Ethernet on-board the Beagleboard
compared to the IGEP-v2 can be compensated by the fact that the UD-160-A has
USB-2 Ethernet (and additional AC97 audio). Adding 802.11 WIFI and Bluetooth
to the device is under consideration, and leaves the jury still out on that
one, even with the proprietary firmware issue to be considered.
A smaller screen could be selected, to keep the price down. Given that
the device is intended to be used as a 'phone phone' that happens to be
capable of being a 'desktop PC' (with the UD-160-A or the DS-90U), it may
make sense to simply get the cheapest smallest LCD touchscreen that will
not annoy people too much. RadioSpares in the UK have Hitachi 2.7in
320x240 LCD + touchscreens for $USD 52 in quantities of 5+. It does have to
be said though that it is very tempting to take the opportunity to get a
larger screen, for those people who would actually use the device for
online browsing. Alternatives are the same Sharp screen used in the PSP
1000: a 4in 480x240 screen which, thanks to the popularity of the PSP,
goes for $USD 22!.
(It also turns out that this is the same screen that Hy Research chose)
Wifi / Bluetooth
To evaluate:
http://store.embeddedworks.net/wlan106.html
http://store.embeddedworks.net/wlan204.html
802.11 Wireless
Simplest: Spectec SDW-821 SDIO card. to be inserted internally inside the case.
no external slot. Dimensions: 38.3 mm x 24mm x 2.1mm
http://www.spectec.com.tw/sdw821.htm
Free Software Drivers:
http://www.spectec.com.tw/Download.htm
Order from clove.co.uk, cost £40.
Bluetooth
Simplest option: RN-41, 3.3v, RS232 UART
(available from sparkfun.com, digikey etc.)
http://www.rovingnetworks.com/documents/RN-41.pdf
RS232 Level Converter required: MAX3391E (TX, RX, CTS, RTS)
3.3v on RN41 side, 1.8v on OMAP side.
Connect THREE-STATE to 1.8v (Pull High) to enable 10k resistors (i think!)
http://www.maxim-ic.com/getds.cfm/pk/2389
Order Sparkfun Break-out board + RN41: $70.
Digikey part 740-1007-ND: $25.
To Evaluate
These are some links to products and projects with components that
are either low-cost or need consideration:
http://www.dealextreme.com/details.dx/sku.16124
http://elinux.org/BeagleBoardRawLCD
https://specialcomp.com/beagleboard/beagle_lcd.htm
http://www.sparkfun.com/commerce/product_info.php?products_id=8335
http://www.sparkfun.com/commerce/product_info.php?products_id=8448
http://www.standardics.nxp.com/support/design/microcontrollers/lcd.controller/
http://www.circuitidea.com/dev-board/BL-TFT240320PLUS.html
http://www.thaieasyelec.com/Development-Tools/Wireless-GPS-GSM/GSM-CDMA
http://www.thaieasyelec.net/index.php/display-module/tft-with-tp/2-8-inch-qvga-tft-lcd-with-touch-screen/p_8.html
http://www.circuitidea.com/Article/DIY-photo-frame-with-BL-TFT240320PLUS.html
http://www.sharpsma.com/Page.aspx/americas/en/part/LS037V7DW01/
BeagleBoard/IGEP-v2 Expansion board (may interfere with IGEPv2 WIFI):
http://www.tincantools.com/product.php?productid=16147
SDIO WIFI WG7310 Drivers - uses TI WL1271: provides 802.11b/g/n + Bluetooth:
http://www.jorjin.com.tw/Support_Download.htm
WIMAX!
http://www.spectec.com.tw/wimax.htm
SDIO WIFI Card: (drivers ... available! 2.6 kernel source)
http://www.spectec.com.tw/821.htm
http://www.spectec.com.tw/823.htm
SIM Card Reader Project
http://www.ladyada.net/make/simreader/index.html
Software References
http://code.entropywave.com/leonora-beagle-board-demo/
http://wiki.myigep.com/trac/wiki/HowToGetTheAngstromDistribution
http://wiki.myigep.com/trac/wiki/HowToCrossCompileTheLinuxKernel
http://wiki.debian.org/EmdebianToolchain
Software GSM 07.10 References
http://qt.nokia.com/doc/qtopia4.1/tut-multiplexing.html
http://www.freesmartphone.org/
http://developer.berlios.de/projects/gsmmux/
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=534163
http://pyneo.org
References and other Open Mobile sites