ATtiny2313, 18 GPIO.
где? на первой странице даташита?
пока пишешь код в теории, то вроде всё ажурно, а как начинаешь гонять в железе, то понимаешь что внутренний осцилятор не удовлетворяет требованиям, особенно когда надо использовать прерывания по 20 микросекунд, приходится вешать внешний, вот уже минус две ноги.
это только пример с осцилятором, а таких подводных камней валом, в итоге требование в 17 GPIO выльется в то, что кнопки прийдётся разводить на разные порты и всё в таком духе