Di dunia industri saat ini, untuk mempermudah beberapa pekerjaan, beberapa industri memanfaatkan troli sebagai salah satu alat untuk mengantar dan membawa barang dari satu tempat ke tempat lainnya. Sayangnya, penggunaan troli masih juga menghadapi kendala seperti jatuh atau tumpahnya barang bawaan ketika melewati jalan menanjak ataupun menurun. Maka dari itu, tujuan dari tugas akhir ini yaitu merancang Self-balancing Trolley yang merupakan troli pengangkut barang dimana troli ini dapat menyeimbangkan barang yang diletakkan di atas meja troli dalam kondisi jalan yang menurun maupun menanjak.
Sistem ini dirancang menggunakan sensor IMU sebagai sensor pembaca sudut, Arduino Uno sebagai mikrokontroler, dan motor dc sebagai aktuator. Sedangkan metode kontrol yang digunakan dalam merancang sistem ini adalah metode kontrol PID. Output kontrol PID merupakan nilai PWM yang akan berpengaruh pada pergerakan motor dc yang terhubung dengan meja troli.
Berdasarkan hasil implementasi kontrol yang telah dirancang, dibutuhkan konfigurasi nilai Kp, Ki, dan Kd yang berbeda-beda bergantung pada jalan yang dilalui dan beban yang dibawa. Pada kondisi statis, waktu yang dibutuhkan sistem untuk menggerakan meja troli menuju keadaan settle (0°) dari kemiringan 10° adalah 4 detik. Sedangkan pada saat kondisi dinamis, waktu yang dibutuhkan sistem untuk menggerakan meja troli ketika melewati tanjakan atau turunan dengan kemiringan 20° dan membawa beban 6 kg menuju keadaan settle (0°) adalah 8-9 detik. Dari hasil implementasi alat yang dibuat, sistem kerja troli sudah dapat mempertahankan kedataran dari meja troli saat melewati jalan menanjak atau menurun dengan sudut kemiringan -30° hingga 30°, walaupun masih terdapat error steady state pada sistem.
Kata kunci: accelerometer, gyroscope, Kd, Ki, Kp, PID, PWM, self-balancing