Some new classes of optimal (v,4,1) optical orthogonal codes are constructed. First, mainly by using perfect difference families, we establish that such an optimal OOC exists for v⩽408, v≠25. We then look at larger (p,4,1) OOCs with p prime; some of these codes have the nice property that the missing differences are the (r−1)th roots of unity in Zp (r being the remainder of the Euclidean division of p by 12) and we prove that for r=5 or 7 they give rise to (rp,4,1) difference families. In this way we are able to give a strong indication about the existence of (5p,4,1) and (7p,4,1) difference families with p a respectively. In particular, we prove that for a given prime , the existence of a (7p,4,1) difference family is assured (1) if p<10,000 or (2) if ω is a given primitive root unity in Zp and we have with .
Finally, we remove all undecided values of v⩽601 for which a cyclic (v,4,1) difference family exists, and we give a few cyclic pairwise balanced designs with minimum block size 4.