First up, yes, the project is not currently in the AVRFreaks project section. This is because it's not finished yet, and it's much easier for me to upload the latest code changes via FTP to my site than it is to manage it here - plus I don't want to hijack the projects front page.
This is a thread for discussion, suggestions, bug reports and requests for help about all things MyUSB.
What is MyUSB?
MyUSB is my latest project, and is a completely open source library for the USB-controller enabled AT90USB series AVRs. It provides many peripheral drivers, as well as what will eventually be a complete USB driver suitable for Device, OTG and Host mode operations. My aim is it make it as clean and functional as possible.
Why use it?
As mentioned, it's open source, under the GPL - unlike Atmel's driver which is under their own license. MyUSB can be used freely in commercial and non-commercial applications, in accordance with the GPL license. I'd ask that commercial users donate a small amount to me for the use of the library via my website, but this is entirely optional.
It's mean, clean and just better than the Atmel driver. The code is written from scratch, and I've put a lot of thought and effort into its design.
What's it for?
Eventually, the entire AT90USB series AVRs, which have inbuilt USB controllers (but which still need quite a complex driver, hence why MyUSB exists). Currently only the AT90USB1287 is supported - as used on the popular USBKEY - since it's the only USB AVR I have access to. If you want it ported to your particular USB series AVR, send me a development board ;).
What's the status?
As of the time of writing, it includes many working peripheral drivers for the USB1287 specifically, and the USBKEY board. The USB driver's host mode is incomplete and the OTG code non-existent, but it works just fine in device mode.
A test application is included, as are demo USB device applications for a mouse and (thanks to Denver Gingerich) a keyboard. I'm about to start work on a CDC example, which is why that incomplete demo is in the library.
Where can I get it?
The current code is available from my website, on the MyUSB page here:
Note the last updated time on the page - that will automatically change as I upload newer versions.
As the library is unfinished, expect newer versions to move things around and rename them, so don't expect the current code to reflect the finished library.
Where can I get updates?
If you have a specific question, post here or send me an email. I post blog entries about what I'm doing with the project on my website's blog.
Why the boring name?
Well, at the time of starting I couldn't think of anything more imaginative. If I'm going to change it I'd better do it very soon, as any later and I'll end up confusing a lot of people, and spending weeks changing all the references to the MyUSB name. If you have a better name, post it here.
I'm currently documenting the project on the MyUSB section of my website's Wiki pages.
I'd recommend purchasing a USBKEY for use with the project, however any USB1287-based board will be suitable for the library as it currently stands. I personally have a set of Tom's fantastic USBKEY header adapters and a set of female jumper cables which makes working with the board extremely pleasant.
That's all for now. Enjoy!
- Dean :twisted: