Beh e' una richiesta un po' generica

Cmq io ho usato GTK per alcune applicazioni, anche se non in C. Inizialmente non e' proprio facile..
Non e' la stessa cosa che usare Visual Basic o Delphi per esempio. Pero' se uno se la cava un po con la programmazione, non e' impossibile

Inoltre e' un toolkit bellissimo da vedere sia in Linux che in Windows.
Cmq ti consiglio di partire col farti la gui in Glade (usa il 3 eh) bella completa e poi provare a caricarla, possibilmente con
GtkBuilder (che ha recentemente
soppiantato LibGlade). Evita il generatore di codice automatico di Glade, e' deprecato e fondamentalmente una schifezza.
Poi connetti i vari segnali, magari con l'autoconnect e testa che funzionino.
Per quanto riguarda l'interfacciamento con arduino, si tratta fondamentalmente di comunicare con la porta seriale, il che e' facile, ma devi stare attento perche' GTK (o meglio GLib) e' nervoso quando si interferisce col suo
loop principale. GLib funziona con una coda di messaggi ed eventi principale, e probabilmente devi agganciarti li per poter leggere dalla seriale nel modo "canonico". Io per comunicare con un socket uso un
IO Channel, credo che tu possa fare altrettanto (visto che avrai un File Descriptor).
Beh buona fortuna, se hai dubbi (magari piu' specifici

) chiedi pure!