I've been in the PIC16-world for ages and know that arcitecture very well. However, for the next project I need to interconnect a hardware design with a phone running Android, using USB. None of the PIC16 has USB-capabilities so I have to step up a few levels.
PIC24 seems to have both host and device mode, but this MCU seems to be ridiculously complex to jump into.
PIC18 has got device-mode for USB, no host mode.
Will device-mode suffice if my goal is to control the hardware from the Android-phone? That is, the hardware will be the slave and the Android will be the master. Android will send simple commands like "light LED, start MOTOR", and so on.
Will PIC18 do here or do I need PIC24/PIC32?
Did you ever heard about google ioio board based on PIC18K it is and open source hardware software plate form directly driven from your android device and provide excellent feature i have made it for my personal use here is detail what IOIO can perform.
IOIOLib Basics - overview of IOIOLib.
IOIOLib Core API - introduction to the IOIO interface.
IOIOLib Application Framework - an important set of utilities that simplify IOIO-based application authoring.
Building IOIO Applications With Gradle - the latest and greatest way for building IOIO applications using Gradle, Maven and Android Studio.
Digital I/O - get those 0's and 1's in and out.
Analog Input - measure voltage.
PWM Output - generate pulse width modulation signals.
Pulse Input - measure pulse width and frequency.
UART - communicate with serial devices.
SPI - control SPI devices as a host.
TWI - control I²C and SMBus devices as a host.
Capacitive Sensing - touch-sensing by measuring capacitance.
Motor Control Sequencer - precise and synchronized control of various kinds of motors and actuators.
Resources
Downloads - this page has links to download all the software and firmware you'll need for development.
Release Notes - change log of the various versions of the software and firmware.
Supported Devices - a list of all tested devices.
Supported Bluetooth Dongles - a list of all tested bluetooth dongles.
Tools
IOIO-OTG Bootloader and IOIODude - a guide on using the IOIODude application that lets you upgrade the firmware on your IOIO-OTG board.
The IOIO Manager Application - a guide on using the Android application that lets you upgrade the firmware on your IOIO v1 board.
IOIO Bridge - use IOIO with the Android emulator or with a target Android being debugged.
all required info can be downloaded from here
https://github.com/ytai/ioio/wikisadman