Очень просто:
1. Устанавливаете на нее windows
2. Устанавливаете atmel studio
3. Устанавливаете plugin в atmel studio для компиляции ардуиновских скетчей.
4. Полученный hex файл выполняете в симуляторе в atmel studio
5. ...
6. тут как упорства хватит, может и Profit! :)
Надо посмотреть на объявление переменной butt2 и понять тот ли класс ('GButton') используется для объявления. Если тот то посмотреть на реализацию класса GButton и найти необходимое поле или метод. Если не тот, то найти нужный класс.
У меня датчик лежит непосредственно около окна, не знаю как насчет абсолютных цифр, но относительные показывает нормально - при открытом окне падает до 350 ppm, при закрытом поднимается до 2000 ppm. Под окном расположена батарея, датчик никак не реагирует на ее открытие-закрытие.
Это простой TCP клиент, не знаю как на ардуино, а на lwip (который собственно и используется в библиотеках expressif) пишется буквально в пару строчек.
Судя по тому что используется радиоканал - расстояние между устройствами большое. А значит проблема может быть не в быстродействии, а в "затяжке" фронтов на длинных линиях. Может стоит попробовать поставить "усилители" сигнала.
Если arduino на базе atmega32 то что-то путное без карточки памяти не получится.
В общем случае можно использовать PWM модуляцию. Настроить шеснадцатибитный таймер на нужный битрейт, а один из восмибитных использовать для ШИМ. Ну и повесить на вывод OC таймера RC-цепочку и с нее гнать звук на концертный усилитель :)
Если частота изменения сигнала не очень большая то можно использовать оптопары (вообще хорошая практика гальванически развязывать "мозг" и исполнительные устройства и датчики)