Condensed Statements Of Comprehensive Income (Loss) - USD ($) $ in Thousands |
3 Months Ended |
6 Months Ended |
Jun. 30, 2020 |
Jun. 30, 2019 |
Jun. 30, 2020 |
Jun. 30, 2019 |
| Statements Of Comprehensive Income (Loss) [Abstract] |
|
|
|
|
| Net sales |
$ 2,092
|
$ 2,260
|
$ 4,015
|
$ 4,268
|
| Cost of goods sold |
994
|
1,025
|
1,918
|
1,966
|
| Gross profit |
1,098
|
1,235
|
2,097
|
2,302
|
| Operating expenses |
|
|
|
|
| Selling and marketing |
443
|
516
|
901
|
1,001
|
| General and administrative |
440
|
418
|
905
|
890
|
| Research and development |
196
|
213
|
413
|
409
|
| Total operating expenses |
1,079
|
1,147
|
2,219
|
2,300
|
| Operating income (loss) |
19
|
88
|
(122)
|
2
|
| Non-operating income (expense) |
|
|
|
|
| Loss on investment |
0
|
0
|
(3)
|
0
|
| Interest expense |
(1)
|
(1)
|
(1)
|
(1)
|
| Interest income |
1
|
41
|
33
|
85
|
| Other income |
0
|
3
|
2
|
5
|
| Total non-operating income, net |
0
|
43
|
31
|
89
|
| Income (loss) before income tax expense (benefit) |
19
|
131
|
(91)
|
91
|
| Provision for (benefit of) income tax |
1
|
28
|
(18)
|
19
|
| Net income (loss) |
18
|
103
|
(73)
|
72
|
| Other comprehensive income |
|
|
|
|
| Change in unrealized value of available-for-sale securities, net of income tax |
0
|
7
|
0
|
8
|
| Other comprehensive income |
0
|
7
|
0
|
8
|
| Net comprehensive income (loss) |
$ 18
|
$ 110
|
$ (73)
|
$ 80
|
| Basic |
|
|
|
|
| Net income (loss) per share |
$ 0.01
|
$ 0.03
|
$ (0.02)
|
$ 0.02
|
| Weighted average shares |
3,395,521
|
3,395,521
|
3,395,521
|
3,395,521
|
| Diluted |
|
|
|
|
| Net income (loss) per share |
$ 0.01
|
$ 0.03
|
$ (0.02)
|
$ 0.02
|
| Weighted average shares |
3,395,521
|
3,395,521
|
3,395,521
|
3,395,521
|