德国人搞的,很强大
收藏先
http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/index.html.en
USB2LPT – Cloning instructions for Release 1.6
This device is almost the same as
Release 1.5.
For high-speed USB, there is a
Release 1.7.
If 3.3V operation of ATmega is wanted, a user can now populate a dual diode BAV199 instead of the LD1117 of the previous version. This enables drawing less than 500 µA of standby current in this case.
Electronic Components
You need:
Pieces | Description | Reichelt Order Code | Price in € (2007) |
---|
1 | ATmega8 in TQFP32 package | ATMEGA 8-16 TQ | 1.70 |
1 | Ceramic capacitor 100 nF 0603 | X7R-G0603 100n | 0.051 |
1 | Resistor array 220 Ω 1206 | BCN16 | 0.02 |
1 | Resistor 10 kΩ 0805 | SMD-0805 10k | 0.10 |
1 | Electrolytic capacitor 10 µF | rad 10/35 | 0.041 |
1 | Yellow LED 3 mm | LED 3mm ST ge | 0.051 |
1 | SubD receptacle 25 pin | D-SUB BU 25 | 0.15 |
1 | USB receptacle MiniB through-hole | USB BWM | 0.50 |
1 | Housing | Kappe CG25G | 0.13 |
1 | USB cable 1 m | AK 673-A | 0.98 |
1 | Two-sided PCB (see below) | UL16LP | 1.00 |
It's not hard to populate this PCB.

(Sufficiently) populated PCB
The LED
The yellow multi-function LED shows following states:
- off:
- No power supply (cable broken or similar)
- USB2LPT not recognized by computer
- USB Standby mode - e.g. at notebook's suspend mode
- USB2LPT in bootloader mode
- on:
- USB2LPT active, output drivers enabled, inputs with pull-up resistors
- flashing:
- fast: USB BULK or INTERRUPT transfers (redirected IN and OUT instructions; normal operation)
- slow: USB CONTROL transfers (mostly initiated by Windows)
Software
- Drill holes into SubD shell for LED
- Label the shell
- Bend pins of USB receptacle straight – see picture
- Trim pins of LED and electrolytic capacitor to about 1 cm length
- Download and install either
PonyProg2000 or
WinAVR - PonyProg2000: Setup interface as shown here, check by connecting the programming adapter (this checks for connection between Pin 2 and Pin 12), invoke Setup→Calibration
Making-Of
- put SMD cream, 4 SMD components, make a reflow process – or solder by hand
- Check for short circuit between 5 volts and ground
- press and solder SubD receptacle keeping ½ mm gap between PCB and SubD shroud
- Align and solder USB receptacle (see helper tool), solder the pins with lowest possible iron temperature
- Populate electrolytic capacitor as flat as possible
- Align and solder the LED using the shell, watch for right polarity
- Check for short circuit between 5 volts and ground again
- Check "operation" by connecting the USB cable, must show as "inoperational USB device", this is the power supply for programming the bootloader
- Connect programming adapter to an old-style parallel port and program the bootloader, either
- PonyProg2000: load
main.hex
, write, set fuses exactly as shown here
Do not twiddle with the fuses without knowledge! You may make the ATmega unaccessible to PonyProg2000 and all other low-voltage serial programmers!
or - WinAVR: invoke
make prog
(directory src/firmware/USB2LPT6/bootloadHID
)
If your programming software doesn't recognize the right controller, check: - Programming adapter soldered correctly?
- Programming adapter used in correct direction?
- Solder jumper SJ2 (still) connected?
- Pins of SubD25 socket soldered correctly?
- Microcontroller soldered in correct alignment and angle? (If wrong, remove with a hot-air gun. If 180° wrong, use new ATmega8.)
- Mikrocontroller soldered without shorts?
- Cycle power to USB2LPT, let install driver
usb2lpt.inf
. The Bootloader (
HIDboot) will not occur bevause the .hex
file above contains both bootloader and the real USB2LPT firmware.
If there is no USB2LPT, then check: - Solder joints on USB socket correctly?
- USB socket not melted? (Contact springs still visible?)
- SMD solder joints correctly without shorts?
Check with another computer and/or with front-side or back-side USB connectors on PC, or using a USB hub. If USB2LPT seems to work unreliable, populating the crystal and downgrading to USB2LPT 1.5 firmware may help. The reason is an unstable 5V supply, that jitters the internal RC oscillator of the 1.6 firmware solution. - Remove programming adapter
- Scratch jumper SJ2 (the only solder jumper on silk-screen-less lower PCB side)
- Connect LPT checker or similar device, run
Kurzschlusstest.exe
, make corrections if necessary - Close shell, make a final check
Known PCB bugs
- The crystal and the both 22 pF capacitors are not to populate
- Population with ATmegaX8 is currently not recommended.
If you want ATmega48 population, R1 should be 4.7 kΩ, and the older firmware USB2LPT5 (and crystal) must be used. A bootloader cannot be used (this chip has no bootloader support) - If D2 (BAV199) is used, R1 must be 1.5 kΩ
Solder jumpers
This revision 6 (USB2LPT 1.6) has 3 pre-connected solder jumpers:
SJ1 can assign power to pin 25 of SubD receptacle:
- open: Pin 25 unbeschaltet
- right connected: Pin 25 to ground (default)
- left connected: Pin 25 to 5 volts
If power is needed, populating a self-resetting fuse is highly recommended.
- SJ2, connected at PCB fabrication, scratched at device manufacturing: activates the RESET pin of ATmega for programming the microcontroller.
- SJ3, connected by default, scratch when you want 3.3 volts operation of ATmega8 (e.g. for safer JTAG connection), populate a BAV199 and change R1. Moreover, scatch it to measure device's current consumption and re-solder.
USB2LPT – Cloning instructions for Release 1.7
Electronic Components
Almost identical to
Release 1.4. Except voltage regulator:
instead | now | GND current | output current | options | attention |
---|
LD1117S33 | TPS79733DCK | 1,3 µA | 50 mA (190 mA typ.) | PowerGood output | Populate C4 |
TPS71533DCK | 3,2 µA | 50 mA (125 mA min.) | – |
TPS71433DCK | 80 mA (100 mA min.) |
TPS77033DBV | 17 µA | 50 mA (340 mA typ.) | inverse enable input (not used here) | Do not populate C4! Instead, populate electrolytic or tantalum capacitor 10 µF into two holes beneath C4. This is because ESR must have a minimum for stable operation. |
TPS78833DBV | 150 mA (350 mA typ.) |
TPS76933DBV | 18 µA | 100 mA (350 mA typ.) |
Values in parentheses are for internal current limitation The overall current consumption of this device in USB idle state should now be about 500 µA, as required by USB specification.
(The EZUSB-FX2 chip itself contributes 500 µA:-)


Populated PCB. The capacitor C4 is exceptionally populated with an SMD tantalum capacitor
Software
Solder Jumper
Same as for
Revision 1.4.