While PCR primer design for the amplification of known sequences is usually quite straightforward, the design, and successful application of primers aimed at the detection of as yet unknown genes is often not. The search for genes that are presumed to be distantly related to a known gene sequence, such as homologous genes in different species, paralogs in the same genome, or novel pathogens in diverse hosts, often turns into the proverbial search for the needle in the haystack. PCR-based methods commonly used to address this issue involve the use of either consensus primers or degenerate primers, both of which have significant shortcomings regarding sensitivity and specificity. We have developed a novel primer design approach that diminishes these shortcomings and instead takes advantage of the strengths of both consensus and degenerate primer designs, by combining the two concepts into a Consensus-Degenerate Hybrid Oligonucleotide Primer (CODEHOP) approach. CODEHOP PCR primers contain a relatively short degenerate 3' core and a 5' nondegenerate clamp. The 3' degenerate core consists of a pool of primers containing all possible codons for a 3-4 aminoacid motif that is highly conserved in multiply aligned sequences from known members of a protein family. Each primer in the pool also contains a single 5' nondegenerate nucleotide sequence derived from a codon consensus across the aligned aminoacid sequences flanking the conserved motif. During the initial PCR amplification cycles, the degenerate core is responsible for specific binding to sequences encoding the conserved aminoacid motif. The longer consensus clamp region serves to stabilize the primer and allows the participation of all primers in the pool in the efficient amplification of products during later PCR cycles. We have developed an interactive web site and algorithm (iCODEHOP) for designing CODEHOP PCR primers from multiply aligned protein sequences, which is freely available online. Here, we describe the workflow of a typical CODEHOP PCR assay design and optimization and give a specific implementation example along with "best-practice" advice.