Can the MC9S08QE32 (please don't suggest other MCUs) be used to bit-bang USB to be an input device (i.e., a keyboard)?  Is there a library available?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can the MC9S08QE32 (please don't suggest other MCUs) be used to bit-bang USB to be an input device (i.e., a keyboard)?  Is there a library available?

508 Views
andyiii
Contributor I

I've used TrinketKeyboard with an ATtiny85 to pretend to be a USB keyboard.  Is it possible to do this with the MC9S08QE32?  My project has no control over which MCU I use unless I add another one.  Since the ATtiny85 already works, suggesting another MCU would not be helpful.  I can reduce part count if the MC9S08QE32 can be used to do the same trick.  The ATtiny85 has a 16 MHz clock, while the MC9S08QE32 can run at 48 MHz, so I assume it is at least possible.  Could anyone suggest a library that does this?  I assume it requires hand-optimized assembler routines to get the timing right, so it isn't something I want to write myself.

Labels (1)
Tags (2)
0 Kudos
2 Replies

364 Views
david_diaz
NXP Employee
NXP Employee

Hello Andrew, 

Unfortunately the MC9S08QE32 does not have USB module.

In case you are planning to use the device mentioned, I recommend the USB2SER board.

                                        usb2ser.JPG

The USB2SER board is a communication bridge between the USB and serial data, which can be any RS232/RS485 or TTL.

Please find more information about the USB2SER in the following link:

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=EVBUSB2SER

Hope this information will be useful for you.

If I misunderstood your question or you still have concerns, please, do not hesitate to contact us again.

0 Kudos

364 Views
andyiii
Contributor I

Thank you for your reply!

The purpose is for the microcontroller to type keystrokes as if it were a keyboard.  Serial is not an option for this application.  The TrinketKeyboard library I referred to runs on the ATtiny85 with a 16.5 MHz clock with no USB module.  It bit-bangs the USB bus fast enough to pretend to be a low rate device (i.e., a keyboard).  I was looking to reduce the number and complexity of the components by leveraging the Freescale MC9S08QE32 I already have in place (and cannot change) to replace the function of the ATtiny85 and the communication between the MCUs.  I assume that getting such a technique to work will involve a lot of special knowledge about assembly-level instructions of the MC9S08QE32.  It may not be as difficult as on the ATtiny85 since the MC9S08QE32's clock speed is higher (48 MHz).

0 Kudos