Commit d93cc298 authored by Prashant Patil's avatar Prashant Patil

added documentation

parent a74df630
Pipeline #1136 passed with stage
in 12 seconds
File added
......@@ -38,47 +38,84 @@
</ol>
<p>It is recommended to start with stuffing smaller and difficult components first and then bigger and easy components such as connectors. For FabFTDI, start with soldering the micro-controller as it is tricky since 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. </p>
<img src="index_files/uCSoldering1.png" width="450" height="336" alt=""/><img src="index_files/uCSoldering2.png" width="450" height="336" alt=""/>
<p>
<img src="index_files/uCSoldering1.png" width="450" height="336" alt=""/>
&nbsp
&nbsp
<img src="index_files/uCSoldering2.png" width="450" height="336" alt=""/>
</p>
<p>Once the micro-controller is soldered. Solder other components like resistors and capacitors. Finally, at last, solder ISP connector and FTDI connector. Figure below shows my stuffed board. </p>
<img src="Documentation/FabFTDI_Assembled.JPG" width="900" height="337" alt=""/>
<h1>3 Programing Fuses and Firmware</h1>
<img src="index_files/FabFTDI_Assembled.JPG" width="900" height="337" alt=""/>
<h1>3 Program the FabFTDI firmware</h1>
<ol>
<li>Download the firmware file from <a href="Firmware/default/cdctiny45.hex">here</a>. Flash it using the following command (replace avrisp2 with usbtiny if you are using fabisp)<br />
<br />
sudo avrdude -p t45 -c avrisp2 -P usb -U flash:w:usbtoserial.hex:i <br />
<br />
</li>
<li>Flash fuses using following commands<br />
<li>Download the firmware file from <a href="Firmware.zip">here</a> and extract it. </li>
<li>Open a terminal and navigate to the the <em>Firmware</em> directory. Connect your programmer (In my case I am using FabISP) to the FabFTDI ISP connector (make sure to connect in right orientation). To program your board execute the following command:
<pre><strong> $ make program-usbtiny </strong></pre>
<br />
<ul>
<li>sudo avrdude -p m16u2 -c avrisp2 -U lfuse:w:0xF1:m</li>
<li>sudo avrdude -p m16u2 -c avrisp2 -U hfuse:w:0xCE:m</li>
<li>sudo avrdude -p m16u2 -c avrisp2 -U euse:w:0xFF:m<br />
</li>
</ul>
(if you are using avrisp2 porgramer than execute the following command:<br />
<pre><strong> $ make program-avrisp2</strong></pre>
(Note - The code is pre-complied, however, if you want to recompile it locally before flashing it into your FabFTDI board execute the following commands:<br />
Clean and remove the previously compiled files.<br />
<pre><strong> $ make clean</strong> </pre>
Recomplie the files again<br />
<pre> <strong>$ make</strong> </pre>
Program the newly created hex file to your FabFTDI board. <br />
<pre> <strong>$ make program-usbtiny</strong> </pre>
</li>
<li>Once the program is succesfully flashed, disconnect the programmer and disconnect the FabFTDI from your computer. Now, connect the FabFTDI back again to your computer and this time the operating system should detect your bouard as FabFTDI. Next section describes how to check if your operating system can detect connected FabFTDI. <br />
</li>
</ol>
<h3></p>
<p>&nbsp;</p>
<h1>4 Testing your FabFTDI</h1>
<h1>4 Verify that the OS succesfully detects the FabFTDI</h1>
<p>Once you connect the FabFTI to your computer, both Mac and Unix operating system should detect it right away without needing any driver. However, Windows operating system would require a driver (more on this later). Follow the instruction for your operating system to check if the FabFTDI is detected sucessfully</p>
<h2>4.1 MAC OSX</h2>
<p>Click on the apple icon on the top-left of the screen and then click on "About this Mac". A "system information" box will open, click on the "system report" button which will open another window. On the left of the window, scroll-down and click on USB. Here you should see FabFTDI listed. &nbsp;See the image below for reference.</p>
<img src="index_files/FabFTDI_Mac.png" width="884" height="685" alt=""/>
<h2>4.2 Ubuntu</h2>
<p>In ubuntu, lsusb command is used to list all connected usb devices. Open a terminal and type<br />
<br />
<pre><strong> $ lsusb</strong></pre>
<br />
In the list of connected USB devices, you should see FabFTDI listed.
</p>
<h2>4.3 Windows</h2>
<p>Windows operating system need a driver for the FabFTDI to work. When you will connect the FabFTDI to your Windows PC, it will be registered as an "unrecognized device". Follow the instructios below to install the driver.</p>
<ol>
<li>Connect your FabFTDI to the computer and verify that the operating system is able to detect it. For Mac and Unix operating systems, you do not need any driver and the operating system should be able to detect the FabFTDI as soon as connected to the computer. For unix based operating system, in the terminal type: lsusb. You should see the list of all the connected devices, one of which should be FabFTDI (screenshot below). For Mac go to "about this Mac, scroll to USB devices and you should see FabFTDI listed there (screenshot below). For Windows, first download the driver from <a href="Firmware/USBtoSerial/LUFA USBtoSerial.inf">here</a> (right click and then "save link as").</li>
<li>To test the &nbsp;FabFTDI, connec the Rx and Tx using a jumper cable.</li>
<li>Next step is same as what you did in <a href="http://academy.cba.mit.edu/classes/embedded_programming/hello.ftdi.44.program.png">Embedded programming week</a>. Connect FabFTDI to hello.ftdi.44.echo and execute command<br />
<li>Downlaod the driver (.inf file) from <a href="Firmware/LUFA USBtoSerial.inf">here.</a></li>
<li>Open the device manager, right click on the "unrecognized device" and click on "update driver".</li>
<li>Give the path to the downloaded .inf driver file and windows should be able to succesfully install the driver. </li>
</ol>
<p>Once the drive is succesfully installed, the FabFTDI should be listed as "LUFA USB to Serial" in windows device manager. Check the image below for reference. </p>
<img src="index_files/DeviceManager_Windows.PNG" width="803" height="587" alt=""/>
<h1>5 Testing your FabFTDI</h1>
<p>We are almost done! To check that our FabFTDI is indeed functining as a FTDI cable, we would need a serial terminal through which we will send some characters to our FabFTDI. The easiest way I have found is using the serial monitor that comes with Arduino IDE. Below are the instructions to test your FabFTDI:</p>
<ol>
<li>If you don't already have arduino, download and istall it.</li>
<li>Open the arduino IDE.Go to tools-port and select the FabFTDI port (in my case, its COM6)<br />
<br />
</li>
<img src="index_files/Arduino_SetPort.png" width="507" height="608" alt=""/>
<li>Now go to Tools and open "Serial Monitor".</li>
<li>Connect the Rx and Tx pin of your FabFTDI board using a jumper wire (or a jumper, or just wrap a wire around Rx and Tx pin) as show below. </li>
<li>Now go to "Tools" and open "Serial Monitor". In the Serial Monitor, the top text input box is for sending the character to the FabFTDI and the bottom "read only text box is showing the recieved characters. Since, we have connected the Rx and Tx pin. Any character send to the FabFTDI will be recieved back to FabFTD and should appear in the reciever text box. <br />
<br />
python term.py /dev/ttyACM0 4800</li>
Type something on the top text box and click on "send". If you see the same characters show in the text box below, you have a working FabFTDI. Congratulations!! </li>
<img src="index_files/Serial_Monitor.PNG" width="780" height="391" alt=""/>
</ol>
<p>if you can see the typed character in term.py window echo'ing back then you have a working FabFTDI. Congratulations!!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1>5 Troubleshooting</h1>
<p>If things don't workout, try following things</p>
<p>&nbsp;</p>
<h1>6 Troubleshooting</h1>
<p>Sometime things don't workout the way we want them to, If your FabFTDI is not working, try following things</p>
<ol>
<li>Double check the polarity of the two Zener diodes.</li>
<li>Consider using other USB port on your computer. </li>
<li>Check if the FabFTDI is connected in the right orientation. Match GND pin of FabFTDI to GND pin of hello.ftdi.44.echo board.</li>
<li>Make sure FabFTDI is plugged-in properly and not loose.<br />
</li>
<li>Consider using other USB port on your computer. Our FabFTDI is a USB 2.0 full speed device. Many modern computers come with USB 3.0 ports which technically should be compatible with USB 2.0, however, sometime connecting a USB 2.0 to a USB 3.0 port doesn't work. </li>
<li>Check that you have used the right resonator. It must be 16MHz resonator. </li>
</ol>
<p>&nbsp;</p>
......
index_files/FabFTDI_Mac.png

291 KB | W: | H:

index_files/FabFTDI_Mac.png

262 KB | W: | H:

index_files/FabFTDI_Mac.png
index_files/FabFTDI_Mac.png
index_files/FabFTDI_Mac.png
index_files/FabFTDI_Mac.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment