Teensyduino (direct USB, not serial via FTDI chip)

I'd like to let you know about a small-form-factor USB board I've been working on, called Teensy. It's based on the AT90USB162 chip on tiny board the size of a DIP-24 chip. Here the web page.

http://www.pjrc.com/teensy/index.html

What does this have to do with Arduino? I just made the first beta test release of "Teensyduino"... an add-on to Arduino-0012 that tries to add support for this board to the IDE.

http://www.pjrc.com/teensy/teensyduino.html

While the sketches look pretty much the same, underneath this is very different from a normal Arduino. You're using the actual USB built into the chip, not a serial port and a FTDI USB-serial converter. You can transfer data at the full USB speed (though in practice your code can only generate data at a fraction of the full 12 Mbit/sec, but still a lot faster than normal serial at 38400 or 57600 baud). You can also call a transmit flush function that causes any buffered data to get transfered to the PC ASAP (which is difficult with the FTDI chip without a hardware hack or modified PC drivers)

Right now this installs only a single board which emulates a serial port. I am planning other non-serial options for future Teensyduino releases. How sketches will use such features and how non-serial devices will work nicely with the Arduino IDE is still a work-in-progress.... but it is coming and if you give this a try I could really use your input and feedback.

damn, this sounds awfully good. I guess that as there no longer is the FTDI, this device can be programmed to act as a native USB HID device with i.e. AVRUSB ?

So the only '-duino' is support in the IDE? I was briefly confused by the use of that term, and the labels Bx, Cx, Dx on the edge pins. Only after re-reading which chip you're using did it make sense. It's completely not an ATmega. Does the AVR tool chain work with this chip at all?

Yes, you absolutely can program it as native HID. In fact, the "blinky" example on the C compiler page is native HID for the debug messages, which you can receive with the "HID Listen" program. Dean Camera's LUFA library has can work on this chip and has lots of HID and other device types. Of course, that's with win-avr, or equivalent tools on mac or linux. (yes, avr-gcc and avr-libc fully support this chip)

Making that work in a nice way from the Arduino IDE, and with a simpler API like you'd expect in the from Arduino... well, that is much harder!

I do need to draw a good Arduino/wiring pinout diagram. The pin names printed on the board are the names from the datasheet and the names you'd expect if you use the I/O registers directly.

I'll get a better diagram drawn up this weekend.

However, the bootloader is not open source.

Thanks for clarifying, it is an interesting experiment to introduce a closed hardware/firmware board to the open source hardware and software environment that is arduino, given that the folks who have made it thus far have been %100 open about everything.

I would ask you to reconsider, but understand if you want to keep those 500 bytes of bootloader to yourself. I expect there would be plenty of folks willing to help if it were %100 open and who have skills besides writing small bootloaders. Its tough though, I really do understand your position. But I do think it is terribly important that everyone understand the openness status of any given project here.