USB2Go to niewielki zestaw deweloperski, służący do prototypowania sprzętowych dodatków dla urządzeń z systemem Android.

Płytka jest oparta o mikrokontroler STM32 F1 z rdzeniem ARM Cortex-M3, wyposażony m.in. w kontroler USB full-speed, modulator PWM pozwalający sterować silnikami oraz bogaty zestaw interfejsów i timerów. Jest podłączana bezpośrednio do smartfona lub tabletu przez złącze microUSB i zasilana z urządzenia hostującego, a po podłączeniu automatycznie uruchamia na nim obsługującą ją aplikację.

Rozwój projektów jest możliwy na trzech poziomach zaawansowania. Dla programistów znających system Android dostępne jest API pozwalające bezpośrednio sterować peryferiami mikrokontrolera (GPIO, ADC, PWM, UART, I2C, SPI) z poziomu języka Java, bez konieczności programowania niskopoziomowego. Dla hobbystów stworzone zostało graficzne narzędzie do programowania metodą przeciągnij-i-upuść. Dla profesjonalistów dostarczane jest natomiast niskopoziomowe API do komunikacji przez USB, dające większe możliwości, jeśli chodzi o przepływność.

Dla USB2Go przygotowane jest sporo rozszerzeń, m.in. płytki z diodą LED czy przekaźnikiem, ale najciekawszym jest na pewno przejściówka pozwalająca łączyć USB2Go z zestawami Arduino, która pozwala łatwo rozszerzać jej funkcjonalność i tworzyć zaawansowane projekty.

USB2Go można programować za pośrednictwem Android Studio firmy Google, oraz Eclipse’a. Do programowania niskopoziomowego wykorzystać można natomiast środowisko Keil uVision, które dla programów do 32 kB jest dostępne bezpłatnie.

Projekt jest ciekawy, ale jego przyszłość niepewna. Twórcom USB2Go nie udało się bowiem zebrać potrzebnych funduszy na platformie Kickastarster. Szczegółowe informacje można znaleźć na stronie projektu.

;