Как сделать панель управления принтера/чайника в браузере?
Универсального инструмента нет. Следует исходить из задачи (какой именно фронт и что именно должен уметь бэк), и ресурсов - на сколько сильно вы можете увеличить стоимость устройства и какой человеческий ресурс.

На фронте, как уже сказали, выбора нет - любое решение в итоге будет сводиться к html/js/css (даже если навернуть React/TypeScript/sass)

На бэке варианта два:
1. Чайник/принтер сам выступает в роли сервера. Тогда придётся писать на C или Rust.
2. Сервером выступает отдельный, более мощный компьютер, чем тот который управляет основными функциями.
Он может быть как встроенным в устройство (какой-то небольшой одноплатный компьютер), так и отдельным (полноценный сервер или хаб) - тогда бэкенд можно будет написать на том, что тебе будет более удобным.

В общем то в зависимости от этого следует и инструменты для фронтенда выбирать, тк в первом случае памяти будет не много, а по тому какой-то тяжёлый фреймворк затащить не выйдет.
Для фронтенда у вас, кроме HTML,  JS и CSS, особо выбора то и нет ))
Бэкенд частенько и не нужен, ибо на устройстве может быть простенький web-сервер, который может принимать и обрабатывать запросы.