Программисту надо учить железо. И способы управления железом. У малинки есть контакты, на которое вы можете подавать 0 или 1, есть контакты, с которых можно считать 0 или 1. Думаю там есть и контакты с АЦП, которые считывают уровень сигнала (я ардуинщик).
Далее решайте что этими контактами делать, каким железом управлять. Как собирать нужное железо и т.п.
И окажется, что элементную базу надо знать.
Мне с ардуино было очень просто - мануалов полно. И про железу и по управлению им.