<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1
<CURRENCY> U.S. DOLLAR
<S> <C>
<PERIOD-TYPE> 6-MOS
<FISCAL-YEAR-END> DEC-31-2000
<PERIOD-START> JAN-01-2000
<PERIOD-END> JUN-30-2000
<EXCHANGE-RATE> 1
<CASH> 28,226,960
<SECURITIES> 0
<RECEIVABLES> 7,221,718
<ALLOWANCES> 65,000
<INVENTORY> 8,898,361
<CURRENT-ASSETS> 46,447,703
<PP&E> 19,132,237
<DEPRECIATION> 9,896,519
<TOTAL-ASSETS> 55,789,939
<CURRENT-LIABILITIES> 7,213,410
<BONDS> 0
0
0
<COMMON> 66,452
<OTHER-SE> 48,485,186
<TOTAL-LIABILITY-AND-EQUITY> 55,789,939
<SALES> 7,625,162
<TOTAL-REVENUES> 7,959,342
<CGS> 4,965,042
<TOTAL-COSTS> 5,185,482
<OTHER-EXPENSES> 3,167,087
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 8,295
<INCOME-PRETAX> (393,227)
<INCOME-TAX> 1,256
<INCOME-CONTINUING> (394,483)
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> (394,483)
<EPS-BASIC> (.05)
<EPS-DILUTED> (.05)
</TABLE>