<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<S> <C>
<PERIOD-TYPE> 6-MOS
<FISCAL-YEAR-END> DEC-31-2000
<PERIOD-START> JAN-01-2000
<PERIOD-END> JUN-30-2000
<CASH> 1,132,233
<SECURITIES> 0
<RECEIVABLES> 17,798,343
<ALLOWANCES> 775,000
<INVENTORY> 15,741,641
<CURRENT-ASSETS> 34,673,124
<PP&E> 15,477,109
<DEPRECIATION> 12,148,816
<TOTAL-ASSETS> 43,872,081
<CURRENT-LIABILITIES> 14,526,359
<BONDS> 0
0
0
<COMMON> 901
<OTHER-SE> 26,044,821
<TOTAL-LIABILITY-AND-EQUITY> 26,045,722
<SALES> 48,278,978
<TOTAL-REVENUES> 48,278,978
<CGS> 33,987,695
<TOTAL-COSTS> 16,519,850
<OTHER-EXPENSES> 24,860
<LOSS-PROVISION> 482,898
<INTEREST-EXPENSE> 499,541
<INCOME-PRETAX> (2,752,968)
<INCOME-TAX> (48,000)
<INCOME-CONTINUING> (2,704,968)
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> (2,704,968)
<EPS-BASIC> (0.37)
<EPS-DILUTED> (0.37)
</TABLE>