USB communication firmware program development and papers