Найпростіший "пристрій", на який можна написати драйвер апаратного забезпечення (якщо розробка драйверів апаратних засобів - це ваша річ), може бути таким же простим, як світлодіод (я додав лапки, оскільки технічно світлодіод - це не пристрій, але він все ще є частиною апаратне забезпечення), як запропонував @PiBorg.
Іншим вибором можуть бути такі прості в інтерфейсі пристрої / компоненти, як фоторезистори, пасивні інфрачервоні датчики (короткі: PIR), температурні датчики, вентилятори ПК (бажано, 4-провідний вентилятор, який дозволяє не тільки контролювати, але і керувати RPM), світлодіодні крапкові матриці тощо. В основному такі прості пристрої дозволять вам мати мінімум на апаратному забезпеченні (щоб ви могли бачити і торкатися того, що ви насправді досягли), і в той же час ви можете дізнатися про безліч тем, які використовуються для набагато складніших пристроїв, де складність здебільшого пов'язана з протоколом, який вони використовують.
Зверніть увагу і на те, що не потрібно зайву милю, копаючи модулі ядра. Звичайно, якщо ти хочеш це зробити, ніхто тебе не зупиняє. :)
Ось приклад взаємодії пасивного інфрачервоного датчика (я збираюся перевірити його незабаром, коли мій PIR буде доставлений: 3). Ви можете взяти це і почати копати глибше у світ ядра Linux, щоб побачити, як можна, наприклад, створити драйвер ядра, який працює з PIR.