It is the joy of the engineer and of any creator to create something that does not merely complete a task, but also serves the convenience of mankind. In this blog, we will employ tools and explore the ways engineering and electronics come together to produce an assistive device for visually impaired individuals.
Our device’s ultimate goal is to assist visually impaired people in navigating their surrounding spaces. To do that, the device must be able to detect obstacles and nearby movement. Therefore, our device will be a two-in-one, fulfilling two essential functions: obstacle detection and motion alarming.
There are four key components used for the assembly of our navigation device:
1. Kypruino.
The Kypruino is essentially what brings the project to life, giving us a platform where we can transform ideas into physical manifestations. It is the brain, the coordinator of all that goes on.

The Kypruino is a small, programmable circuit board used to build electronic projects that can sense and interact with the world. Think of it as a basic but powerful computer, a kind of simplified computer that can read input (like motion, light, or distance) and respond by producing output (like turning on a light, sounding a buzzer, or moving a motor).
It has a series of connection points, called pins, which allow you to attach sensors, buttons, LEDs, and other electronics components. The magic of the Kypruino lies in its thoughtful enhancements over the standard Arduino UNO R3: it comes with built-in features such as a buzzer, buttons, and NeoPixel LEDs, making it easier to experiment without needing to wire up everything from scratch. You write instructions in a programming language on your computer, and then upload them to the Kypruino using a USB cable. Once the code is on the board, it runs automatically, carrying out the tasks you've programmed - whether that's checking for motion, detecting obstacles, etc.
Note: This project is also compatible with the Arduino UNO R3 board.
2. IR Obstacle Avoidance Sensor:

Another integral part of our device is the Infrared (IR) Obstacle Avoidance Sensor. The sensor works by using an infrared LED (the transmitter) and an infrared photodiode (the receiver), forming the sensor pair. The transmitter LED emits a certain frequency of infrared light, which the receiver photodiode will detect when reflected from an object placed in front of the sensor; in other words, the emitter ‘’sends’’ a beam of light which is invisible to the human eye, it bounces on the surface of the obstacle and travels back, and so the receiver is able to detect it.
The sensor outputs a GND signal (0 volts) when it detects an obstacle and a different signal (typically high voltage) when no obstacle is present. The range of the sensor is around 2-30 cm with a detection angle of 35 degrees. The sensor has a potentiometer for range adjustment control. It operates at 3.3 to 5 volts at around 20 mA.
Note: One limitation of the IR Obstacle Sensor is that it struggles to detect objects with black surfaces. This is because black materials tend to absorb infrared light rather than reflect it, making the sensor effectively “blind” to them. But don’t fret - flaws and challenges are part of the engineering process. They’re actually what make it fun and exciting! Each limitation pushes us to ask new questions and explore new ideas. If light can only take us so far... what else can we use? Sound? Vibration? Ultrasonic waves?
That’s the beauty of problem-solving in robotics: it never really ends - it evolves.

This Passive Infrared Motion Detector or PIR senses the infrared radiation naturally emitted by all objects that are warmer than absolute zero. (Absolute zero is the lowest possible temperature where particles have no movement at all, and essentially, no heat or kinetic energy.) Since humans and animals constantly emit infrared radiation, the PIR sensor can pick up changes in the infrared levels in its environment. When someone passes in front of the sensor, it notices the shift in heat and signals that motion has been detected by triggering an output voltage.
It has a sensing angle of ~100 degrees and a range of up to 7m. The sensor features 2 potentiometers to adjust the sensitivity (and range) and the time delay before the sensor resets after detecting motion. It has an operating voltage of 4.5-12V.
4. 3D Printed Case:

A custom 3D-printed case ensures all components are securely mounted. The case includes a handle for ease of use in obstacle detection mode, which also functions as a stand for motion detection mode. The 3D files can be found in our GitHub repository.
So, now that we are familiar with the most vital parts of our device let’s gather them and start assembling!

Required Components:
- 1x Kypruino UNO+
- 1x IR Obstacle Avoidance Sensor
- 1x Motion Sensor (PIR)
- 1x 3D Printed Case
- 6x Female to Male Dupont wires
- 7x M3 X 6mm Bolts (they are the silver ones in the image above)
- 2x M2 X 6mm Bolts (the black ones)
To bring this project to life, you must not forget the engineer’s wand: the screw driver! <3

Assembly:
-
Firstly, install the IR Obstacle Sensor: Secure it inside the case using one M3 x 6mm bolt
-
Then, mount the PIR Motion Sensor: Attach it to the case with two M2 x 6mm bolts.
Tip: the motion sensor will be more securely attached if you screw in the bolts from the inside!
-
Attach the Kypruino UNO+: Secure it with two M3 x 6mm bolts.
-
Connect the Sensors: Use six female-to-male Dupont wires to link the sensors to the Kypruino UNO+.
-
Connect the PIR Motion Sensor to D10 and the IR Obstacle Sensor to the D5. (‘’D’’ here stands for ‘’Digital Pin’’; this matters so our code runs smoothly!)
Remember: The wires must be connected in a specific order. For example, with this particular PIR motion sensor, the first pin (starting from the left when the sensor is facing you) is for power (VCC), the second is for output (OUT), and the third is for ground (GND). Connecting them incorrectly can prevent the sensor from working properly, or even damage it.
-
Then, you can attach the Bottom Handle: Fix it in place using two M3 x 6mm bolts.
-
Don’t forget to adjust the PIR Sensor: Set sensitivity to maximum and time delay to the lowest using a screwdriver.
-
Lastly, secure the Top Cover: Fasten it with two M3 x 6mm bolts.
Finally, we have our hardware set up and ready for action. But, before our navigation device truly comes to life and starts fulfilling its purpose, there is one essential step left to complete…
Code Uploading and Testing:
1. Obtain the Code
-
Download the code from our GitHub repository.
2. Upload to Kypruino UNO+
- Open the Arduino IDE and load the sketch.
- Connect the Kypruino to your computer via a USB-C cable.
- Select Arduino UNO as the board type and choose the correct port.
- Click Upload to transfer the code.
3. Test the Device
- By default, the device operates in Obstacle Detection Mode.
- Place an object in front of the IR sensor—a sound should be heard.
- Adjust the detection range via the sensor’s potentiometer.
Tip: The Kypruino UNO+ has a buzzer switch next to the USB-C port. Ensure it is turned ON if no sound is heard.
4. Switch to Motion Detection Mode
- Press the ‘A’ button on the Kypruino.
- A confirmation tone will play, indicating mode change.
- Place the device on a table and walk around—the buzzer will sound when motion is detected.
-
Adjust the PIR sensor's delay using its potentiometer.
At last, our navigation device is set up and ready for action! :)
In this seemingly simple project, we have uncovered quite a bit: we explored the functions of essential tools in robotics and learned how to assemble a basic navigation device. And yet, your job does not end here, dear engineer. Now is the time to observe, question, and improve. Think back to the limitation we discussed with the obstacle sensor: what changes could you make to overcome it?
Because the most important part of this process isn’t simply building - it’s understanding what you’ve built. When you decode how each component works together, you gain the tools to materialize your own ideas, bring them to life, and refine them, over and over again. Maybe even to perfection... if such a thing exists.
This project was designed in collaboration with Girls in Steam Academy .