Run a processor through USB

armusb

I am really new to hardware design but have a fairly good knowledge of analog and digital circuits. I have only built one automated car using an Arduino board for a lab. However, I have really good knowledge of computer science.

I am trying to build a device with an operating system in it that will be turned on through a USB port. I want the processor to be ARM based and handle FLASH memory of a minimum of 16GB, have a multi touch display and be a really small device. I don't really know how to find any information about even getting started with it.

So, my question is:

  • Can a USB port output enough power to run an ARM Cortex M series?
  • How can I find out how much FLASH memory an ARM Cortex can access? Or does it even matter for microprocessor design?
  • How can I find prices for the microprocessors?

I would really want someone to guide me on my work. If you want me to clarify anything please let me know.

Best Answer

To stay within USB requirements you are allowed to use 500mA @ 5V power. This is certainly enough for the microcontroller but the display may probably need more.

Usually the Cortex-M devices feature a little internal (embedded) flash which is usually in the size of 2MB. If you need more memory, you could attache either an SD-Card or some NAND Flash.

I'll just give an example for a evaluation board which has a Cortex-M4, a display and some flash: http://www.atmel.com/tools/SAM4S-EK2.aspx. Yet, there is no support for multi-touch, you would have to implement that by yourself (with a display that supports multitouch of course).

Prices for controllers: digikey or farnell will give you a good idea, if you are to produce more than 10k pieces you'll probably be able to find cheaper sources.