The making of a ‘School Bus Security System’: PART I

~by Albert Zakhia

Back in 2018, our company ( had the privilege to be invited to perform a POC (Proof Of Concept) for a School Bus Security System. We were to be provided 2 school buses for the POC.

The initial requirements where:

  1. Seat belts usage should be monitored at all times. If the seatbelt is unbuckled (one of the buses has 60 seats), (1) the driver should be notified, (2) it should be recorded in a server and (3) an event should be generated.
  2. Make sure to keep a safety distance between the bus and other obstacles, mainly vehicles around, before allowing a student to step down.
  3. If the ‘STOP Sign’ rod was engaged, every vehicle that bypasses the bus should be photographed and its license plate sent to a target server.
  4. Live video monitoring possibility for the bus.
  5. The bus location and state, together with all seat belts state should also be monitored live and recorded in a central server.

In addition to the provided requirements, the client was open to additional suggestions.

The inviting party and the buses are located in another country. To cut costs, we will need to build the whole system and make sure it is functional in our local offices before moving to the client’s country.

Ideas’ identification and screening

The next step was to identify ideas that can fit positively the requested model. In order to develop our ideas, we started from a basic assumption, an assumption we agreed to be an integral part of the system.

“Our secure bus system should have 2 distinct colored lights inside the bus:

  1. A green light that identifies that it is safe for a student to drop out of the bus and
  2. A red light that identifies that it is dangerous for students to drop out of the bus”

Based on the above assumption, all we needed now is to figure out what is ‘safe’ and what is ‘dangerous’. As ‘safe’ mainly means not ‘dangerous’, we could just search for what is dangerous and program our lights to light accordingly.

At that point, we gathered a list of points that we considered dangerous. Our list was as follow:

Seats occupancy

Signaling an unbuckled seat belt is worthless. If there is no student at the seat, the seat belt would b unbuckled, and this is not wrong. For this, we decided to install a seat sensor. If the seat sensor is signaled, this means the seat is occupied. Once we know if the seat is occupied or no, we can decide about the state of seat belt.

This gives us: if the seat belt is signaling, it means the student has buckled his seat belt.

Between seat sensor and seat belt, we have 4 different states, for each state we have a status: normal, alert or alarm. Example, with an occupied seat, not buckling a seat when the vehicle is still will cause an alert displayed on the driver’s dashboard, whereas the moment the vehicle moves, it becomes an alarm.

The below video shows the testing of a seat sensor and a seat belt sensor and the display at the driver’s dashboard.

Stop Sign engagement rod

Before opening the door to pick up or drop a student, and after the bus is FULL STOPPED, the driver should engage the “STOP SIGN” rod. The STOP SIGN has the same legal power as a street semaphore red light. Bypassing a school bus with the STOP SIGN armed will be considered as an infraction. How would the authorities know about such infraction? Let’s continue…


Before opening the door to pick up or drop a student, it is essential for the driver to make sure that the bus speed is ZERO. Opening the door while the vehicle is moving is an infraction.

The passenger door(s) have two states: open or closed. If they are closed, we have no problem. If any is open, we have one of two scenarios:

Either the bus is fully stopped, and this generates an alert. We need it to be an alert because we need to visually and audibly alert the driver and remind him to keep an eye on the door, and to close the door once the students has been picked up or dropped. If the door is open while the bus is moving, then this will be considered as an alarm, sending an acute audible sound for the driver and logging the event as an infraction.

Note that FULL STOP in our context means: We have speed ZERO coming from the GPS, AND the driver is either stepping on the brakes or has engaged the handbrake.


In order to enforce the Speed ZERO rule, we will install sensors on the brake pedal as well as the handbrake. The drive should, before opening the passenger door, make sure that the speed is zero and maintain constant pressure on the brake or engage the handbrake. This should be performed for the entirety of the operation. While the door is open or the stop sign is engaged, releasing the handbrake or decreasing the pressure from the brakes will result in an alert. If the vehicle moves, an alarm will be logged.

Distance sensors

There are five distance sensors installed on all sides of the bus, two of which are to the left (road) side of the bus covering the street.

Distance sensors will have many advantages:

  1. Scanning the bus surroundings, it informs the driver when to safely open the passenger door. Even if the driver opens the door, the warning light will remain red as long as the bus surrounding area is not safe (empty).
  2. When driving, it forces the driver to keep a minimal distance between the bus and any vehicle in front.
  3. It can also, by visual notification, inform a driver behind the bus to keep his distance.
  4. If a vehicle bypasses the bus while the STOP SIGN rod is engaged, the sensors will trigger the installed cameras to capture pictures of the offending vehicle, a License Plate Recognition (LPR) code to convert the info to text and finally send the vehicle registration number to the responsible authority.
Safe area monitoring using distance sensors

In the below video, we can see the distance sensors in action: a video showing how the internal light turns from green to red and back to green when a vehicle bypasses the bus. All sensors being equal and in safe mode, this video was testing the rear left sensor.

Video cameras

Eight 4G live video cameras are installed in the bus. Five cameras are outside filming cameras, while 3 are internal cameras.

The camera usages are as follow:

  1. Front camera (c1): this camera will record the front of the bus, showing the driver’s attitude toward the road conditions.
  2. Right side camera (c2): This camera is mainly to record the students being picked up and dropped out of the bus.
  3. Back camera (c3): this camera will record events as they are happening behind the bus, and checking the distances between the bus and the vehicle behind it. As kids are invisible behind the bus, this same camera will help the driver make sure no obstacle is behind him.
  4. Two left side cameras (c4 and c5): These are the main cameras, as they show the left side of the bus. C4 is on the back of the bus facing forward, while C5 is on the front of the bus facing backwards. When the STOP SIGN is engaged and a vehicle bypasses the bus, these are the cameras that will take a snapshot of the offensive vehicle and record it’s registration number.
  5. Driver’s facing camera (c6): this camera is focused on the driver.
  6. Front to back facing camera (c7): This camera is recording the inside of the bus (students) from the front facing backwards.
  7. Back to front facing camera (c8): This camera is recording the inside of the bus (students) from the back facing forward.

With all these cameras installed, a complete situation of the bus is registered and stored internally for 2 weeks. These cameras are also visible to the driver through his dashboard, although, apart from reverse, there is no much need for the driver to use them. Still, they are an available possibility.

In addition, though 4G and more advanced technologies, authorities can access the cameras live at any time.

4 CAMS View

For a detailed recorded trip of the result, kindly follow this link:

Live video recording of school bus trip

Driver’s dashboard

As we will be needing a way to make sure our assumptions are correct, we decided on building a driver’s dashboard. The dashboard should allow the driver (and our Development/QA team) to view the complete state of the bus.

The dashboard should be able to:

  1. Display all seats and their states
  2. Display if passenger doors are open/closed
  3. Display the state of the ‘STOP SIGN’ rod (engaged/retracted)
  4. Display the area occupancy around the bus
  5. Display alert icons together with an alert beep when alerts happen
  6. Display alarm icons together with an alarm beep when an alarm happens
  7. Display reverse on reverse
  8. Display cameras’ footage on demand

We do not have a live video on driver’s dashboard, but we do have a dashboard footage while testing the correct installation and working of the seat sensors, seat belts and passenger’s door.

Testing sensors on driver’s dashboard. This proves the correctness in both 

Display panels

A display panel can be installed on the back of the bus alerting any driver behind the bus of its actual state and calling him to slow down. The display panel will display live, the number of students on board of the bus, and the approximate distance to the next stop. Such visual representation will affect positively the driver behind the bus and will help him avoid bad decisions.

This led panel keeps drivers informed of current bus state and provide a feeling of responsibility

Back to Red and Green

Now that I have listed most of the sensors to be used for a secure school bus system, how does the complete system runs?

This is a two streets venue:

  1. There is a first need for management to list the rules.
  2. Then comes our system to enforce them

The advantage of a such a system is that the system is constantly monitoring the driver and alerting him of breaches.

Agreeing on the above, we need to start electronically enforcing the rules that should turn these lights on or off accordingly.

Main rule: if at least one of the safety conditions is not met, then it is not safe to step down the bus (light is red). If all safety conditions are met, the light turns to green. Hence we need to decide when it is safe to step down the bus:

  1. Bus is FULL STOP
  2. AND: Either brake or hand brake constantly applied.
  3. AND: STOP SIGN Armed
  4. AND: No vehicle around the bus (up to 1.5m)
  5. AND: Door open. (Door should be opened before the student can unbuckle his seat belt and get off the bus)

To achieve the above conditions, the driver should respect the following order of actions:

  1. Bring the vehicle to FULL Stop.
  2. Keep braking or engage hand brakes for the complete boarding/stepping down period.
  3. Arm the STOP SIGN rod
  4. Wait for surrounding area to be safe (by using his mirrors, camera views and distance sensor information on his tablet)
  5. Open Bus door
  6. Wait for green light
  7. No vehicle around the bus (up to 3.0 meters)
  8. Students stepping down can unbuckle their seat belts and move toward the door or assistant to help drop off the kids
  9. Assistant to walk students to safe area or hand to parents. On street crossing, assistant needs to cross the street with them.
  10. Assistant back to board bus
  11. Door to be closed
  12. RED Light is back on
  13. Disengage the STOP SIGN rod
  14. Release brakes and move…
SOFTRASYS SBSS marketing video


In the next chapter, I will guide you step by step how I designed this system from start to completion and the logic I followed for success.


The below blooper shows how 50 degrees in shade can force you to change your code from visual clues to vocal information. I want to thank my friend Ryan Azzam (, who is actually our Sales Manager, proved to be the best technical person I ever had to work with. His skills and eagerness were impressive!