Zacznę może od tego że określenie "wersja użytkowa" jest trochę na wyrost... Elektronika wygląda tak:
Po zapakowaniu w obudowę
Układ komunikuje się przez port szeregowy (może być też konwerter usb-rs232 - trzeba tylko ustawić CommName w pliku EmcRemote.py). Zasilany z baterii 4.5V (3*AA) - na schemacie, za przełącznikiem zasilania jest dioda - jest ważna, służy do obniżenia napięcia zasilania do poziomu tolerowanego przez uC - bez niej układ nie chce wystartować.
Duży czerwony przycisk to E-stop, XYZA służą do wyboru osi, obok nich kółko - przesuwa wybraną oś - o 0.1mm (szybko) jeśli przycisk danej osi jest naciśnięty lub 1 krok jeśli nie (wartości i kierunki można sobie ustawić w EmcRemote.py - JogIncrements).
Przycisk "SHIFT" - po naciśnięciu diody XYZA pokazują które osie są zbazowane, naciskając SHIFT-XYZA bazujemy/odbazowujemy wybraną oś. Dioda PWR pokazuje czy maszyna jest włączona, SHIFT-ZERO/PWR włącza/wyłacza maszyne, samo ZERO/PWR służy do zerownia wybranej osi ("manalny" touch-off) - wartość offsetu i układ współrzędnych do ustawia się w widegecie dodanym przez TouchOffset.ui). RUN świeci kiedy wykonuje się program (SHIFT-CONT/RUN żeby uruchomić/spauzować) lub miga w trakcie pauzy - (przycisk CONT żeby kontynuować).
Dioda CON zapala się po nawiązaniu łączności, miga po naciśnięciu E-Stop (wykasować można tylko z ekranu LinuxCNC).
W załączniku jest schemat (lepiej sprawdzić - "odrysowałem" go z układu), projekt do CodeComposerStudio (środowisko do MSP) i pliki pod linuksa.
Sorry za jakość całości ale ze względu na zerowe zainteresowanie nie chciało mi się robić porządnej płytki i dokumentacji. W każdym razie - układ działa i jestem z niego zadowolony

Pozdrawiam
Grzesiek