A Guide to Capacitors: Electrolytic Capacitor, Ceramic Capacitor and others

What is a capacitor and how does it work? When you go to a showroom and watch some plasma panels maybe you do not know that you are watching some capacitors. Yes, a plasma panel can be considered a capacitor.
The capacitor is a device able to store electric energy. Practically every time two conductor materials (called "plates") will be near and separate from a non conductor material we will have a capacitor. In a PDP (Plasma Display Panel) the plates are the two glasses (front and rear panel) and the non conductor material is the dielectric material that is between them. If we apply a voltage to a capacitor, it will charge at the same power supply potential. In a capacitor the process of storing energy is called "charging" and it involves electric charges of equal magnitude but opposite polarity. Initially, at flat capacitor, the plates are electrically neutral since we have the same numbers of electrons and protons on them.

Flat Capacitor
Flat capacitor
If we connect the capacitor to a continuous voltage generator, it happens that the generator positive pole catches the electrons from the connected plate while the other plate catches electrons from the generator negative pole (see below). Little by little the capacitor increases its charge, the potential of the plate connected to the positive pole increases and comes close to the generator potential. So the potential difference, at the two resistance ends, decreases and the current intensity decreases also. Therefore the capacitor charges quickly initially, then more and more slowly. Once the capacitor is charged (at the same generator voltage value) we will have a positive potential on the plate A (positive charges predominance) and a negative potential on the plate B (negative charges predominance). The voltage (charge) remains even if we disconnect the capacitor from the generator (no losses, in the case of ideal capacitor of course).
Capacitor charging process
Capacitor charging process
Below there are the voltage and current progress graph and their formulas. The product RC will be explained later.
Voltage progress for a charging capacitor
Voltage progress for a charging capacitor - V(t) = V0 [1- e–(t/RC)]
 
Current progress for a charging capacitor
Current progress for a charging capacitor - I(t) = I0 e–(t/RC)
If we connect the plates through a resistance we will have the capacitor discharge, that is we will have an electric charge equilibration and the voltage decreases to zero value (the energy stored in the capacitor dissipates in the resistance). During the discharge process the current direction (that is the electrons movement direction) is opposite to the charge process one.
Capacitor discharging process
Capacitor discharging process
For the charge, during the discharge process, we will have the following equation:
Q = Q0 e–t/RC
where Q is the capacitor charge (Coulomb), Q0 is the charge at the start, "e" is the exponential number (Euler's number =2.718..), t is the time (Seconds), C is the capacitance (Farad), R the resistance (Ohm).
For voltage and current the equation becomes:
Equation voltage and current
Below there is the current progress graph and its equation.
Current progress for a discharging capacitor
Current progress for a discharging capacitor - I = I0 e–t/RC
Let's explain briefly the product RC.
The capacitor charge or discharge happens in a time depending from the resistance value (in a series to the capacitor) and from the capacitance value of the capacitor. Laboratory tests have shown that the needed time to charge the capacitor at 63% of the applied voltage is equal to the product result between resistance and capacitance. The product result is called time constant (t), so
t = R * C,
where t is expressed in Seconds, R in Ohm and C in Farad.
Moreover it has been demonstrated that the capacitor is charged in a time T = 5 t because after the first t it charges 63% of the applied voltage and after every other t it charges a further 63%, but of the remaining difference.
The aptitude at the electric energy storing is called capacitance: it is directly proportional to the one plate surface (A) and inversely proportional to their distance (d) and depends, in directly proportional manner, from the relative static permittivity value of the used insulator εr. The formula is
C = εr * ε0 * A/d
where ε0 is the vacuum permittivity, the measure unit is the Farad (F).
The insulator placed between the plates is called dielectric and it can be liquid, solid or gaseous. The dielectric type allows a first capacitors classification. The most used capacitors, in the electronic area, are the ones with air or solid dielectric. The most used types of solid dielectric are: mica, ceramic, plastic film, paper. The capacitance value of a capacitor is clearly showed on the capacitor body (for the big ones) or codified by different codes (colours or alphanumeric). Now let's have a look to some capacitor types, at their features and application areas.
Electrolytic capacitors
The electrolytic capacitors are formed from two metallic sheets, cylindrically wrapped, that are separated by a thin oxide layer (got through an electrolytic process). The very thin layer thickness (approx. 0,001 µm) and its relative static permittivity value, relatively high, allow to get huge capacitances values (until 1.000.000 of µFarad in the aluminium electrolytic capacitors) even if they can suffer a potential difference of a few ten volts only. Due to their structure they are polarized, that is they must observe a polarity verse: one plate must be always positive, the other one must be always negative. Changing the polarity direction is very dangerous: the capacitor could explode.
As we said above they have big capacities, so they can accumulate a large energy quantity. For this reason they are used, mainly, in the power supply units, for the voltage levelling and for the ripple reduction.
Electrolytic capacitors


Ceramic capacitors
The ceramic capacitors are constituted from a sandwich of conductor sheets alternated with ceramic material. In these capacitors the dielectric material is a ceramic agglomerate whose relative static permittivity value can be changed from 10 to 10.000 by dedicated compositions. The ceramic capacitors, with low relative static permittivity value, have a stable capacitive value and very low losses, so they are preferred in the floating and high precision circuits. The ones with high relative static permittivity value allow to get high capacities occupying a small space. Generally the ceramic capacitors have small dimensions and they are preferred in the high frequencies area. The most used ceramic capacitor shape is the disc one, that is a little ceramic disc metalized on both sides and with the extremities welded on them. Typically they have very small capacities, from some pF to some nF, and they can suffer big potential differences.
Ceramic capacitors


Paper capacitors
In the paper capacitors the dielectric material is constituted from a special paper saturated with a fluid or viscous substance. To increase the insulation, in these capacitors, often two or more layers are coupled. The finished envelopment is again saturated under vacuum with insulating oil or is dipped in the resin. Generally they are used as filter capacitors.
Paper capacitor

Plastic film capacitors
The membranes in plastic film can be produced with lower thickness than the saturated paper and are more uniform. So there are capacitors that use these membranes as dielectric material (a few µm of thickness only) and they can suffer high voltages. The plastic film capacitors are mainly used in the transistor circuits. In the polyester capacitors a metallic sheet is used as electro-conductor layer or the metal can be deposited directly on the film by under vacuum vaporization, with a layer thickness of 0,02 - 0,05 µm. The capacitance of these capacitor can reach some µF. They are used in the low frequency circuits mainly.
 Plastic film capacitor

Tantalum capacitors
The tantalum capacitors, as the electrolytic ones, are polarized, but they have the tantalum pentoxide as dielectric material. Compared to the electrolytic ones, they are better both the temperature stability and high frequencies, but they cannot suffer over-voltage peaks and can be damaged, sometimes exploding with violence. On the other hand they are more expensive and they have much lower capacity.
Tantalum capacitor

Niobium capacitors
The tantalum capacitors have two drawbacks: the tantalum cost due to this material rarity and its susceptibility to certain low level ppm of thermal runaway failures. Because of the increasing demand for tantalum capacitors a new technology has been developed and the niobium capacitors have been launched into the market. With at least 100 times more deposits than tantalum, the niobium guarantees good availability and lower price. So the niobium capacitors are very similar to the tantalum ones, but they have low cost, surge robustness and it is raising the conviction they can have better performances in other fields like voltage range, ESR and miniaturisation.

1 comments  

GPS receiver design

GNSS (Global Navigation Satellite System) is a common name for all of the satellite based positioning systems, which are GPS (Global Positioning System) from US, Galileo from EU, GLONASS from Russia, and CNSS (Compass Navigation Satellite System) from China. GPS is the first and most popular one among these systems.
In US, FCC ordered all the network operators to follow E911 act(Enhanced 911) to offer the physical address of calling party who is calling 911 emergency call. More and more cellular phones have armed with GPS feature. In the same time, the navigation devices are popular due to fast growing of private cars and mobile phones in the emerging countries. Thanks to Google, more and more consumers can easily connect their GPS devices to the Google web services for navigation, virtual sight viewing or satisfying their curiosity. All of these services are available free of charge.
Google's Inspiration
Google MapGoogle is a great web innovator. Everybody knows about Google Map and Google Earth. And its competitors like Microsoft and Yahoo have to catch up. However Google is not the inventor of the web GIS. Actually web GIS has been available for a long time. Never the less, Google promotes the web GIS with its great influence in the Internet, and furthermore deliveries the free services in a quick and elegant way (AJAX). More and more companies and developers have identified the business opportunities by integrating the existing navigation technologies and web GIS. The new successful stories spread the world and gain the attentions of the venture capitals. As a result, the GPS ecosystem becomes highly competitive and exciting.
Competitive Market
A successful GPS application is made up of GPS terminals, map data services and service centers. That means the GPS applications are blending businesses involve Internet, mobile terminal, mobile network, automotives, and consumer electronics. More and more industries are looking for the new business opportunities in the navigation and location aware services via merging and acquisitions. It is a clear trend that the map data and services are the key factors of a business success. As usual, the silicon suppliers and device manufacturers have to fight for the market share and making devices cheaper. The startup companies must release products with unique features. Some suppliers offer dual mode or tri-mode satellite positioning chipsets for GPS, Galileo and CNSS. Some independent RFIC vendors team up with the software suppliers to promote the software GPS solutions in reduced BOM cost. Some other vendors are promoting the one chip RFIC for all RF features including Bluetooth, FM radio and GPS.
GPS Receiver Architecture
GPS works by making one way range measurements from the receiver to the satellites. In order to arrive at a position fix we must know precisely where the satellites are and how far we are from them. These data are available to the receiver by reading the data message from each satellite which provides a precise description of the satellite orbit and timing information which is used to determine when the signal was transmitted by the satellite. Each satellite transmits on 2 frequencies in the L band (L1=1575.42 MHz and L2=1227.6 MHz). Each satellite transmits a unique CDMA (Code Division Multiple Access) code on these frequencies. On top of this the signal is modulated with a 50 Hz data message which provides precise timing information and orbital parameters. Since the receiver knows which sequence is assigned to each satellite it knows what satellite the data is coming from. The receiver creates a copy of the sequence and correlates or integrates the received signal multiplied by this copy over a period of time (in our case 1 ms). The particular sequence transmitted by each satellite has been chosen to reduce the chance that a receiver will track a satellite transmitting a different PRN sequence. For more detail on correlators see the Zarlink chipset documentation or some of the other references.
GPS functional blockThe attached figure is a traditional GPS receiver architect (from Zarlink). It is made up of antenna, RF/IF section and a base band processing unit, which usually has correlators and an embedded processor. The host processor talks to the embedded processor in an industrial standard protocol called NMEA (National Marine Electronics Association) or optional proprietary protocols. The physical links between the processors might be a standard UART, USB or Bluetooth. The communication over USB and Bluetooth has to simulate a virtual serial port to talk with high level application software. The default baud rate of NMEA is 4800bps, the higher rate doesn't make sense.
Antenna
Sarantel GPS Helix AntennaBecause of miniaturization and multi-functional requirements, the designer faces to more and more challenges in antenna design. These factors include human interference, noises from embedded processors and external interferences. It is better to copy the reference design from the application notes for an inexperienced engineer. Never the less, GPS antenna design is still easier than the mobile phone antenna design. We know, the latest mobile phone has to work on 800MHz, 900MHz and 1800MHz with PA and faces to the big noises inside.
The most commonly used antennas in GPS are the Helix and the patch antenna. Patch antenna has strong direction selectivity, which is used in most of the external GPS mice. The Helix antenna is much suitable for handheld GPS, which offers broader antenna angle, and it works better than patch antenna when it is close to human.
There are some off-the-shelf antennas available in the market. Most of them are external antennas, which offer better performance.
Sarantel offers GPS antenna in full Balun design, which offers 360 degree antenna reception and highly frequency selectivity, and most of the noises can be eliminated. This company also offers the bulk ceramic antenna as the smallest antenna in the world.
Mr. Mark Kesauer offers an inexpensive external GPS antenna design on Circuit Cellar. The PDF document is available on here. This design uses commonly available components and materials.
RFIC
The RF parts of a GPS from different suppliers are slightly different but most of these ICs are sharing same concept. The RF section includes LNA, filter, PLL and BPSK demodulator. Maxim’s MAX2769 demonstrates the general RF IC for GPS receiver.
The RF front-end of a GPS receiver first amplifies the weak incoming signal with a low-noise amplifier (LNA), and then downconverts the signal to a low intermediate frequency (IF) of approximately 4MHz. This downconversion is accomplished by mixing the input RF signal with the local oscillator signal using one or two mixers. The resulting analog IF signal is converted to a digital IF signal by the analog-to-digital converter (ADC).
The MAX2769 integrates all these functions (LNA, mixer, and ADC), thus significantly reducing the development time for applications. The device offers a choice of two LNAs: one LNA features a very-low, 0.9dB noise figure, 19dB of gain, and -1dBm IP3, for use with passive antennas; the other LNA has a 1.5dB noise figure with slightly lower gain and power consumption, and a slightly higher IP3, for use with an active antenna.
There is a provision for external filtering at RF after the amplifier. The signal is then downconverted directly using the integrated 20-bit, sigma-delta, fractional-N frequency synthesizer together with a 15-bit integer divider to achieve virtually any desired IF between zero and 12MHz. A wide selection of possible IF filtering choices accommodates different schemes, such as those of Galileo.
The overall gain from RF input to IF output can be tuned or automatically controlled over a 60dB to 115dB range. The output can be chosen as analog, CMOS, or limited differential. The internal ADC has a selectable output of one to three bits. The integrated reference oscillator enables operation with either a crystal or a temperature-compensated crystal oscillator (TCXO), and any input reference frequency from 8MHz to 44MHz can be used.
Correlators
The correlators of GPS are the essential parts of the whole system of bit synchronization and decoding. The correlators will feed the raw digit output to the embedded processor to acquire, confirm, pull-in, track the satellites, and translate into NMEA protocol, which the host controller can understand.
The correlators can be implemented in hardware and software. Recently, the number of correlators increases dramatically. The early product from Zarlink has 12 channel correlators. The newer SiRF-II has 1920 correlators inside, and the latest SiRF-III has over equivalent 200K correlators to reduce the TTFF. MediaTek (MTK) Taiwan also released a low cost GPS chip, which has 32 channel correlators inside. I use a MTK based GPS for my own testing purpose. It works fine, although I still expect more accuracy from the device. However, its performance is good enough as a consumer class GPS receiver.
Some open source projects released the FPGA based correlators. On the other hand, the correlators can be implemented in a FFT based software algorithm, which is referred as software GPS and cited in an application note from Maxim.
Embedded Processor
The silicon suppliers are trying to promote their own platforms in GPS. The task for the embedded processor is calculation and tracking the different satellites and interfacing with host processor in NMEA. If you check the attached NMEA document, you will realize that the embedded processor has to deal with so many parameters in detail. The requirements for the embedded processors are big enough memory address space and sufficient processing power for intensive calculation. The ARM7TDMI is a 32bit core, which offers sufficient memory space and processing power. The peripherals included UART, USB and Bluetooth have been available for ARM for a long time. As a result, the latest GPS chips from different suppliers have the identical trend to select ARM7TDMI as the embedded processor.
There are some key KPIs for the GPS, which might be related to the correlators and software in the embedded processor.

  1. Cold Start: A cold start results when there is no valid Almanac or Ephemeris information available for the satellite constellation in SRAM, or when the time and/or position information is NOT known (i.e. starts at 0 in both cases). Also a cold start will be initiated if an Almanac is valid, but a fix cannot be achieved within 10 minutes of power-up. This could occur if the receiver position has moved significantly since it was last powered-up, but the position change and time are NOT initialized by the user
  2. Warm Start: A warm start results when there is a valid Almanac, and the initial time and position are known in SRAM, but the ephemeris is NOT valid (i.e. more than 4 - 6 hours old).
  3. Hot Start: A hot start results when there is a valid Almanac, valid ephemeris (i.e. less than 4 - 6 hours old), and when accurate time and position information are also known in SRAM (position error less than 100km, time error less than 5 minutes).

Software GPS
If the hardware can be implemented in software, the total cost of a GPS can be reduced. Different suppliers have different approaches. One solution is merging the embedded processor to the host processor, so the job is done in the host. In this solution, the basic hardware blocks such as correlators are still kept. Some companies call this approach as accelerated software GPS. The other solution is taking the digitalized signal from IF, and implements the correlators and decoders in software. We can call it as full software GPS. The software GPS is only available in commercial licenses on specific chip in linkable library. Sometime the software GPS license might be more expensive than a low cost IC.
SiRF has acquired the Centrality Atlas, who offers SoC for GPS. Its Atlas is a software GPS product, running on a 300MHz ARM microprocessor and 200MHz DSP. This chip is the best seller in automotive navigator. It offers the comparable performance with SiRF-III, with lower price and media player features.
NXP software also offers Spot GPS software for the host application processors. The Spot GPS Software is a commercial software package in the form of ANSI C. It is easy to be deployed since most of the latest smart phones have a 200MHz, even 500MHz processor inside.
There is also an open source GPS project called GPS world, which uses ATMEGA32 for back-end processing. But this project is not a complete software GPS solution, because it was built upon a hardware correlators IC from Zarlink. However if you are developing the firmware of a GPS receiver, it could be the base for your development. In the reference of open source projects, you can find other software GPS designs.
Modules or DIY
GPS moduleBecause GPS is quite sensitive to the environment, inexperienced designs will ruin the whole project. According to the field report, the GPS module has quite high failure rate in production site. Some mobile phone manufacturers tried to design the GPS by themselves, finally they found their GPS phone design is totally a fiasco.
The module includes everything and assembly in a can module. The size is as small as a coin. There are many professional GPS module suppliers. LeadTek, Holux and other suppliers are offering SiRF and MTK based solution worldwide.
Application Software
From the point of system software development, the software engineer can consider GPS unit as a standard serial port. No matter which OS is selected, the serial port is always available, either in a real RS232 or simulated serial port on USB and Bluetooth. Any person who has experience of developing UART can develop the GPS application software in NMEA protocol as well.
Finally, the high level application software will combine the map data and coordinates from GPS and present to the users.
OpenmokoThere is an open source project called Openmoko, which is sponsored by FIC Taiwan. This project is basically an ARM920T (S3C2440) microprocessor based mobile phone. The GSM/GPRS module and GPS module are connected to the serial ports for ARM920. The phone is working like a desktop PC with GPRS modem and GPS receiver. Anyway, it is a good project which you can start up your own GPS terminals.
The connected GPS project Dash Express is a derivated project from Openmoko.
There are also many open source projects available. You always can find the projects in your favorite languages, Java, Python, C++, .NET and even in web programming languages.

0 comments  

Touch Screen

The touch screen technology is widely used in PDA, smart phone, PMP, ATM, information kiosk and many other types of equipment in industrial, medical and commercial environment. Actually the technology enabling these devices is not new, since it was invented by Dr. Samuel C. Hurst in 1971. But it becomes hotter after the release of popular iPhone and iPod touch. With new patents filed for the touch screen technology, Apple brings a new wave to this mature segment and more companies are involved in this revolution with improved interactive UI, ICs, assembly modules and software components.
Conventional Touch Screen
The implementation of a touch screen includes resistive, capacitive, infrared, surface acoustic wave, optical imaging, acoustic pulse, and other emerging technologies. The kit usually is made up of a touch module, and a controller, which measures the touch events in frequency, voltage or current, encodes and transmits to the drivers running in host controller. Different touch screen technologies are suitable for different environments. The selection criteria are:

  1. - Light Transmission
  2. - Response Time
  3. - Touch Accuracy
  4. - Environment Requirement
  5. - Lifecycle
  6. - Surface Hardness
  7. - Resolution
  8. - Input Mode (Bare or gloved finger, styles, pen)
  9. - Display Size (Small, Middle or Large Screen)
  10. - Multi-touchHTC touchFLO

Currently most of the portable devices are using resistive touch screen modules, because this technology has perfect balance between low cost and required performance. Both stylus and finger operation are supported. With the resistive touch screen, most of the technical innovations take place on the GUI system in the host. For example, HTC S1 released a new UI called touchFLO. This new technology works efficiently with single-touch screen. For example, the clockwise and counterclockwise finger event on specific screen area will zoom in/out this part of picture or web page. Sometimes it is more convenient because the user just need one hand to hold, and the thumb of same hand to operate. The iPhone requires both hands to operate on-the-go anyway. Yes, even the user can use two fingers of one hand to operate, but he/she should use the other hand to hold it, unless the device can be installed somewhere. Besides, HTC S1 supports handwriting and virtual keyboard, iPhone uses virtual keyboard. Typing European characters on the virtual keyboard might be a good idea, but not for Asian languages. Some other human machine interactivity research organizations also invented another new symbolic operation UI system with single-touch screen. For example, by handwriting an "h" to represent home page, the computer will show up the index for whole system. This method is deployed in an Automotive PC platform (VIA x86 design), it is very effective and attractive. The driver can handwrite on the screen while looking at the road without staring at the screen and touching some buttons. Therefore this UI improved the safety on the road.
I still remember the replacement of B/W LCD on mobile phones. The color LCD is more expensive and wasting more power, the engineers are arguing about if the idea of using color LCD in mobile phone is stupid or not. The sales of mobile phones with B/W LCD is dropping so quickly, now over 90% mobile phones are equipped with color LCD, in bigger size and dual LCD configuration. This story tells us that consumer electronics' product design is marker driven, instead of technology driven. So my conclusion is, even if single-touch screen is fully capable of every operation with some advantages, the multi-touch screen is a major trend of new touch-screen devices, because the consumers love it. Let us check it out and find resources to implement it by ourselves.

iPhone and Meizu
If anyone is just trying to clone Apple's design, he will be disappointed. The multi-touch is a system design, not just a small improvement on touch screen itself. Apple's initiative can not be cloned and it is protected by more than 200 patents. I found that Mezu was going to launch its Mini-One on CeBit 2008, but finally it was enforced to be close down on that exhibition because of another MP3 infringement issue. And the Mezu Mini-One does not support multi-touch as well. I am surprised that Apple didn't comment on the design issue for Meizu's MiniOne officially, even they seem like twins. (Please check left picture. ) Ironically Meizu issued a design patent in China. A clone design asks to be protected from being cloned again? I really hope they can use their resource on other proper projects.
Multitouch
Traditional resistive and capacitive can only support one touch hot area, i.e. one time to track one touch event. If two fingers are put on touch screen or touch pad, the result returns to host is the position of the last touch or somewhere between these fingers. In order to setup multiple touch hot areas, the designer must upgrade all of the three parts of the touch screen sub-system. That means innovation should take place on panel input modules, panel controller (ASIC or MCU) and device drivers in host, of course the application running the host should support multi-touch as well. The capability of touch screen controller limits the tracking number of touch events. I am not so sure about the application software support. The application software should track multi-touch events by themselves in some operations, for example, multiple objects should be tracked individually in a multi-user game. In another case, if the multi-touch can be translated into high-level zoom command, or rotate command, the regular software should be able to support multi-touch operation already. In that case, the device driver should support multi-touch event and translate into high-level commands. It is up to system architect to design the whole software stack.
IBM and Logitech have already issued some patents for multi-touch technology. Apple's iPhone is first consumer products deployed multi-touch. So far Apple has filed two patents for multi-touch, one is self-capacitance, and the other is mutual capacitance. These technologies have a new name as projection capacitive. The multi-touch has already deployed in iPhone, iPod, Mac Book Air. The implementation is described on some patent search sites (Please check reference). More competitors like LG, Samsung, and Microsoft are going to release new models and new operation systems with improved touch screen modules and drivers. Even MTK, a well-known supplier for OEM mobile phones, is going to improve their reference design of touch screen and try to mimic the operation of iPhone. Besides projection capacitive touch, there are resistive and surface capacitive implementation for multi-touch.
Input Modules
Mutual CapacitiveSelf Capacitive
 
 
 
 
 
 
 
 
 
 
 
 
To allow people to operate with multiple fingers, the iPhone uses a new arrangement of existing technology. It includes a layer of capacitive material, just like many other touch screens. However, the iPhone's capacitors are arranged according to a coordinate system. The coordinate system does not require very high precision, because it is finger based operation. But I have not idea about the detail accuracy of it. Anyway its accuracy can not support handwriting. Its circuitry can sense changes at each point along the grid. In other words, every point on the grid generates its own signal when touched and relays that signal to the iPhone's processor. This allows it to determine the location and movement on the capacitive material. It won't work if you use styles or wear non-conductive gloves.
In mutual capacitance, the capacitive circuitry requires two distinct layers of material. One houses driving lines, which carry current and other houses sensing lines, which detect the current at nodes. Self capacitance uses one layer of individual electrodes connected with capacitance sensing circuitry. Both of these possible setups send touch data as electrical impulses.
After all, Apple's projection capacitive touch screen works like a big grid of keyboards. Each key is driven by row and column pluses, and encoded with its location and address. That working method and programming skills are very common in microcontrollers. The improvement are materials, these keys are almost transparent (Apple calls them transparent electrodes) and on a single film (maybe ITO film or ITO glass) can be produced by advanced process. Because the surface could be glass, so you will find iPhone's glass is quite hard and anti-scratch. According to Unwired View, iPhone also use force-sensing mechanism to filter the touch events by accident.
AUO in cell multi-touch
Actually Apple's iPhone only works dual touch event, it can support more events if Apple improves the capability of the controller, driver and application software.

Because its nature similarity with LCD drivers, some LCD panel manufacturers are integrating these feature into LCD modules. AUO released in-cell multi-touch LCD modules (480*272) on Oct, 2007. More and more LCD with single-/multi-couth screen will be available. I personally think AUO’s approach maybe more competitive because of the overall BOM cost and performance. Neither AUO in-cell and Apple projection capacitive multi-touch screen have large size LCD deployment, because capacitive is very sensitive to EMC noise, while large size HDTV LCD itself is a big noise generator!
Controllers
Because capacitive touch screen is very sensitive with environment, even with the innovation on input module, multi-touch requires more improvement on controller to work properly. Maybe that is another reason why Apple keeps the method back cover on iPhone/iPod?
Touch screen pre-processingAccording to report from howtostuffs.com, the iPhone's processor and software are central to correctly interpreting input from the touch-screen. There are many processors in iPhone, Infineon GSM processor, Samsung ARM11 as the application processor, and a dedicated screen controller BCM5974 from Broadcom. I can not find any information from Broadcom site, I guess it is a custom chip for Apple. So I checked other products, I guess this chip is a DAC as touch screen digitizer. If so, then the DAC is used to sample the grid instead of switching method. It also means ARM11 acts as the processing for multi-touch. The processor uses software to interpret raw data as commands and gestures.
  1. Signals travel from the touch screen to the processor as electrical impulses.
  2. The processor uses software to analyze the data and determine the features of each touch. This includes size, shape and location of the affected area on the screen. If necessary, the processor arranges touches with similar features into groups. If you move your finger, the processor calculates the difference between the starting point and ending point of your touch.
  3. The processor uses its gesture-interpretation software to determine which gesture you made. It combines your physical movement with information about which application you were using and what the application was doing when you touched the screen.
  4. The processor relays your instructions to the program in use. If necessary, it also sends commands to the iPhone's screen and other hardware. If the raw data doesn't match any applicable gestures or commands, the iPhone disregards it as an extraneous touch.

Touch position and gesture There are some other suppliers for capacitive touch technology. The implementation of controller includes ASIC and MCU based. ASIC is very low cost for mass-production, while MCU has the advantage of custom design but its price is higher. The following vendors are delivering touch solutions for markets. Some of them have already supported multi-touch. More vendors are coming to develop new parts to support. Mentioned vendors have their own patents on touch technology.
Synaptics is a leading worldwide developer of custom-designed user interface solutions for mobile computing, communications and entertainment devices. Synaptics is focusing on touch pad solutions, and offer ASIC with I2C/SMBus.
Taiwan ELAN Microelectoncis Company (EMC) also a patent with trademark of eFinger. It claims that patent is competitive on touch screen application. But it requires registration on specification and has an open lawsuit with Synaptics.
Cypress offers CapSense in many applications. For example, the keypad part of V3/V8 from Motorola, LG chocolate mobile phones. Cypress CapSense is based upon its PSoC mixed signal array with embedded RISC M8 microcontroller. It is very easy to use. The new PSoC CapSense touch screen solution also offers designers the ability to implement multiple additional functions beyond touch screens. The same devices can implement capacitive buttons and sliders simultaneously, replacing their mechanical counterparts, as well as proximity sensing. Engineers can also take advantage of the PSoC mixed signal array to implement functions beyond CapSense. Such functions include, driving LEDs, backlight control, motor control, power management, I/O expansion, accelerometers and ambient light sensors. These functions, in conjunction with flexible communication (I2C and SPI), allow for unparalleled system integration. Cypress's CapSense touch screen solution is available using projected capacitance and surface capacitance sensing techniques.
Leadis is dedicated to creating compelling touch solutions focused on a strategy of Innovation and Integration. Leadis' line of PureTouch (TM) capacitive touch controller solutions will begin sampling in the first half of 2008.
ATLab is a Korean company, co-operates with ST to offer touch screen touch ICs for capacitive technology.
Quantum Research Group, offers QProx(TM) touch control and sensor ICs. As same as Cypress, its solution offers more features for QSlide and QWheel. Atmel acquired Quantum already.
Thanks to Apple, more and more players are trying to compete on this market.
Other Suppliers

ST has two lines for touch pads, one is licensed from Quantum (MCU based), the other is licensed from ATLab (ASIC based). TI is trying to promote its MSP430 in this market. NXP also has its companion chip for PDA with touch screen DAC inside. Some other vendors such as Microchip and Maxim have similar product lines.
Driver and Application Software
I am not quite sure about how Apple implement these, I would rather to use software to refer to both driver and application software part. Apple also filed a complementary patent called "multi-finger gesture" for presentation of the finger movement. But that part requires more know-how on system software, I am not going to discuss here. Anyone who is interested in please visit some professional sites of MIT or NYU.
Latest Development for Alternative UI

Microsoft is developing surface computer, which can track up to 52 touches.
Besides multi-touch, some more topics regarding touch screen is rising on horizontal. They are photo sensor in pixel, polymer waveguide, distributed light, strain gauge, dual-force touch, laser-point activated touch and 3D touch.
Patent Issues
Most the multi-touch related patents are held in 3M, Nitto Denko, Oike-Kogyo, Dupont, Apple, IBM for materials and panels, but more Taiwanese, Korean industries are trying to file their own patents on the touch panels. As a system developer, we just make sure our products will not infringe these patents. It is tricky for those mobile phones manufacturers who are trying to clone Apple design on their own products.

0 comments  

Hacking a Network Attached Storage (NAS)

I try to find some candidate hardware platforms and Linux distributions in this article, so the fans can build their own Network Attached Storage (NAS) or expand their NAS with more features by hacking an existing NAS (Network Attached Storage).
What is NAS?
NAS is the abbreviation of Network-attached Storage. It was introduced by Novel to offer the network file sharing service. Network attached Storage (NAS) was designed for enterprise applications, so it supports UNIX from the very beginning. The consumers realized they need more storage capability for the digital media files from Internet. A consumer NAS (Network-attached Storage) can share the media files with all the PCs and the digital media players. Furthermore, NAS can download the files from BitTorrent or eDonkey in a non-PC environment. The latest consumer NAS transforms into a full-functional media server with variety features.
Let us check out the long list:

  1. File sharing for Windows, Linux and Mac via Samba, NFS, HTTP, FTP and rsync;
  2. Easy data backup capability for flash cards, USB stick and removable HDD, with optional RAID support;
  3. A print server;
  4. A Media server for Windows MCE, Xbox360 and PS3 with UPnP/DLNA;
  5. A Web server with DDNS, PHP, ASP, SQLite and MySQL;
  6. An FTP server;
  7. An iTunes server;
  8. A 24 hour download server supports BT, eDonkey and FTP;
  9. A home video surveillance server, which supports both IP camera and USB camera;
  10. Multiple administration panel choices in Web GUI, virtual console and custom terminal software;
  11. Much more …
 
Why Do We Need NAS (Network Attached Storage)
Although we can use the more powerful PCs in many applications, we still require embedded computers as NAS for security, power consumption, and network.
Security
A well-designed NAS can offer more security than a regular PC. Most of the NAS OSes are based upon Linux OS, so they have less virus problems compare to Windows. Even if they have downloaded the files infected by some viruses, the embedded OS in the NAS will not be infected by the viruses. Of course, you still have to scan the files with the anti-virus software.
A dual slot NAS usually offers RAID backup service. So the important data can be restored if one disk has a malfunction.
Power Consumption
A PC is not designed for working 7*24 hour. It can work for a long time. But I will not leave my PC to download a huge file without knowing when it can be ended. A NAS can work in more energy effective ways. If there is no active connection, the NAS can shut down the hard disk drivers and wait for the connections. The power consumption of a regular NAS depends on its hard disk drivers, which is about 5W~20W. A NAS can save our money and environment with less carbon emission.
Network Access
A Network-Attached Storage (NAS) can reduce unnecessary network communication to Internet. Most of the media files are shared on the NAS within the LAN. The other IP based appliances can work with the NAS by fetching the digital media files to playback. We can setup our own “HOME” page at home, because a NAS also offers a web server with DDNS (Dynamic DNS). Besides the regular web content, we can use it to access to the cameras as a remote surveillance server. It is a very important service for digital home. A NAS is a good platform to host such service.
Actually the NAS could be a platform for many commercial network applications. For example, you can use it in a Bluetooth advertisement pusher or a music retail store. Just plug in a Bluetooth stick and install proper software, the NAS can start to push the advertisement or the sample music clips via Bluetooth.
Paradox of NAS
There is a paradox for NAS. A NAS supposes to offer much larger storage capacity than the existing storage media. However, due to the fast growing of storage market, the storage capacity of a NAS usually seems smaller after several months. According to the famous Moore's Law, a NAS usually faces to the upgrading requirement for disk capacity and local network connectivity bandwidth in every 18 months. Today, an advanced desktop PC has a 512GB hard disk and a NAS has a 2TB hard disk. Maybe a regular PC will have a 2TB hard disk 6 month later. So the NAS will lose its capacity advantage at that moment. A consumer may hesitate to offer a NAS which seems to be obsolete in one year anyway. As a result, the consumer class NAS integrates many entertainment features, so the consumers can convince themselves that NAS can help in many other ways besides storage and sharing.
NAS Hardware Platform
The latest NAS model features SATA-II slots, USB 2.0 high speed host ports, Gigabit Ethernet or 54M WiFi connectivity. The structure of a NAS is identical to a regular PC without VGA and input devices. In general, either a RISC based embedded application computer or a regular x86 PC can be used as the hardware platform for a NAS. Most of the commercial NAS devices use the RISC processors. It is your own decision to pick the hardware platform. However, developing on a RISC embedded system requires extra hardware tools and knowledge, which is not recommended for a beginner. Building a PC based NAS is a good starting point for a beginner. At least we will not worry about breaking the board.
RISC based
I browse the data catalogue of the semiconductors manufacturers for NAS. Among these chips, Marvell’s Digital Home Platforms integrates most of the desired features with a 1.5GHz ARM chip, SPDIF/I2S audio and TS/Video port. Obviously, it is more than a NAS. The chip is very popular in the commercial NAS products. You can easily find one and hack it.
If you are looking for other platforms, you can also find the solutions from Freescale (Power PC based), PMC-Sierra (MIPS based), and Cirrus Logic (ARM920 based). However, these chips usually have slower microprocessors (from 200MHz to 400MHz) and slower peripherals (ATA, USB1.1, 10/100M Ethernet). So you can only use it as a pure storage device.
If you want to build it from scratch to learn how Linux works, the best candidates are S3C2410/2440 and XScale. These chips are not designed for the NAS, but for hand-held devices. However, these chips are very popular and they have the most of the peripherals on chip. Of course, the performance of the peripherals are not enough, sometimes you have to expand it with supplementary hardware.
JTAG and Serial Console
You may need a JTAG board and a serial port for bringing up a 'virgin' board. You must use the JTAG board to download the boot-loader to the on board flash memory, and use the serial port to give the boot-loader the further programming and configuration instructions. However, if the chip (such as TI OMAP3530) has build-in boot-code to support extra booting options, such USB stick, SD card, Ethernet, hard disk driver, then you are lucky to select an easy chip to work on.
Microcontroller

Some NAS devices use a low cost microcontroller to get the user input and light the status LEDs. There are some hacks available for these microcontrollers. However, you have to get some hardware programming tools to download the microcontroller’s firmware. The programming method is vendor dependent.
PC based
As I mentioned, we can use an obsolete PC as the hardware platform, since the hardware infrastructure of a NAS is almost identical to a PC. We only care about the power consumption, scalability and availability for a specific hardware platform. An obsolete usually consumes a lot of power, generates a lot of noise. I don't like that reuse idea. A PC based NAS must be low power, low noise and fast enough.
If we check the x86 suppliers, Intel, VIA, AMD and their partners have offered many reference designs. Most of the reference designs are based upon low-power CPUs. Among these chips, I prefer the ATOM processor from Intel. It offers the lowest power consumption so far. The ATOM based main board is about 100USD. You can setup a dual bay NAS on ATOM platform within 140USD (excluding SATA HDD). The EPIA board from VIA is also a good candidate for x86 based NAS.
You can leverage the PC to develop your NAS with minimum cost. The cheap peripherals allow you to expand your NAS in many ways, such as WiFi connection, flash card bay, IEEE1394, eSATA and Bluetooth. You can download and install many open NAS OSes to find out the suitable package. Besides, you can install the OS on CD-ROM, USB stick or HDD without programming flash in an embedded system. Further more, you can expand your NAS to a media server with extra software modules.
NAS Software Component
We should always look for the software components from open source communities, because most of the NAS software packages are Linux based distributions (although Microsoft SAK [Server Appliance Kit] and VxWork also have a small market share). Most of the semiconductors suppliers offer reference design with Linux BSP as well. Some vendors like Cirrus Logic offers full source on its site, the other vendors only offer their packages for their clients. So you have to find the alternative Linux distribution from the open source community sites if you can not get the packages from the semiconductors suppliers. Fortunately, there are too many options for you.
First, there are off-the-shelf distribution from Debian and famous Linux distributors. You can install this distribution easily.
Second, you can build the Linux with open data sheet and open source tools by yourself. The other applications in user land can be build later and then install to the NAS.

Complete NAS OS
FreeNAS supports CIFS (Samba), FTP, NFS, rsync, AFP protocols, iSCSI, S.M.A.R.T., local user authentication, and software RAID (0,1,5), with a web-based configuration interface. FreeNAS is a Live CD distribution of FreeBSD, which can be installed on a 32 MB CompactFlash, hard drive or USB flash drive.
Openfiler was created by Xinit Systems, and is based on the rPath Linux distribution. Openfiler needs at least a 500 MHz CPU, 256 MB of RAM, 1.2 GB hard disk space, an optical drive and a FastEthernet network interface.
NASLite is a Linux distribution designed to turn conventional x86-based computers with PCI interface into a simple network-attached storage device. NASLite boots from the floppy disk and runs in a 4MB RAM disk allowing for full capacity of the hard disk drives to be used as storage. Now NASLite becomes proprietary software, without source code.
The CryptoNAS is another live-CD project to offer encryption of user data in a NAS.
The above NAS OS distributions can not offer every feature you want, then you can custom and strip down the Debian and FreeBSD to meet your requirement.

File Sharing
The basic file sharing services include NFS (for Linux), Samba (for Windows). Both services have been implemented already. In fact, any Linux computer can work as NAS, because file sharing is a default service for Linux. The only concern is file system for the hard disk. Usually the internal hard disks are formatted as EXT2/EXT3/UFS. That is transparent for the client PCs. But the developer must hack the kernel to support NTFS, especially in writing a USB hard disk formatted in NTFS.
Data Backup
NAS normally uses RAID as back up feature. There are various combinations of these approaches giving different trade offs of protection against data loss, capacity, and speed. RAID levels 0, 1, and 5 are the most commonly found, and cover most requirements. Actually RAID level 0 just increases the capacity and speed, no any data backup is available. And RAID level 1 is a mirror backup, so you can restore the data in case one disk fails, but keep in mind that even if two HD of the same size are used, the total RAID volume capacity equals the capacity of one HD. The RAID level 5 offers high security for data restore. The RAID can be implemented in software, hardware and firmware. For Linux, it is supported in the kernel already. Even one disk failed in software RAID1 system, you can still read out the other hard disk on other hardware. If you configure the RAID system in other higher level, you need to restore the data in the same device.
Print server
The printer sharing is implemented in SMB of Samba package. In order to install the Linux network printer for Windows workstation, you have to:
  1. Install and configure the Samba server
  2. Add extra script in /etc/printcap
  3. Create a filter file under /var/spool/lpd/smb/
  4. Create a .config file under /var/spool/lpd/smb/
  5. Restart the printer by #lpc restart all
  6. Find the network printer in Samba from Windows workstation
  7. Install the printer postscript driver in Windows
  8. Print from Windows workstation
Please refer to Linux printer how-to for more informations.

P2P Sharing
The P2P sharing must be included in a consumer NAS. QNAP, ASUS and D-Link have integrated BitTorrent already. The BitTorrent client has many Linux ports, which can be cross-compiled in an embedded system. Another well-known P2P sharing protocol is eDonkey. eDonkey is open source software as well. But the first source is released for Windows VC++. Compared to BitTorrent, eDonkey has less Linux ports. So far, the eDonkey download feature is only included in some high-end consumer NAS. According to some reports, the download speed of the embedded P2P clients is much slower than the PC based clients. So far I didn't find the official analysis report.
There is a complete and update list for BitTorrent clients in Wikipedia, which are sorted by UI, programming languages, OS and etc. We need a web based, C++ based client software. Of course you can port a Java or Python client if your system supports these languages.
The consumers want to have these two major P2P protocols in one package. Some commercial NAS devices use a combination of Clutch+Transmission. The other ones use MLDonkey, which supports BitTorrent, eDonkey and other protocols. This software is written in Objective Caml, C and assembly. Porting Objective Caml is the major task for MLDonkey.
The user front-end usually is based upon web interface. If you are interested, you can use the custom software. Sancho is a good front-end software working with MLDonkey. You can access the P2P service in a Windows workstation just like running the eMule software in the native PC.
UPnP/DLNA media server
The UPnP architecture allows local peer-to-peer networking of PCs, networked appliances, and wireless devices. It is a distributed, open architecture based on established standards such as TCP/IP, UDP, HTTP and XML. The UPnP is a media independent protocol.
The Digital Living Network Alliance is an international, cross-industry collaboration of consumer electronics, computing industry and mobile device companies.
The DLNA is an industrial standard, so more and more media players integrate UPnP/DLNA support, such as PowerDVD, WinDVD, Vista, PS3, VLC media player and famous MPlayer/GeeXbox.
In order to support UPnP/DLNA media server in NAS, you have to find libdlna, ushare for Linux.
If you are going to setup your home entertainment network, you definitely need one or several NAS servers to share the media files. Switch on your front-end equipment, IPTV, PS3, Xbox, DMA, HTPC, enjoy yourself!
Web Server
Some RISC based commercial NAS claimed they are offering Apache+MySQL web server inside the NAS server. I am a little confused because I know a full-featured Apache+MySQL+PHP combination is hard to be cross compiled. Normally, the web server for an embedded system will use small footprint server like BOA. The LAMP combination is working perfectly on a PC based NAS.
FTP Server
The FTP server and client have been integrated into Linux long time ago.
IP Camera
The USB camera is very cheap and widely used. Some of the NAS devices can use these low-cost USB cameras as video surveillance sensors and embedded the real-time video/audio stream in a web page, which can be accessed by authorized administrator members via DDNS. Porting USB camera requires some knowledge about the interface IC. You must identify the semiconductors suppliers and find the corresponding drivers. Please visit Video4Linux and Linux USB for the latest information about camera.
The IP camera is a better choice for video surveillance. It usually offers better video quality (SD/HD on higher frame rate), long range operation (Ethernet or WiFi), PTZ (Pan, Tilt and Zoom) controls, audio support, advanced video format (MJPEG, MPEG-4), night vision, PIR input and more. It is easy to integrate an IP camera with a NAS, because it is an 'IP' appliance.
You can even merge video inputs from several cameras in one web page to monitor multiple sites in the same time. It requires web programming skills.
Hacking a Commercial NAS
Hacking a commercial NAS is a good approach to learn the embedded Linux. There are too many resource web sites for hacking a commercial NAS. You can modify the firmware and add extra features for your own purposes. Although a commercial NAS has limited scalability, you still can enjoy yourself in hacking such a high-tech toy. Why not? Just buy a second-hand NAS from ebay and hack it.
You can visit NAS-Central.org as the starting point. This wiki site will lead you to the specific brand, model and hacking blogs. You can follow it to know what has been done by other developers, what you can do and what you can not do.
Next Step
What, Next step? Just do it! What are you waiting for?

0 comments  

Serial Port Communication in C#

The serial port is a serial communication interface through which information transfers in or out one bit at a time.
A quick search on Google reveals that there are a lot of free serial port monitor applications available for PC users. However, what these applications lack, is the possibility of controlling the serial port in a direct manner. They are generally good “sniffers” but they do not allow the user to actually write to the serial port or control any device attached to it. The applications with the write capability encapsulated are not for free, and the cheapest costs about 50 Euro – a great deal of money taking into account how easy it is to make a personalized application.
This article will show how it is possible to build such an application using the C# environment. It is not intended to be a C# tutorial, but to teach a user who has basic knowledge of C or C# to integrate serial port control in one of his applications.
For the example application, I have used the SharpDevelop development environment which includes a C# compiler. This is an open source IDE which takes up very little space on your hard drive and can be a good alternative to users who do not want to install the gigabytes of Visual Studio on their PCs for a simple serial port application.
Once you have downloaded and installed the SharpDevelop environment, create a Windows Application project (solution) called SerialPort:

 

Once you have created the application, display the windows form that was automatically created (by clicking on the “Design” button at the bottom of the screen) and unroll the menu available under “Components” available on the left-hand menu:

 
You will notice that one of the components available here is the one called “SerialPort”. Pick that component and drag&drop it over the surface of the form on the right. This will add the component to your project. The object that is created is called “serialPort1” and it will be used to access the serial port. To be able to use this component, however, you need to add at the beginning of your code the directive for using the System.IO.Ports namespace, as this is not added by default when you create the solution:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO.Ports;
Once this is done, create a regular button on the surface of the form, call it “button1” and change its label to “Write”. Then double click on it in order to create the function that will be executed when the button is clicked.

In this function we will perform several tasks. The first one is to configure the baud rate, COM port, number of data bits, parity and stop bits of the communication:
//configuring the serial port
serialPort1.PortName="COM1";
serialPort1.BaudRate=9600;
serialPort1.DataBits=8;
serialPort1.Parity=Parity.None;
serialPort1.StopBits= StopBits.One;
Next, before writing to the port, it needs to be opened:
//opening the serial port
serialPort1.Open();
Please note that if the COM1 port is already used by an application, you will get an error message when this instruction is executed. Alternatively, if you open the COM1 port with your C# application and then fail to close it, any other application trying to use it will not be able to do that.
OK, it is now time to write to the serial port:
//write data to serial port
serialPort1.Write("ABC");
When this instruction is executed, three bytes are sent to the serial port: the ASCII code of “A”, the ASCII code of “B” and the ASCII code of “C”.
Once the write operation is performed, you must not forget to close the port:
//close the port
serialPort1.Close();
So, as a summary, all the code that makes up the body of the function should be:
void Button1Click(object sender, EventArgs e)
{
//configuring the serial port
serialPort1.PortName="COM1";
serialPort1.BaudRate=9600;
serialPort1.DataBits=8;
serialPort1.Parity=Parity.None;
serialPort1.StopBits= StopBits.One;

//opening the serial port
serialPort1.Open();

//write data to serial port
serialPort1.Write("ABC");

//close the port
serialPort1.Close();

}
Now you have a broad path open in front of you, as you will be able to write your own customized applications that can send any data to any device attached to the serial port. The above code is also compatible with USB to Serial converters, provided that their drivers work by emulating COM ports.

0 comments  

Top 10 Obscure Google Search Tricks

When it comes to the Google search box, you already know the tricks: finding exact phrases matches using quotes like "so say we all" or searching a single site using site:lifehacker.com gmail. But there are many more oblique, clever, and lesser-known search recipes and operators that work from that unassuming little input box. Dozens of Google search guides detail the tips you already know, but today we're skipping the obvious and highlighting our favorite obscure Google web search tricks.

10. Get the local time anywhere

What time is it in Bangkok right now? Ask Google. Enter simply what time is it to get the local time in big cities around the world, or add the locale at the end of your query, like what time is it hong kong to get the local time there.

9. Track flight status

Enter the airline and flight number into the Google search box and get back the arrival and departure times right inside Google's search results.

8. Convert currency, metrics, bytes, and more

Google's powerful built-in converter calculator can help you out whether you're cooking dinner, traveling abroad, or building a PC. Find out how many teaspoons are in a quarter cup (quarter cup in teaspoons) or how many seconds there are in a year (seconds in a year) or how many euros there are to five dollars (5 USD in Euro). For the geekier set, bits in kilobytes (155473 bytes in kilobytes) and numbers in hex or binary (19 in binary) are also pretty useful.

7. Compare items with "better than" and find similar items with "reminds me of"

Reader Adam taps the wisdom of the crowds by searching for like items using key phrases. He writes in:
Simply search for, in quotes: "better than _keyword_" Some example results:

Results 1 - 100 of about 550 English pages for " better than WinAmp".

Results 1 - 57 of 57 English pages for " better than mIRC".
Results 1 - 100 of about 17,500 English pages for " better than Digg". (Wow. Poor Digg.)
The results will almost always lead you to discovering alternatives to whatever it is you're searching for. Using the same concept, you can use this trick to discover new music or movies. For example, " reminds me of _someband_" or "sounds like _someband_" will pull up artists people have thought sounded similar to the one you typed in. This is also a great way to find good, no-name musicians you'd probably never know of otherwise.
Examples:

Results 1 - 88 of 88 English pages for " reminds me of Metallica".

Results 1 - 36 of 36 English pages for " similar to Garden State".

Results 1 - 66 of 66 English pages for " sounds like The Shins".
Just get creative and you'll, without a doubt, find cool new stuff you probably never knew existed.

6. Use Google as a free proxy

What, your company blocks that hip new web site just because it drops the F bomb occasionally? Use Google's cache to take a peek even when the originating site's being blocked, with cache:example.com.

5. Remove affiliate links from product searches

When you're sick of seeing duplicate product search results from the likes of eBay, Bizrate, Pricerunner, and Shopping.com, clear 'em out by stacking up the -site:ebay.com -site:bizrate.com -site:shopping.com operator. Alternately, check out Give Me Back My Google (original post), a service that does all that known reseller cleaning up for you when you search for products. Compare this GMBMG search for a Cruzer 1GB flash drive to the regular Google results.

4. Find related terms and documents

Ok, this one's direct from any straight-up advanced search operator cheat sheet, but it's still one of the lesser-used tricks in the book. Adding a tilde (~) to a search term will return related terms. For example, Googling ~nutrition returns results with the words nutrition, food, and health in them.

3. Find music and comic books

Using a combination of advanced search operators that specify music files available in an Apache directory listing, you can turn Google into your personal Napster. Go ahead, try this search for Nirvana tracks: -inurl:(htm|html|php) intitle:"index of" +"last modified" +"parent directory" +description +size +(wma|mp3) "Nirvana". (Sub out Nirvana for the band you're interested in; use this one in conjunction with number 7 to find new music, too.) The same type of search recipe can find comic books as well.

2. ID people, objects, and foreign language words and phrases with Google Image Search

Google Image search results show you instead of tell you about a word. Don't know what jicama looks like? Not sure if the person named "Priti" who you're emailing with is a woman or a man? Spanish rusty and you forgot what "corazon" is? Pop your term into Google Image Search (or type image jicama into the regular search box) to see what your term's about.

1. Make Google recognize faces

google-face-recogniton_sm.png If you're doing an image search for Paris Hilton and don't want any of the French city, a special URL parameter in Google's Image search will do the trick. Add &imgtype=face to the end of your image search to just get images of faces, without any inanimate objects. Try it out with a search for rose (which returns many photos of flowers) versus rose with the face parameter.

2 comments