I used this combination because I found USB device support in Arduino framework lacking flexibility.