Despite how far we've come in wireless technology, it's a frustrating fact that cables are still everywhere. From office workspaces to beside charging docks, to game consoles and home entertainment centers, these ubiquitous wires slither and snake, resulting in inconvenient tangles and general eyesores. Even though many devices are beginning to include built-in wireless capabilities, these are often single-purpose and proprietary, leading to confusing incompatibilities and many spent dollars.
That's why our goal was to create an affordable and universally-compatible method to convert any wired connection into an effective wireless connection. To test whether this was feasible, we used this Hackathon as an opportunity to develop a proof-of-concept prototype focusing on USB connectivity (since the vast majority of devices use that form-factor). In particular, we focused on whether we could create a device to convert any wired keyboard into a wireless keyboard.
At the end of these 24-hours, we are proud to present the fruits of our efforts: USB Portal.
What it does
USB Portal is a device which converts a normally wired connection between a keyboard and computer into a wireless (Bluetooth) connection. By taking at advantage of standardized USB protocols, the USB Portal is compatible with any wired USB keyboard. The results are impressive: we are able to edit documents with negligible lag, and even play games which require a keyboard.
How we built it
We fashioned an Adafruit Feather M0 BlueFruit LE into a dual-purpose USB host and Bluetooth peripheral. In this way, we were able to program it with Arduino logic to as a bridge between the client device (keyboard) connected to it and the parent device (the computer) to which it delivered inputs.
We did not do any prior work on this project before the start of this hackathon, and we used only parts available to us during the event.
Challenges we ran into
To contain our experiment to the scope of this hackathon, we needed to decide between tradeoffs of universality and time commitment. From our research at the start of the event, we found that it is possible to create a USB driver with our device to allow bridging between any USB device, including USB storage devices. However, we found that this would take much more time than we had available to us at the hackathon. So, we decided that we needed to narrowing our focus to USB Keyboards in a way that still demonstrated a technique that could be generalized to any USB device and beyond.
Accomplishments that we're proud of
With USB Portal, we have created a working device that converts wired USB keyboards into wireless ones! We'll probably keep the prototype and use it in our dorm. (We have mechanical keyboards that we would love to turn wireless and use on the couch.)
What we learned
We learned that the USB standard is impressively versatile and surprising not too ugly to work with. We had fun reading documentation about the Adafruit Feather as well as Arduino compatibility with USB/Bluetooth in general, and we enjoyed turning this knowledge into a tangible object that accomplished our vision.
What's next for The USB Portal
The proof-of-concept works. So now, we're ready to generalize: we want to create a USB Portal which uses the low-level USB driver concepts we learned about in order to bridge any USB device, particularly USB storage devices. We want to couple this with better wireless technologies to achieve throughput to rival wired solutions.
Particularly on this last point, if we can create a way to enhance wireless throughput, then we may be able to create similar devices for making HDMI and audio applications wireless as well; this will result in a product that can significantly reduce clutter in home entertainment systems and office spaces.
Finally, we want to package it into an elegant form-factor that will convenient and aesthetic for consumers to use.