La domanda è troppo generica per poter essere affrontata qui.
Per questa esigenza, occorre documentarsi in modo approfondito con manuali e altre risorse: il forum non è uno spazio adatto per questo genere di cose.
Per problemi specifici, una volta scelti hardware e linguaggio, allora sarà possibile porre la questione sul forum e discuterla riportando codice, errore, comportamento anomalo e tutti i dettagli della richiesta.

