<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM FINANCIAL
DATA FOR THE SIX MONTH PERIOD ENDED JUNE 30, 2000 AND IS QUALIFIED IN ITS
ENTIRETY BY REFERENCE TO SUCH FINANCIAL STATEMENTS.
</LEGEND>
<MULTIPLIER> 1,000
<S> <C>
<PERIOD-TYPE> 6-MOS
<FISCAL-YEAR-END> DEC-31-2000
<PERIOD-START> JAN-01-2000
<PERIOD-END> JUN-30-2000
<CASH> 1,538
<SECURITIES> 0
<RECEIVABLES> 3,938
<ALLOWANCES> 106
<INVENTORY> 1,103
<CURRENT-ASSETS> 6,896
<PP&E> 4,379
<DEPRECIATION> 2,991
<TOTAL-ASSETS> 23,474
<CURRENT-LIABILITIES> 5,666
<BONDS> 0
0
7,578
<COMMON> 60
<OTHER-SE> 9,088
<TOTAL-LIABILITY-AND-EQUITY> 23,474
<SALES> 12,647
<TOTAL-REVENUES> 12,647
<CGS> 7,848
<TOTAL-COSTS> 7,848
<OTHER-EXPENSES> 5,731
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 108
<INCOME-PRETAX> (1,040)
<INCOME-TAX> 0
<INCOME-CONTINUING> (1,040)
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> (1,040)
<EPS-BASIC> (0.22)
<EPS-DILUTED> (0.22)
</TABLE>