
Figure 1:
Flowchart of smart stick system.

Figure 2:
Smart Guide system architecture.

Figure 3:
Hardware block diagram.
Table 1:
Hardware components
| Component description | Component image | |
|---|---|---|
| 1 | The Arduino board is a microcontroller connected to the application and the other components. | ![]() |
| 2 | An ultrasonic sensor is utilized to sense the barrier in a specified range. | ![]() |
| 3 | The light sensor is used to measure the intensity of light in a place. | ![]() |
| 4 | A buzzer is used to give a sound during emergencies and when detecting an obstacle. | ![]() |
| 5 | The push button is used as an emergency button. | ![]() |
| 6 | LED light is used to turn it on in dark places. | ![]() |
| 7 | The vibration motor gives vibrations to alert the blind student. | ![]() |
| 8 | GPS module is utilized to detect the location of the visually impaired student. | ![]() |
Table 2:
Unit test
| Test case ID | Test case description | Input data | Expected result | Actual result | Pass/fail |
|---|---|---|---|---|---|
| A01 | Scanning a barrier at a 20 cm distance | Since a barrier at a 20 cm distance | Turning on buzzer and vibrator | The buzzer and vibrator turned on | Pass |
| A02 | Sensing a dark place | Analog value <50 | Turning on the buzzer and LED light | The buzzer and LED light turned on | Pass |
| X02 | The user enters an invalid email for registration |
| Sign up fails | Failed to sign up | Pass |
| X05 | The user enters the incorrect email for logging in |
| Sign in fails | Failed sign in | Pass |
| X09 | The user updates the password with incorrect inputs |
| Update the password fails | Failed updating | Pass |
| U01 | Getting directions for a destination | Destination name | Arrows pointing to the destination | Correct arrows pointing to the destination | Pass |
| U02 | Getting accurate voice instructions to reach the destination | Destination name | Accurate and immediate voice instruction | Latency in voice instruction | Pass |
| U03 | Recognizing Arabic words accurately | Saying the class number: “Hall” 128 | Recognize the words correctly | Recognized the words correctly | Pass |
Table 3:
Integration test
| Test ID | Test case objective | Test case description | Expected result | Remark |
|---|---|---|---|---|
| 01 | Test the transition from the sign-up screen to the desired user screen based on the user type field. | The user enters the required inputs for registration, including determining the user type. | Transition to the proper home screen for the chosen user type. | Positive result |
| 02 | Test the transition from the sign-in screen to the proper user home screen based on the data retrieved from the database. | The user enters the required inputs for signing in. | The application retrieves the user type from the database and transitions the user to their home screen. | Positive result |
| 03 | Test the connection of the student–guardian accounts. | The student enters the email of their guardian in the My Account tab. | The application shows a notification in the guardian account. | Positive result |
| 04 | Test the emergency alarm sent to the guardian to check the student’s location. | The student tabs the emergency button on their main screen. | The application sends an alarm to the guardian to check the student’s location. | Positive result |
| 05 | Test the integration of Unity-Xcode applications. | The student tabs the building button on their main screen. | The application shows the first interface from the Unity build, which asks for the floor. | Positive result |

Figure 4:
The smart stick.







