FabFTDI is DIY version of FTDI cable that can be made in fablab and this page descirbes how to make it. The FabFTDI uses an Atmega16U2 microcontroller and is based on USbtoSerial example of LUFA library. Figure below shows the schematic diagram of the FabFTDI:
Figure: Schematic circuit diagram of FabFTDI.
The FabFTDI is powered through USB port which provides 500mA at 5V. The USB data line D+/D- is used to communicate with the microcontrolle's USB controller. Since the data lines operate at 3.3V, two voltage limiting zener diodes are used to limit the voltage in these pins. The D- line is pulled-up to the 5V through 1.5K resistor to indicate to the host computer that the connnected device is a low-speed USB device. The USB controller needs a precise clock, therefore, an external 16MHz crystal is used as a precise clock source. The LED and the corresponding resistor R4 is optional but if used can be used as visual indication of data communication. The FabFTDI is a USB 2.0 Full-speed device and support upto 38400bps of serial communication. The Unix and Mac OS doesn not require any drivers, however, a driver is required for windows operating system (more on this later).
Figure below shows the FabFTDI board.
Figure: Board design of FabFTDI.
Download the PCB trace file and outline file from the links below:
Figure below shows the milled board. Inspect for error and make sure no wires are short-circuiting.
For stuffing FabFTDI board you will need following components:
It is recommended to start with stuffing smaller and difficult component and then bigger and easy components such as connectors. For this board soldering the micro-controller is tricky as the pins are very close to each other. Here, I am showing an easy way to solder the microcontroller. First, carelessly solder all the pins to the pads and then use copper braid to remove excess solder.
if you can see the typed character in term.py window echo'ing back then you have a working FabFTDI. Congratulations!!
If things don't workout, try following things
