Antarmuka mesin manusia (HMI) adalah antarmuka yang memungkinkan interaksi antara manusia dan mesin. Antarmuka mesin manusia sangat bervariasi, mulai dari panel kontrol untuk pembangkit listrik tenaga nuklir hingga layar dan tombol input pada ponsel. Merancang antarmuka seperti itu adalah sebuah tantangan, dan membutuhkan banyak pekerjaan untuk membuat antarmuka berfungsi, dapat diakses, menyenangkan untuk digunakan, dan logis. Beberapa insinyur mengkhususkan diri dalam mengembangkan antarmuka mesin manusia dan mengubah cara orang berinteraksi dengan mesin dan sistem.
Dua komponen diperlukan dalam antarmuka mesin manusia. Yang pertama adalah masukan. Seorang pengguna manusia memerlukan beberapa cara untuk memberi tahu mesin apa yang harus dilakukan, membuat permintaan mesin, atau menyesuaikan mesin. Contoh perangkat input termasuk keyboard, sakelar, sakelar, layar sentuh, joystick, dan mouse. Semua perangkat ini dapat digunakan untuk mengirim perintah ke sistem atau bahkan serangkaian sistem yang saling terkait.
Antarmuka juga memerlukan keluaran, yang memungkinkan mesin untuk terus memperbarui pengguna manusia tentang kemajuan perintah, atau untuk menjalankan perintah di ruang fisik. Di komputer, misalnya, pengguna memiliki layar yang dapat menampilkan informasi. Robot, di sisi lain, dapat bergerak sebagai respons terhadap perintah dan menyimpan data pada hard drive sehingga orang dapat melihat bagaimana robot merespons, belajar, dan menavigasi dunia. Keluaran juga dapat mencakup hal-hal sederhana seperti lampu status yang memperingatkan orang-orang ketika sakelar atau sakelar telah diaktifkan.
Teknologi di balik antarmuka mesin manusia terus meningkat. Para peneliti telah mengembangkan antarmuka yang dapat dikontrol dengan pikiran, misalnya, melihat aplikasi untuk teknologi ini di antara pasien stroke dan orang lain dengan mode komunikasi yang sangat terbatas. Demikian juga, output telah menjadi jauh lebih canggih dari waktu ke waktu.
Seperti yang telah dicatat banyak orang, antarmuka mesin manusia yang dirancang dengan buruk bisa sangat membuat frustrasi. Di satu sisi skala, antarmuka mungkin bermasalah atau tidak berfungsi, menyebabkan kesulitan karena tidak berfungsi sebagaimana mestinya. Di sisi lain, antarmuka berfungsi, tetapi dirancang sedemikian rupa sehingga membingungkan dan menantang untuk dioperasikan karena tidak intuitif bagi pengguna. Seni merancang antarmuka intuitif membutuhkan pemahaman yang mendalam tentang bagaimana manusia berinteraksi dengan lingkungan mereka dan kesadaran psikologi merancang antarmuka dengan cara yang akan dapat diakses oleh spektrum yang luas dari manusia. Apa yang berhasil untuk seorang insinyur dalam antarmuka mesin manusia, misalnya, mungkin tidak semudah anggota masyarakat umum.