Description: This project is a variant of the UsbProg project developed by Benedikt Sauter. The schematics, board layout, and firmware have been released as an open-source project. Modifications include the option to place a jumper across JP3 pins 2 and 3, allowing LED1 to be controlled by PD7, which frees PA4 for use with all 8 pins of PORTA. PORTA is accessible through CONN3. When the jumper is set in this configuration, the UsbProg-SHARP board is incompatible with the standard UsbProg firmware and requires a specially modified firmware that has not yet been created. The board operates when connected to a Win32 PC and, with a firmware update, can also enumerate on a Macintosh. However, a Mac OS X driver is still pending development. On August 12, 2007, Benedikt provided a new firmware binary for avrispmk2klon, enabling the UsbProg-SHARP to enumerate on a Mac. By the end of that day, the new code was added to the subversion SCM. On July 29, 2007, communication issues with the board were traced to three ATmega32 pins that were not making contact with their pads, which were resolved by reflowing those pins. The board is now functional, with fuses configured so the ATmega32 uses the clock from the USBN9604. The board revision was etched and populated on July 26, 2007. An initial attempt to flash the ATmega32 via ISP failed as neither AvrDude nor AVR Studio could communicate with the board, prompting debugging efforts. On July 22, 2007, the footprint of the two 2x5 headers was changed to through-hole, as surface mount headers were deemed likely to peel off under ribbon cable stress. The board layout was created from scratch to facilitate home-brew etching techniques, with as many traces placed on the top side as possible. All traces are 10 mil (0.010 inches) wide, with spacing of 10 mil or greater. Approximately seven bottom-side traces require air-wire soldering, most ending at a via or pad. Although via holes do not need to be drilled, drilling simplifies the placement of air wires, which can alternatively be soldered to the top pad of the vias using fine wire. The USB connector was changed to a mini-B type for surface mounting on the top side, while both connector headers remain through-hole to withstand ribbon cable forces. The EAGLE board layout file is named usbprog.brd, and a mirrored PDF is provided for printing a transparency to etch a custom board. The first etching attempt on July 22, 2007, was unsuccessful due to a 5% scaling error in the layout transparency. However, the etching technique was effective, resulting in a clean board despite fine-pitch traces and footprints. Subsequent etching on July 28, 2007, was successful with the correct transparency scale, producing a board with clean traces and adequate spacing. The board was populated using Kester solder paste and a hot air gun set to 302 degrees Celsius, with components added in the following order: USB mini-B connector, all 0805 components, crystal, USBN9604, and ATmega32. The header connectors, jumpers, and air wires were soldered using a solder pencil. After a night of debugging, the board successfully communicated with an Atmel STK500 and was programmed, confirming its functionality.
The UsbProg-SHARP project represents an evolution of the original UsbProg design, focusing on enhancing usability and compatibility while enabling flexibility in firmware development. The modification involving the jumper at JP3 allows for a more versatile use of the ATmega32's ports, making it adaptable for various applications. The decision to switch to through-hole headers emphasizes durability when interfacing with ribbon cables, which are often subject to mechanical stress.
The layout design prioritizes ease of home fabrication, with a clear emphasis on maintaining trace width and spacing that accommodates typical etching processes. The use of Kester solder paste and a hot air gun for component placement exemplifies a modern approach to assembly, ensuring reliable connections while minimizing the risk of thermal damage to sensitive components.
Future work should focus on developing the necessary Mac OS X driver to fully utilize the board's capabilities on Macintosh systems. Additionally, the creation of a specialized firmware version compatible with the modified configuration will enhance the board's functionality and usability within the broader open-source community. As the project progresses, continuous testing and feedback will be essential to refine the design and ensure robust performance across different operating environments.This project is an instance of the UsbProg project created by Benedikt Sauter. Bene released the schematics, board layout and firmware as an open-source project. I took that project and made these modifications: Or, optionally, place a jumper across JP3 pins 2 and 3 so that LED1 is controlled by PD7. This frees up PA4 so that all 8 pins of PORTA c an be used. PORTA is available via CONN3. When the jumper is in this position, the UsbProg-SHARP board is no longer compatible with stock UsbProg firmware and requires a special version of the firmware that has yet to be created. The board works when connected to a Win32 PC and with an update to the firmware, enumerates on a Macintosh as well!
However, there is still no Mac OS X driver; work shall begin on that soon. 2007/08/12: Benedikt emailed me a new firmware binary for avrispmk2klon this morning that allows the UsbProg-SHARP to enumerate on a Mac! By the end of the day, Bene had put the new code in the subversion SCM. 2007/07/29: The board communication problems were due to 3 ATmega32 pins not making contact with their pads.
Reflowing those pins solved the issue. The board is functional. Fuses were set so the ATmega32 will use the clock from the USBN9604. 2007/07/28: Etched and populated the board rev 2007/07/26. Attempted to flash the ATmega32 via ISP, but niether AvrDude nor AVR Studio could communicate with the board. An effort is underway to debug the communication problem. 2007/07/22: Changed the footprint of the two 2x5 Headers to be through-hole. Arty felt that the surface mount headers might peel-off when subjected to the forces on a ribbon cable.
I created the board layout from scratch. I did this because my goal is to make a layout that can be etched using home-brew techniques. This means I have put as many traces on the top side as possible. All traces are 10 mil (0. 010 inches) and in-between spacing is 10 mil or greater. There are roughly seven bottom-side traces that will require air-wire soldering. Most bottom-side traces end at a via or pad. The holes for the vias do not need to be drilled, but drilling does make placing the air wires easyer. Alternatively, a fine wire (for example, wirewrap wire) can be soldered to the via`s top pad. I also changed a few parts, such as the USB connector to type mini-B, so that the part would be surface mount on the top side.
One exception to this is that both connector headers are through-hole. This was done because the pads for a surface mount header might not be able to withstand the physical forces on a ribbon cable. Here is the EAGLE board layout file: usbprog. brd Here is a mirrored PDF so you can print a transparency and etch your own. A mirrored layout is given so that you can place the toner side of the transparency face to face with the etch-resist side of the copper board.
The first attempt at etching a board was on 2007/07/22. This attempt was not successful because the layout transparency was scaled 5% smaller than the necessary size. However, the etching technique worked very well and the resulting board looks clean despite the many fine-pitch traces and footprints.
We also learned a few things about solder paste and how to use a hot-plate to simultaneously solder many components. The second attempt at etching took place on 2007/07/28. With the transparency at the correct scale, we etched the board (revision 2007/07/26). Again, the etching process produced a fantastic board. Clean traces with empty spaces in between. We populated the board using Kester solder paste and a hot air gun set to 302 degrees C. The order of the components was as follows: USB mini-B connector, all 0805 components, crystal, USBN9604 and the ATmega32.
The header connectors, jumpers and seven air wires were then soldered using a solder pencil. After one night of debugging, the board is able to communicate with an Atmel STK500 and be programmed! The board is functional. A second day
This USB to Serial RS232 adapter is highly beneficial in scenarios where a device with RS232 needs to be connected to a computer lacking an RS232 port but equipped with a USB port. Utilizing the FT232BM chip produced by Future...
Most peripherals that interface with a PC utilize a USB port. The computer's power supply circuit, specifically the switched-mode power supply (SMPS), is designed to provide constant power to all internal components. However, when external peripherals that require a significant...
This project is aimed at building a small circuit that fits into a standard USB Visor cradle and that adds RS-232 capabilities. Note that Handspring sells a serial cradle but if you have more time than money, do it yourself...
The modification made is based on the SC1 modification by Steve Chambers and further improvements by Phil Davis, but it does not utilize the additional parallel port connection. All differences from the original SC1 modification and Phil's improvement are considered...
A USB port is capable of supplying more than 100 mA of continuous electric current at 5V to peripherals connected to the bus. This feature allows a USB port to power 5V DC-operated small electronic devices without issues. Many handheld...
Currently, nearly all computer systems include logic blocks designed for interfacing with a USB port. In practical terms, a USB port can provide more than 100 mA of continuous electric current at 5V to the peripherals connected to the bus.
The...
The F232 device is powered via USB, but it requires a level translator at its output. The transmit (Tx) signal from the F232 must be converted to RS232 levels, as the receiving side has a maximum voltage requirement. The receive...
Illuminate your tabletop with this stylish White LED Lamp. It is powered through a USB port, making it perfect for taking notes while browsing the internet. The USB port can provide a convenient power source.
The White LED Lamp is designed...
A device that provides a USB port is recognized as a "CP2103 USB to UART Bridge Controller" when connected to a Windows PC. According to the device documentation, it communicates in serial format at 38400 bps. The USB pinout differs...
We use cookies to enhance your experience, analyze traffic, and (if you allow) serve personalized ads.
By clicking Accept All, you agree to our use of cookies.
Learn more