Is it possible to use a microcontroller from the pre-USB era to fashion a USB device without using additional ICs? The designers set themselves this question a while ago. Many long evenings later, the answer proved to be ‘yes’. As a result, we can now present a USB I/O board based on a standard AVR microcontroller – without any special USB chips!
Resistors
R1 = 4kΩ7
R2,R5 = 1kΩ
R3 = SIL array 8x 100kΩ
R2,R4,R5 = 1kΩ5
R6,R7 = 68Ω
R8 = 10kΩ
R9 = SIL array 8x 470Ω
R10 = 100Ωk
P1 = 10kΩ preset
Capacitors
C1 = 22µF 20V radial
C2,C4,C5,C6,C7 = 100nF
C3 = 47µF 20V radial
C8,C9 = 18pF
Semiconductors
D1 = 1N4001
D2-D11 = low-current LED, red, lead pitch 2.5mm
IC1 = 7805CP
IC2 = DS1820
IC3 = ATmega32-16PC (programmed, E-SHOP # 060276-41)
IC4 = ULN2803A
Miscellaneous
K1= 2.5mm mains adaptor socket
K2= 10-way PCB terminal block, lead pitch 2.54 mm (e.g. Phoenix contact # 1725737)
K3= USB-B connector
K4 = 10-way boxheader
K5= 14-way pinheader
K6-K10= 3-way PCB terminal block, lead pitch 2.54mm (e.g. Phoenix contact # 1725669)
Re1-Re5 = 5V relay (e.g. OMRON G5V-1-DC5)
S1-S6 = pushbutton (e.g. OMRON B3F-1002)
X1 = 12MHz quartz crystal, HC49/U case
LCD module, 2x16 characters
PCB, E-SHOP # 060276-1