<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Starlino Electronics &#187; usb</title>
	<atom:link href="http://www.starlino.com/tag/usb/feed" rel="self" type="application/rss+xml" />
	<link>http://www.starlino.com</link>
	<description>Electronics and Robotics Projects, Tutorials, Reviews, Experiments</description>
	<lastBuildDate>Sat, 28 Jan 2012 01:38:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Play PC games the iPad style  &#8211; Using a PIC with  USB,  accelerometer  and optional Gyroscope</title>
		<link>http://www.starlino.com/usb_thumb_imu.html</link>
		<comments>http://www.starlino.com/usb_thumb_imu.html#comments</comments>
		<pubDate>Tue, 06 Apr 2010 12:43:50 +0000</pubDate>
		<dc:creator>starlino</dc:creator>
				<category><![CDATA[Motion Sensing USB Devices]]></category>
		<category><![CDATA[accelerometer]]></category>
		<category><![CDATA[Acc_Gyro]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[imu]]></category>
		<category><![CDATA[motion]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[UsbThumb]]></category>

		<guid isPermaLink="false">http://usb_thumb_imu</guid>
		<description><![CDATA[<p>The iPad is finally out - one feature that might caught your attention is the built-in accelerometer and the ability to control a game by tilting the device. But it turns out you can do same thing on your laptop. Read on to find out how.</p>]]></description>
			<content:encoded><![CDATA[<p>The iPad is finally out &#8211; one feature that might caught your attention is the built-in accelerometer and the ability to control a game by tilting the device. For more than a year I was working on a similar idea for the PC Notebook market based on my original&nbsp; motion gamepad project that would&nbsp; allow playing a game by tilting the laptop/netbook. Now that iPad is out I hope that the notebook/netbook manufactures will catch up by incorporating MEMS sensor into their devices. Here is the result of my prototype , it is a USB attached device, but ideally I think this should be embedded into the laptop.</p>
<p><strong>Demo:</strong></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="385" width="640"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/CTSlfDLNlUo&amp;hl=en_US&amp;fs=1&amp;" /><embed allowfullscreen="true" allowscriptaccess="always" height="385" src="http://www.youtube.com/v/CTSlfDLNlUo&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" width="640"></embed></object></p>
<p><span id="more-21"></span></p>
<p><strong>About the project:</strong></p>
<p>For the hardware I used the <a href="http://www.gadgetgangster.com/213">Acc_Gyro</a> sensor and a thumb-size PIC platform <a href="http://www.gadgetgangster.com/240">UsbThumb</a> built around the inexpensive PIC18F14K50 chip that provides all the necessary USB connectivity and ADC inputs.</p>
<p>This setup is actually hardware compatible with my original <a href="http://www.gadgetgangster.com/231">Motion Gamepad</a> design so all the software utilities and firmware will work on the Acc_Gyro + UsbThumb combination that is available as a kit under the name of <a href="http://www.gadgetgangster.com/290">UsbThumbImu </a>. The Acc_Gyro fits on top of UsbThumb and this is not a coincidence since UsbThumb was designed as microcontroller helper for the Acc_Gyro with the idea of being able to provide the USB/Serial/SPI/I2C interface, as well as making use of the built-in 10bit ADC module of the PIC18F14K50.</p>
<p><img alt="" height="244" src="http://www.gadgetgangster.com/scripts/thumbs/pic/290/4433949229_26c3104238_b.jpg" width="300" /></p>
<p>&nbsp;</p>
<p><img alt="" height="244" src="http://www.gadgetgangster.com/scripts/thumbs/pic/290/4434725210_859ebbffe2_b.jpg" width="300" /></p>
<p>&nbsp;</p>
<p>In the pictures above headers are used to connect the device, so the end result is a little taller&nbsp; than you could get if you&#39;d simply solder the two boards together. Both devices have been designed for people that would like to extend&nbsp; or experiment with the existing solution so there is a second row of connectors on the UsbThumb that can be used to connect buttons or other devices to the project.&nbsp;</p>
<p>&nbsp;</p>
<p>All that&#39;s it for now &#8211; hope you liked the project. It was really easy to built having the two important components UsbThumb and Acc_Gyro. You&#39;ll find more info on individual components on my website as well as&nbsp; on the <a href="http://www.gadgetgangster.com/290">GadgetGangster</a> site with whom I partnered to provide kits for anyone interested. If you don&#39;t find the necessary information, or you have any any suggestions, ideas or questions &#8211; as always feel free to drop me a line with in the comment area below.</p>
<p>&nbsp;</p>
<p>//starlino//</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.gadgetgangster.com/240"><br />
	</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.starlino.com/usb_thumb_imu.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Trickster Mouse Emulator – April Fools Day Practical Joke</title>
		<link>http://www.starlino.com/usbthumb_mouse_emulator.html</link>
		<comments>http://www.starlino.com/usbthumb_mouse_emulator.html#comments</comments>
		<pubDate>Wed, 31 Mar 2010 18:57:43 +0000</pubDate>
		<dc:creator>starlino</dc:creator>
				<category><![CDATA[Fun Projects]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[UsbThumb]]></category>

		<guid isPermaLink="false">http://usbthumb_mouse_emulator</guid>
		<description><![CDATA[<p>Trickster is a simple application built on UsbThumb platform. It tricks your victim into thinking they have a virus on their computer, by hardware emulating and moving their mouse in circles on intermittent intervals.</p>]]></description>
			<content:encoded><![CDATA[<p>Trickster is a simple application built on UsbThumb platform. It tricks your victim into thinking they have a virus on their computer, by hardware emulating and moving their mouse in circles on intermittent intervals.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="300" width="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=10510369&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed allowfullscreen="true" allowscriptaccess="always" height="300" src="http://vimeo.com/moogaloop.swf?clip_id=10510369&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" width="400"></embed></object></p>
<p><span id="more-20"></span>It is basically a customization of Mouse emulation demo that Microchip bundles with their USB Framework.</p>
<p>The code responsible for enabling/disabling mouse emulation is triggered by a timer interrupt like so:</p>
<p>
	<span class="edit_monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OpenTimer0( TIMER_INT_ON &amp;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T0_16BIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T0_SOURCE_INT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T0_PS_1_256);</p>
<p>	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;&#8230;&#8230;.</span></p>
<p><span class="edit_monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //These are your actual interrupt handling routines.</span></p>
<p>&nbsp;</p>
<p><span class="edit_monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #pragma interrupt YourHighPriorityISRCode<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void YourHighPriorityISRCode()<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Check which interrupt flag caused the interrupt.<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Service the interrupt<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Clear the interrupt flag<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Etc.<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #if defined(USB_INTERRUPT)<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; USBDeviceTasks();<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endif<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(INTCONbits.TMR0IF){<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; counter_s++; <br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //to interrupt every 1s we need to count FOSC / 4/ 256&nbsp; = 46875 ticks (0xB71B)<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //to count these ticks till overflow we need to set TMR0 to&nbsp; 0xFFFF &#8211; 0xB71B = 0x48E4 <br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TMR0H = 0&#215;48; //will write to TMR0H buffer<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TMR0L = 0xE4; //will write actual TMR0L / TMR0H&nbsp; </p>
<p>	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INTCONbits.TMR0IF = 0;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //This return will be a &quot;retfie fast&quot;, since this is in a #pragma interrupt section</span></p>
<p class="edit_monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INTCONbits.TMR0IE = 0;&nbsp; //disable Timer0 interrupt<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(emulate_mode &amp;&amp; counter_s &gt; 3){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // seconds on<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; counter_s = 0;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; emulate_mode = 0;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else if (!emulate_mode &amp;&amp; counter_s &gt; 60){&nbsp;&nbsp;&nbsp;&nbsp; //seconds off<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; counter_s = 0;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; emulate_mode = 1;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INTCONbits.TMR0IE = 1;</p>
<p>&nbsp;</p>
<p><span class="edit_monospace"><br />
	</span></p>
<p>For full source code see:</p>
<p><a href="http://code.google.com/p/usbthumb/source/browse/#svn/trunk/UsbThumbMousePrank" target="_blank">http://code.google.com/p/usbthumb/source/browse/#svn/trunk/UsbThumbMousePrank</a></p>
<p><strong>UsbThumb is an open-hardware platform, anyone can build their own:</strong></p>
<p><a href="http://code.google.com/p/usbthumb/source/browse/#svn/trunk/Hardware" target="_blank">http://code.google.com/p/usbthumb/source/browse/#svn/trunk/Hardware</a></p>
<p>or pick up a prebuilt SMT version of UsbThumb here: <a href="http://www.gadgetgangster.com/303">http://www.gadgetgangster.com/303</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.starlino.com/usbthumb_mouse_emulator.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Updating Firmware on USBThumb</title>
		<link>http://www.starlino.com/usbthumb_firmware_upgrade.html</link>
		<comments>http://www.starlino.com/usbthumb_firmware_upgrade.html#comments</comments>
		<pubDate>Thu, 18 Mar 2010 16:57:21 +0000</pubDate>
		<dc:creator>starlino</dc:creator>
				<category><![CDATA[USBThumb]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[propeller]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[UsbThumb]]></category>

		<guid isPermaLink="false">http://usbthumb_firmware_upgrade</guid>
		<description><![CDATA[<p>This article describes how to update firmware on USBThumb.</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://gadgetgangster.com/240" target="_blank">USBThumb</a> can be programmed with different firmware, including all Microchip samples from <a href="http://www.google.com/search?q=Microchip+USB+Framework" target="_blank">USB Framwework</a> (use the ones for low pin count USB demo board).</p>
<p>In order to upload a new firmware to USBThumb you need to enter the bootloader mode. This is done by connecting the&nbsp; VPP pin to ground during the time when device is plugged into the USB port.</p>
<p>This can achieved by placing a jumper wire or a 1K resistor (recommended) between GND and VPP pin.</p>
<p><strong>GND pin is number 1, and VPP is number 5. <span style="background-color: rgb(255, 255, 0);">Make sure you do not confuse VPP with the nearby VDD(pin number 4) or you will get a short !!! To be safe use a 1K or 10K resistor instead of the wire.</span> Wire/resistor can be held by the spring action, it only needs to make contact during a split second while the device is plugged. If you plan on making frequent firmware updates , soldering a header is recommended.</strong></p>
<p><img alt="IMG_1408.JPG" src="http://www.starlino.com/wp-content/uploads/data/usbthumb_firmware_upgrade/IMG_1408.JPG" /></p>
<p><span id="more-19"></span>Before plugging the device to USB port,&nbsp; start the &quot;USB HID Bootloader&quot; application (it is installed as part of the Microchip USB Framework, look in C:\Microchip Solutions\USB Device &#8211; Bootloaders\HID &#8211; Bootloader), a copy is placed here for download:</p>
<p><a href="data/usbthumb_firmware_upgrade/HIDBootLoader.zip">HIDBootLoader.zip</a></p>
<p>Next insert the USBThumb into the USB port (with the VPP and GND pins connected) , you should see a &quot;Device attached.&quot; message in the USB HID Bootloader window.</p>
<p>Next steps are simple:</p>
<p>1. Click on &ldquo;Open Hex File&rdquo; button and select the new firmware .HEX file you want to load<br />
	2. Click on &ldquo;Program/Verify&rdquo; and wait for the process to complete<br />
	3. Unplug the device from USB port. Remove the jumber wire/resistor between GND and VPP pin.<br />
	4. Plug the device back and verify the new firmware is working (it depends on firmware and what you expect it to do).</p>
<p>The pictures below illustrate the above steps:</p>
<p><img alt="UsbHidBootloaderSelectFile.png" src="http://www.starlino.com/wp-content/uploads/data/usbthumb_firmware_upgrade/UsbHidBootloaderSelectFile.png" /></p>
<p>&nbsp;</p>
<p><img alt="UsbHidBootloaderBurnFirmware.png" src="http://www.starlino.com/wp-content/uploads/data/usbthumb_firmware_upgrade/UsbHidBootloaderBurnFirmware.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.starlino.com/usbthumb_firmware_upgrade.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Using USBThumb as a Propeller Programmer  and  as a USB to Serial Converter</title>
		<link>http://www.starlino.com/usbthumb_propeller_programmer.html</link>
		<comments>http://www.starlino.com/usbthumb_propeller_programmer.html#comments</comments>
		<pubDate>Mon, 15 Mar 2010 22:44:19 +0000</pubDate>
		<dc:creator>starlino</dc:creator>
				<category><![CDATA[USBThumb]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[propeller]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[UsbThumb]]></category>

		<guid isPermaLink="false">http://usbthumb_propeller_programmer</guid>
		<description><![CDATA[<p>This article describes how you can use USBThumb as a Propeller Programmer or USB to Serial converter.</p>]]></description>
			<content:encoded><![CDATA[<p>The Parallax&#39;s classic propeller programmer PropPlug&nbsp; is simply a USB to Serial converter, the DTR/RTS signals are used to reset the Propeller chip before starting the programming sequence.</p>
<p>A custom PIC firmware&nbsp; comes preloaded on the <br />
	<a href="http://www.gadgetgangster.com/289" target="_blank">&quot;USBThumb Propeller Programmer&quot;</a> available on GadgetGangster.com, it allows you to use USBThumb as a Propeller Programmer but also as USB to Serial converter.</p>
<p>USBThumb (loaded with <a href="http://code.google.com/p/usbthumb/">USBThumbSerial </a>firmware)&nbsp; is detected on your computer as a standard&nbsp; CDC Modem device and works on all modern operating systems (Windows, Mac os , Linux).</p>
<p>On Windows you might be asked for driver path once you attach the device, simply use the driver part of the Microchip&#39;s USB Framework (it can be found in C:\Microchip Solutions\USB Device &#8211; CDC &#8211; Serial Emulator\inf\win2k_winxp ) , and I am including a copy for direct download here:</p>
<p><a href="data/usbthumb_propeller_programmer/microchip_cdc_win2k_winxp.zip">microchip_cdc_win2k_winxp.zip</a></p>
<p>On Windows you can identify USBThumb&#39;s COM port number from Device Manager:</p>
<p><img alt="3-15-2010 10-24-15 PM.png" src="/wp-content/uploads/data/usbthumb_propeller_programmer/3-15-2010 10-24-15 PM.png" /></p>
<p><span id="more-18"></span>On Mac OS, once you attach the device&nbsp; you will get a prompt &quot;A new network interface has been detected&quot;. Look in the /dev folder. You should see it as &quot;/dev/tty.usbmodem411&quot; or similar.</p>
<p>PropellerTool can scan all available ports and find the one that has a propeller chip attached. So the above step might not be necessary, however if you already know the COM port of USBThumb you can specify it explicitly.</p>
<p>In the PropellerTool go to&nbsp; Edit &gt; Preferences&gt;Operation and update the &quot;Serial Port Search&quot; to the port number of USBThumb (COM15 in my example). In the &quot;Propeller Reset Signal&quot; choose DTR.</p>
<p><img alt="3-15-2010 10-37-28 PM.png" src="/wp-content/uploads/data/usbthumb_propeller_programmer/3-15-2010 10-37-28 PM.png" /></p>
<p>&nbsp;</p>
<p>Next attach the USBThumb to your Propeller development board, USBThumb&#39;s serial&nbsp; 4-pin connector is pin compatible with PropPlug. The pins are marked as follows RX,TX,RST,GND.</p>
<p>To test the communication with the propeller board press F7.</p>
<p>If you experience problems make sure the port is not open by any other software (like for example the propeller terminal software)</p>
<p>In some rare cases if you computer power supply is too noisy, to ensure greater stability you can place a 18pF filtering capacitor between pins 24 (RB5)&nbsp; and 25 (RB6). See picture below:</p>
<p><img alt="usbthumb_adding_filter_capacitor.jpg" src="/wp-content/uploads/data/usbthumb_propeller_programmer/usbthumb_adding_filter_capacitor.jpg" /></p>
<p>You can solder the capacitor permanently between these pins, or if you&#39;re planning to use USBThumb for other projects and you have soldered sockets to the board simply insert the capacitor in the socket between pins 24 and 25. You only need to take this step if you have intermittent problems with PropellerTool not detecting the Propeller chip.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.starlino.com/usbthumb_propeller_programmer.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>USB Motion Gamepad Update: wide accelerometer and gyroscope support, configuration utility software</title>
		<link>http://www.starlino.com/usb_gamepad_gyro.html</link>
		<comments>http://www.starlino.com/usb_gamepad_gyro.html#comments</comments>
		<pubDate>Sat, 26 Sep 2009 09:44:54 +0000</pubDate>
		<dc:creator>starlino</dc:creator>
				<category><![CDATA[Motion Sensing USB Devices]]></category>
		<category><![CDATA[accelerometer]]></category>
		<category><![CDATA[gyroscope]]></category>
		<category><![CDATA[imu]]></category>
		<category><![CDATA[Motion Gamepad]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://usb_gamepad_gyro</guid>
		<description><![CDATA[<p>I have received some feedback from my readers regarding my first usb gamepad project , so for the past few weeks I was working on a new imrpoved design.&#160;&#160;&#160; There are plenty of new improvements that I hope will address many of your requests. The new device supports a wide range of gyroscopes and accelerometers that can be configured using&#160; Configuration Utility for Windows. Have a look at this article as it features new suggested schematics as well as a full feature log. Firmware and configuration utility are free to download for private use.</p>]]></description>
			<content:encoded><![CDATA[<p>I have received some feedback from my readers regarding my first <a href="usb_gamepad.html">usb gamepad project</a> , so for the past few weeks I was working on a new imrpoved design. There are plenty of new improvements that I hope will address many of your requests.</p>
<p><span id="more-11"></span><strong>Release Notes / Change Log</strong>:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
	2009-09-25<br />
	Config Utility Version 1.0.0<br />
	Device Firmware Version 1.5<br />
	&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>- device supports a wide range of accelerometers and gyroscopes<br />
	- implements smoothing filtering algorithm <br />
	- implements algorithm for combining gyroscope and accelerometer data<br />
	- HID USB interface makes the device compatible virtually with all modern operating systems (Mac,Windows,Linux)<br />
	- configuration utility (for Windows only for now)<br />
	- adjustable smoothing and scale factor for outputs<br />
	- configurable sensibility for accelerometer and gyroscope (can be set per axis)<br />
	- configurable midpoint (0g voltage) for accelerometer (can be set per axis)<br />
	- auto-find gyroscope midpoint (0 deg/s voltage)<br />
	- you can use separate accelerometer/gyroscopes for different axis<br />
	- Z axis not implemented in this release<br />
	- configurable analog input ports AN0-AN5 for each axis (please note 18F2550 does not have AN5 input , but 18F4550 does)<br />
	- ability to invert axis<br />
	- capture output and raw adc data into a comma separated values file (.csv)<br />
	- charting feature of all inputs/outputs <br />
	- graphical display of output and buttons<br />
	- supports up to 8 buttons<br />
	- configuration is stored in device EEPROM<br />
	- it is possible to use accelerometer alone on any axis (1, 2 or 3-axis) in this case set Smoothing to 0-10 value<br />
	- it is possible to gyro alone on any axis (1,2 or 3 axis) in this case set Smoothing to 100-255 , please note that the output will snap to middle after a while since gyro only provides rate information<br />
	- it is possible to use to use gyro and accelerometer on any axis (RECOMMENDED) in this case set smoothing to 20-100 value<br />
	- you can use multiple accelerometers or gyroscopes<br />
	- you can orient gyro or accelerometer as you like (but aligned to 90 degrees increments)<br />
	- you can connect your gyro and accelerometer outputs to any of the AN0-AN4 ports (for PIC18F2550).</p>
<p><strong>Suggested Circuit Schematic</strong></p>
<p>Below is a new suggested schematic , using a 2-axis Gyroscope and an a 2-axis Accelerometer. As mentioned above the new firmware and configuration utility is very flexible regarding the way the gyro and accelerometer are connected (this is one of the features requested , to be able to use device with various MEMS sensors).</p>
<p><img alt="Schematic  for USB Gamepad with Accelerometer and Gyroscope" height="748" src="data/usb_gamepad_gyro/usb_gamepad_gyro_schematic.gif" width="698" /></p>
<p><strong>Configuration Utility</strong></p>
<p>Here is a screen shot of the configuration utility, please note that I am using the gyro just for one output axis (X), thus I set smoothing to 50 as recommended in release notes above. The other axis (Y) uses just accelerometer data so Smoothing is set to 5. Device automatically detected the Gyro midpoint to be 1.35V , you must hold device still for at least 1s to let it calibrate when you plug it in. The Gyro axis is also inverted due to the way it is mounted in the case.</p>
<p><a href="data/usb_gamepad_gyro/usb_gamepad_config_utility_1.gif" target="_blank"><img alt="usb motion gamepad configuration utility"  src="data/usb_gamepad_gyro/usb_gamepad_config_utility_1.gif" width="740" /></p>
</a><p><strong>Hardware Setup</strong></p>
<p>My old accelerometer-only device , got modified to make space for a gyro. Here is how it all fit inside the case:</p>
<p><img alt="usb tilt / pan gamepad in Wii steering wheel, uses accelerometer, gyro and pic18f2550" height="480" src="data/usb_gamepad_gyro/IMG_1116.JPG" width="640" /></p>
<p><strong>Demo</strong></p>
<p>Finally here is a new demo with another game I found to work well with this device PURE. In this game you can actually use the FORWARD/BACK tilt (Y axis of the device), besides the usual LEFT/RIGHT (X axis) I demonstrated in the TMNations demos (see my <a href="usb_gamepad.html">first usb gamepad article)</a>.</p>
<p><object height="385" width="480"><param name="movie" value="http://www.youtube.com/v/_FQgmpv_Wc4&amp;hl=en&amp;fs=1&amp;rel=0" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed allowfullscreen="true" allowscriptaccess="always" height="385" src="http://www.youtube.com/v/_FQgmpv_Wc4&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" width="480"></embed></object></p>
<p><strong>Downloads</strong></p>
<p>Configuration Utility Setup (Windows XP/Vista) <a href="data/usb_gamepad_gyro/StarlinoGamepadConfigSetup_100.exe">StarlinoGamepadConfigSetup_100.exe</a></p>
<p>PIC18F2550 Firmware <a href="data/usb_gamepad_gyro/18Fx550_USB_GAMEPAD_GYRO_15.hex">18Fx550_USB_GAMEPAD_GYRO_15.hex</a> (right click on the link and choose Save Link/Target As if HEX file opens in browser).</p>
<p><em>I will continue to edit this article , please let me know what questions/suggestions you have in the comments area below. I will try to update this page and design based on your feedback.</em></p>
<p>//starlino//</p>
]]></content:encoded>
			<wfw:commentRss>http://www.starlino.com/usb_gamepad_gyro.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Accelerometer Controlled Usb Gamepad and Mouse using PIC18F2550 / PIC18F4550</title>
		<link>http://www.starlino.com/usb_gamepad.html</link>
		<comments>http://www.starlino.com/usb_gamepad.html#comments</comments>
		<pubDate>Sun, 21 Dec 2008 00:00:00 +0000</pubDate>
		<dc:creator>starlino</dc:creator>
				<category><![CDATA[Motion Sensing USB Devices]]></category>
		<category><![CDATA[accelerometer]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gamepad]]></category>
		<category><![CDATA[motion]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://usb_gamepad</guid>
		<description><![CDATA[<p>Schematics and code for construction of an accelerometer controlled USB gamepad based on a Microchip PIC microcontroller.&#160;</p>]]></description>
			<content:encoded><![CDATA[<h2>Demo</h2>
<p><object height="340" width="560"><param name="movie" value="http://www.youtube.com/v/23SC7ZZ0P8E&amp;hl=en&amp;fs=1&amp;rel=0" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed allowfullscreen="true" allowscriptaccess="always" height="340" src="http://www.youtube.com/v/23SC7ZZ0P8E&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" width="560"></embed></object></p>
<p><object height="340" width="560"><param name="movie" value="http://www.youtube.com/v/szZv2YYQm0U&amp;hl=en&amp;fs=1&amp;rel=0" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed allowfullscreen="true" allowscriptaccess="always" height="340" src="http://www.youtube.com/v/szZv2YYQm0U&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" width="560"></embed></object></p>
<p><span id="more-5"></span></p>
<h2>Circuit</h2>
<p>This is the schematics for a PIC USB gamepad that I have built in a steering wheel shell. The code for the firmware was written in PicBasic Pro and it implements a HID USB device with 2 axes and 4 buttons (only 2 buttons connected in the prototype). The device is detected by Windows XP/Vista as a standard USB gamepad and can be used with many games and applications.</p>
<p>I am using a 2 Axes Buffered &plusmn;2g Accelerometer from <strong>DIMENSION ENGINEERING</strong>, it has a built in voltage regulator that allows powering the accelerometer dirrectly from the USB bus (5V):</p>
<p><a href="http://www.dimensionengineering.com/DE-ACCM2G.htm" target="_blank">http://www.dimensionengineering.com/DE-ACCM2G.htm</a></p>
<p>I highly recommend this accelerometer as well as other great Dimension Engineering products, check out their website: <a href="http://www.dimensionengineering.com/" target="_blank">www.dimensionengineering.com</a> !</p>
<p>&nbsp;</p>
<p><img alt="usb gamepad circuit" height="465" src="data/usb_gamepad/images/usb_gamepad_circuit.gif" width="674" /></p>
<p>Note: Optionally you can connect 2 more buttons to RB2 and RB3.</p>
<h2>Code</h2>
<p>Below is the PIC Basic code that works both on 18F4550 / 18F2550. (There are other requirements to build USB firmware including the HID header, see compiler documentation).</p>
<p>DOWNLOAD HEX FILE FOR PIC 18F2550 (You will need a PIC Programmer to transfer it to the chip, I&#39;m using PICKit2):</p>
<p><a href="data/usb_gamepad/18F2550_Gamepad.hex">18F2550_Gamepad.hex</a></p>
<p><strong>IMPORTANT NOTE:</strong> Please disconnect any Microchip Devices (including the PICKit2 programmer) before plugging this device since it&#39;s using same HID VENDOR /PRODUCT ID provided in Microchip sample files.<br />
	If you plug 2 devices with same VENDOR/PRODUCT ID you might get a hardware conflict and the devices might not work.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
	<span class="edit_monospace">Define&nbsp; OSC&nbsp;&nbsp;&nbsp;&nbsp; 48<br />
	&#39;CONFIGURATIONS ARE IN /PBP/18F2550.INC , YOU MIGHT WANT TO EDIT THEM</p>
<p>	&#39;ADC<br />
	DEFINE ADC_BITS 10 &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&#39; Set number of bits in result<br />
	DEFINE ADC_CLOCK 6&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&#39; Set clock source&nbsp; Fosc/64&nbsp; =&gt; TAD =&gt; 1.34uS<br />
	DEFINE ADC_SAMPLEUS 50 &nbsp;&nbsp; &nbsp;&#39; Set sampling time in uS</p>
<p>
	TRISA.0 = 1<br />
	TRISA.1 = 1</p>
<p>	ADCON1 = %00001101 &#39; sets AN0,AN1 to analog mode </p>
<p>	ADCON2 = %10101110 &#39; <br />
	&nbsp;&nbsp; &nbsp;&#39;bit 0-2: ADCS ,OVERWRITTEN BY ADC_CLOCK,&nbsp; 110: Fosc/64&nbsp; =&gt; TAD =&gt; 1.34uS<br />
	&nbsp;&nbsp; &nbsp;&#39;bit 3-5: Aquisition time: 101: 12 TAD =&gt;&nbsp; 16uS<br />
	&nbsp;&nbsp; &nbsp;&#39;bit 6: not used<br />
	&nbsp;&nbsp; &nbsp;&#39;bit 7: Right justify for 10-bit <br />
	&nbsp;&nbsp; &nbsp;</p>
<p>	x&nbsp;&nbsp; &nbsp;VAR&nbsp;&nbsp; &nbsp;WORD <br />
	y&nbsp;&nbsp; &nbsp;VAR Word</p>
<p>	INTCON2.7=0&nbsp; &#39;RBPU =0 , TURN ON PORTB PULL-UPS</p>
<p>	bt1&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VAR PORTB.0<br />
	&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TRISB.0 = 1<br />
	bt2&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VAR PORTB.1<br />
	&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TRISB.1 = 1<br />
	bt3&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VAR PORTB.2<br />
	&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TRISB.2 = 1<br />
	bt4&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;VAR PORTB.3<br />
	&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;TRISB.3 = 1<br />
	&nbsp;&nbsp; &nbsp;</p>
<p>
	&#39;USB<br />
	buffer&nbsp;&nbsp; &nbsp;Var&nbsp;&nbsp; &nbsp;Byte[3]<br />
	USBInit</p>
<p>	main:<br />
	&nbsp;&nbsp; &nbsp;ADCIN 0,x&nbsp;&nbsp; &nbsp;&#39;read AN0<br />
	&nbsp;&nbsp; &nbsp;ADCIN 1,y&nbsp;&nbsp; &nbsp;&#39;read AN1<br />
	&nbsp;&nbsp; &nbsp;<br />
	&nbsp;&nbsp; &nbsp;&#39;x,y experimental measurments: ~512 @center / ~365 @ -90deg / -655 @ +90deg<br />
	&nbsp;&nbsp; &nbsp;<br />
	&nbsp;&nbsp; &nbsp;x = (x &gt;&gt; 2) &lt;&lt; 2&nbsp; &#39; clear last 2 bits<br />
	&nbsp;&nbsp; &nbsp;y = (y &gt;&gt; 2) &lt;&lt; 2&nbsp; &#39; clear last 2 bits<br />
	&nbsp;&nbsp; &nbsp;<br />
	&nbsp;&nbsp; &nbsp;<br />
	&nbsp;&nbsp; &nbsp;&#39;convert x,y from range [384..512..639] to [0..128..255] with edge clipping<br />
	&nbsp;&nbsp; &nbsp;x = ((x MAX 384) MIN 639 ) &#8211; 384<br />
	&nbsp;&nbsp; &nbsp;y = ((y MAX 384) MIN 639 ) &#8211; 384<br />
	&nbsp;&nbsp; &nbsp;<br />
	&nbsp;&nbsp; &nbsp;<br />
	&nbsp;&nbsp; &nbsp;buffer[0] = y&nbsp;&nbsp; &nbsp;&#39;gamepad&#39;s x-axis is accelerometer&#39;s y axis<br />
	&nbsp;&nbsp; &nbsp;buffer[1] = x&nbsp;&nbsp; &nbsp;&#39;gamepad&#39;s y-axis is accelerometer&#39;s x axis<br />
	&nbsp;&nbsp; &nbsp;buffer[2] = PORTB ^ %00001111 &amp;&nbsp;&nbsp; &nbsp;%00001111 &#39;separate and reverse first 4 bits</p>
<p>	&nbsp;&nbsp; &nbsp;USBService&nbsp;&nbsp; &nbsp;&#39; Must service USB regularly<br />
	&nbsp;&nbsp; &nbsp;USBOut 1, buffer, 3, main&nbsp; &#39; Send buffer to endpoint 1</p>
<p>	GOTO main&nbsp;&nbsp; &nbsp;&#39; Do it forever</span></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Here is how it is detected by Windows XP. Please note that if you don&#39;t change the USB HID Vendor ID and Product ID code this device might conflict with other microchip HID devices using same indentification, including the PICKIT II USB programmer (you can&#39;t have them plugged in both at the same time).</p>
<p><img alt="control_panel_game_controllers.jpg" height="627" src="data/usb_gamepad/images/control_panel_game_controllers.jpg" width="721" /></p>
<p>There&#39;s no need to calibrate the device on this Windows screen,&nbsp; since it will output values within 0..255 range for both axis and it will be centered close to&nbsp; 128,128 values (we took care of this in the program).</p>
<p>However you might want to adjust sensitivity in your game, based on your preference:</p>
<p><img alt="sensitivity.jpg" src="data/usb_gamepad/images/sensitivity.jpg" /></p>
<h2>Construction</h2>
<p>If using an existing USB cable , the wire coding is VDD red, VSS black , D+ green , D- white.</p>
<p><strong>Second prototype using PIC18F2550 chip.in a cheap Wii steering wheel shell. (Look for them on EBay they sell for about $1.45).</strong></p>
<p><img alt="game pad built from a wii steering wheel shell" height="480" src="data/usb_gamepad/images/IMG_0093.JPG" width="640" /></p>
<p><img alt="" height="480" src="data/usb_gamepad/images/IMG_0091.JPG" width="640" /></p>
<p><img alt="" height="480" src="data/usb_gamepad/images/IMG_0092.JPG" width="640" /></p>
<p>&nbsp;</p>
<p><strong>First prototype &quot;THE BRICK&quot; , using PIC18F4550 chip, accelerometer removed.</strong></p>
<p><img alt="" height="480" src="data/usb_gamepad/images/IMG_0094.JPG" width="640" /></p>
<p>&nbsp;</p>
<p><img alt="" height="480" src="data/usb_gamepad/images/IMG_0095.JPG" width="640" /></p>
<p>&nbsp;</p>
<h2>It can work as a motion MOUSE too !</h2>
<p><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/k13UPjzrauk&amp;hl=en&amp;fs=1&amp;rel=0" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed allowfullscreen="true" allowscriptaccess="always" height="344" src="http://www.youtube.com/v/k13UPjzrauk&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" width="425"></embed></object></p>
<p>&nbsp;</p>
<p>With a slightly different firmware and&nbsp; the same hardware you can build a USB Motion (Tilt/Pan) HID Mouse, source code is here:</p>
<p><a href="http://code.google.com/p/hidmouse/" target="_blank">http://code.google.com/p/hidmouse/</a></p>
<p>SVN Trunk:</p>
<p><a href="http://code.google.com/p/hidmouse/source/browse/#svn/trunk/%20hidmouse" target="_blank">http://code.google.com/p/hidmouse/source/browse/#svn/trunk/%20hidmouse</a></p>
<p>&nbsp;</p>
<p>Also for anyone interested in a quick build, with all parts and PCB -&nbsp; gamepad kits with pre-programmed PIC and accelerometer are available for&nbsp; 50 USD @&nbsp; <a href="http://gadgetgangster.com/231">http://gadgetgangster.com/231</a> .</p>
<p><span style="color: rgb(0, 128, 0);"><em><span class="edit_monospace"><br />
	</span></em></span></p>
<p>///starlino///</p>
]]></content:encoded>
			<wfw:commentRss>http://www.starlino.com/usb_gamepad.html/feed</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
	</channel>
</rss>

