<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<S> <C>
<PERIOD-TYPE> 6-MOS
<FISCAL-YEAR-END> JAN-31-2001
<PERIOD-START> MAY-01-2000
<PERIOD-END> JUL-31-2000
<CASH> 141,590
<SECURITIES> 0
<RECEIVABLES> 1,536,586
<ALLOWANCES> 10,000
<INVENTORY> 1,853,317
<CURRENT-ASSETS> 3,674,739
<PP&E> 4,043,136
<DEPRECIATION> 3,238,711
<TOTAL-ASSETS> 5,540,886
<CURRENT-LIABILITIES> 1,305,783
<BONDS> 0
0
0
<COMMON> 5,536,815
<OTHER-SE> (1,357,512)
<TOTAL-LIABILITY-AND-EQUITY> 5,540,886
<SALES> 4,120,113
<TOTAL-REVENUES> 4,120,113
<CGS> 2,869,451
<TOTAL-COSTS> 3,901,568
<OTHER-EXPENSES> (26,232)
<LOSS-PROVISION> (15,000)
<INTEREST-EXPENSE> (30,747)
<INCOME-PRETAX> 162,195
<INCOME-TAX> 3,300
<INCOME-CONTINUING> 158,895
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> 158,895
<EPS-BASIC> .02
<EPS-DILUTED> .02
</TABLE>