3D capable Android 2.2 Smartphones

Lately all the rage was for 3D high definition televisions, but now 3D is also coming to mobile handsets. Softbank will release 2 smartphones –  “Galapagos 003SH” and “Galapagos 005SH” – in Japan between the end of 2010 and spring 2011. The smartphones will run Android 2.2 on a platform based on Qualcomm MSM8255 @ 1Ghz, feature a 3.8″ display and the capability to record HD videos (720p maximum). The main differences between the 2 handsets are that Galapagos 005SH will have a slide-out keyboard and a built-in 8 Megapixel camera whereas 003SH won’t have the keyboard but the camera will be 9.6 Megapixel. Both handsets will be manufactured by Sharp which also owns the 3D technology. The 3D images and videos will be viewable with the naked eyes, i.e. you won’t have to wear glasses.  This will be used for picture, videos and 3D games.  The smartphones will be released with pre-installed games such as “Biohazard Degeneration” and “Mobile …

Default root password for sigma designs smp86xx boards

I have seen some people google for the default root password for sigma designs boards and they ended up in this blog without any answer. So I’ll provide some kind of answer. In the serial port console, once you get to the username/password prompt, the root password is… there is none, just press “Enter”. This is the default behavior in Sigma Designs SDK, it’s quite possible the root password has been changed for the device you are trying to access. In case telnet or ssh is enabled, you may try one of the default users in /etc/password, that may not have been disabled by the development team e.g. ftp, man, nobody,default, etc… and try to login without password, by just pressing “Enter” at the password prompt. Once you are logged-in as a normal user, type “su” to become super user, press “Enter” if you are being asked for a password.

Digital Signage Standard: Open Pluggable Specification (OPS)

A while ago, we discussed about Popai Digital Signage Standards, mainly focused on software and client/server interoperability. Intel has just released a new standard for Digital Signage: Open Pluggable Specification (OPS). Here’s the description of the specification on Intel website. The Open Pluggable Specification (OPS) helps standardize the design and development of digital signage devices and pluggable media players. Intel created the OPS to address digital signage market fragmentation and simplify device installation, usage, maintenance and upgrades. The OPS enables digital signage manufacturers to deploy interchangeable systems faster and in higher volumes, while lowering costs for development and implementation. Installing digital signage equipment based on Intel® architecture helps you implement scalable digital signage applications that can network easily with other equipment. This simplifies interoperability and application upgrades designed to meet the digital signage requirements of individual customers, while helping to future-proof technology investments. You’ll need to fill a form to apply to have the “privilege” to access the specification. You’ll …

XIBO: An Open Source Digital Signage Server/Client

Today’s post will deal with Xibo (pronounced eX-E-bO), an open source, multi-display, multi-zone, fully scheduled digital signage solution. I’ll firstly give an overview and explain how to install the client and server in Windows XP. In another post, I’ll demo the system. The server can run on Windows or Linux and requires a web server (Apache / IIS), php5 and a MySQL database. The client can only runs on Windows 2000/Xp/Vista/7 and requires .NET Framework v3.5, Internet Explorer 7 or 8, Flash Player Version 9 or later, Windows Media Player 11 or later, Microsoft Powerpoint 2003 or later. As you can see from the client description, it won’t be able to run on Linux embedded systems, but it is still interesting to study this solution to see the content management flow, what this solution has to offer and how we get development idea from this solution.  An embedded client based on Xibo client (using Python) could also be potentially written …

Resources for Qualcomm MSM722x: MSM7225, MSM7227

Qualcomm MSM722x processors – part of MSM (Mobile Station Modem) series – are mainly used in mobile phones and to a lesser extend in tablets such as WellCoM A800. You won’t find any proper documents or information in Qualcomm website (see Qualcomm MSM page) except the following description: Qualcomm’s Mobile Station Modem™ (MSM™) chipset solutions enable cost-effective mobile handsets with advanced capabilities that leverage 3G technology yet minimize development time. Offered on four discrete platforms for tailored functionality, each chipset is integrated with a select set of features from Qualcomm’s multimedia suite of applications to enrich the user experience while maintaining cost-target objectives. So if you plan on developing on that platform, you’ll need to visit Qualcomm developer website to get most of the information you’ll need. There are two chipsets with similar characteristics. MSM7225 The MSM7225 chipset includes a 528 MHz ARM11 processor with a floating point unit (FPU).  A 400 MHz modem processor, 320 MHz DSP, hardware-accelerated 3D …

WellcoM WePad A800 Android 2.2 Tablet Video Review

More and more decent (e.g. with capacitive multi-touch screen, decent processor…) and cost-effective android tablets are hitting the market such as Archos Gen8 Series. [ad#Google Adsense – Wide Banner] It might be difficult to obtain Archos 70 in some countries in Asia. But not is all lost as product such as the WellcoM WePad A800 are available in Thailand (and probably other countries). This tablet based on Qualcomm MSM7227 @ 600 Mhz runs on Android 2.2. The device comes with 512 MB DDR RAM, 512 MB Rom, a 7″ multi-touch capacitive touch screen (800 x 480) , Wifi, Bluetooth, 2G/3G network support. I discovered this product in a shop in Chiang Mai yesterday. I tried it a bit, it was very smooth and responsive. It sells for 15900 Baht (530 USD / 383 Euros) with a free bluetooth headset. The following videos (In Thai only) reviews the device. The reviewers runs a lot of benchmark to show the performance of …

Accurate Time Keeping in Embedded Systems

In many embedded systems, there is a need to keep accurate time/date. This is often performed using an RTC (Real-Time Clock). However,  uncalibrated RTC are not that accurate. For example, ST Microelectronics M41T94 RTC datasheet explains that: Uncalibrated clock accuracy will not exceed ±35 ppm (parts per million) oscillator frequency error at 25°C, which equates to about ±1.53 minutes per month. . In order to improve the accuracy, you’ll need to calibrate the crystal for each board at the factory using a frequency counter, that will greatly improve accuracy, for M41T94: When the Calibration circuit is properly employed, accuracy improves to better than ±2 ppm at 25°C. However, calibrating the crystal will further increase the manufacturing costs. Another way to have a very accurate time keeping, is to use the power supply frequency (50 Hz/60 Hz) which is extremely accurate due to interoperability requirements between electricity providers. In the diagram above, you can see an overview of such system design …

Socket Programming: Client crashes when exiting server

One of our digital signage applications was crashing when the control server was shutdown at the same time a command was sent with no apparent reason. It would always crash inside the write function (see code below) and no error message were returned. sent = write(fd, buf, n); After a while, we found that in case the connection with the server is lost, and write tries to access the server, it will generate a SIGPIPE signal and in most systems, the application would just exit by default. A simple way to handle this case was to ignore the pipe signal by adding the following line during initialization: signal(SIGPIPE, SIG_IGN); In case the server is down at the time the write function is called, the signal SIGPIPE would be ignored, write would return -1 and errno should return 32 (Broken pipe). Alternatively, if needs be you could also handle the SIGPIPE signal in your own function.