Bus Monitoring System is a system for a company to track its buses’ routes and monitor their movement. The project aims to make this process easier by providing hardware subsystems to supervise the path of the buses, ensure the safety of the passengers, customize an independent payment system and contact the stations alongside the route. The project aims to ease the supervision of the whole system by providing the prementioned subsystems. First, in terms of monitoring the buses including a GPS to determine the location of the bus to track the bus alongside the path, also there is a camera streaming all the time for recording. Second, in terms of safety including there will be a smoking detector to save passengers' life when there is a fire, so if the speed of the bus is less than 10km/h the door will be automatically opened, if the speed goes beyond a certain speed, a warning will be given to the driver. Third, regarding the communication between buses and stations, there will be independent communication to keep the system working in case the server goes down. Finally, in the payment system, there will be RFID cards that can be charged for customers and used to pay for bus rides. Note that there is no internal controller, so we will add an external controller which is implemented by buttons for both Right, Left, Forward and Back.