спасибо за проект, подробные инструкции и исправленный скетч. собрал на макетке, питание ардуино с компа, 13В с внешнего самодельного лабораторника. резистор к земле на 10 ногу пика PGM не ставил. дополнительно добавил светодиод с ноги А5 ардуинки через резистор на массу. теперь при чтении и записи пиков светодиод мигает, показывая работоспособность программатора)Решил, что проще исправить, чем объяснять почему не работает. Поэтому загружайте исправленный для новых версий Arduino IDE скетч.
Или можно просто прошить готовый hex в ардуину. Hex тут. Подключаете ардуино через USB к компьютеру и прошиваете с помощью GC Uploader . Как это сделать, нажать тут.
сразу заработало, прошил и прочитал pic16f628a и pic16f648a, никаких проблем.

Изменено: