Как считывать состояние 300 цепей (и подсоединить к Arduino/Pi) на состояние замкнуто/разомкнуто?
Классически - матрицей.
На каждом пересечении геркон и диод. На горизонтали подаётся развёртка, обычно через дешифратор, с вертикалей снимается состояние.
Один из вариантов вариант мебранная клавиатура поверх стальной пластины., в фигурку маленький неодим-магнит с китаю. и фигурка устойчивей не слетает в тсорону, и момент прилипания четкий для переставляющего человека, и контакт сильный.