Еми явно трябва да пуснеш софт-а на компютъра, за да изпрати данни на буут-а, и явно през него става работата. Главната програма обработва данните, но тя не се използва толкова често за презаписване на код в контролера. Тя самата не може да се презапише. Винаги има програма, която остава непроменена за да презаписва главният код. Това е буутлоудера. А за да може буутлоудера да запише новата версия на главната програма, то той трябва да я получи нали? В случая пренасянето на информация става през USB, това не значи, че само буутлоудера може да използва USB(освен ако изрично е направено така), или че комуникацията става през буутлоудера. Вкрайна сметка, буутлоудера е малка програмка, която служи като вграден програматор. Иначе представи си, че си направил устройство, и искаш да промениш софтуера? Не може поотделно да продаваш на клиентите си програматори и да им обесняваш как се програмира, и да ги караш да отварят кутиите и т.н. Всичко трябва да става автоматично.