Отличие драйвера от программы в робототехнике?
В USB 4 пина: +5V, +Data, -Data и земля. 
Если вы подключите двигатель к +5 и земле, он конечно сможет работать, но далеко не все материнские платы умеют отключать питание подающееся на USB, и управлять им не получится. Со скоростью все еще интереснее - скорость двигателей регулируется изменением напряжения или при помощи ШИМ. Изменять напряжение на USB вы не сможете, а попытка реализовать ШИМ отключением питания на USB может открыть врата ада.
Не морочьте голову, купите какую-нибудь *-дуину или аттини за пол доллара, и играйтесь. И начинать лучше с мигания светодиодиком - так сложнее что-нибудь сжечь.
И да, для всяких -дуин есть IDE с поддержкой кучи языков.
И второй уровень, с файфаем - есть такая штука как ESP8266 - это контроллер со встроенным вайфаем. Очень часто используется во всякой любительской электронике. Стоит в районе $2.5 - $3.
Драйвер это программа. Драйвер это специальная программа.
В операционной системе есть понятие прерывание, это когда сигнал поступивший на порт ввода/вывода (провод воткнутый в комп) прерывает нормальный вычислительный процесс и требует и получает немедленную приоритетную обработку. Драйвер это программа умеющая вызывать и/или обрабатывать прерывания.
Драйвер плотно работает с системой, фактически часть системы. Система написана на C, для удобства пользования системными вызовами драйверы обычно также пишут на С. Возможно писать драйверы на языках высокого уровня при наличии в языке библиотек биндингов необходимых системных вызовов, что на практике редкость.