A Smart White Cane with AI Vision
Losing eyesight is a devastating problem that has a negative impact on the day-to-day living of individuals living with disabilities. An assistive tech like this one is going to play a vital role in paving the way for people who are partially and completely blind. Walking from point A to point B is not easy for people with visual impairments.
Figures 01 and 02 show the breadboard connections of both the main control circuit and the XIOA ESP32S3 Sense.
The demo video in Figure 03 demonstrates how this Smart White Cane with AI Vision works.
=======================================================================
How to build it!
Hardware Components
Figure 04 depicts the top side of the nRF52840 Development Kit.
The picture in Figure 05 shows the bottom side of the Dev Kit.
The nRF52840 DK is a versatile single-board development kit for Bluetooth Low Energy, Bluetooth mesh, Thread, Zigbee, 802.15.4, ANT, and 2.4 GHz proprietary applications on the nRF52840 SoC. It is the recommended Nordic development kit for Amazon Sidewalk. It also supports development on the nRF52811 SoC.
The nRF52840 DK can also be used for Matter over Thread where Thread is used for transport and Bluetooth LE for commissioning. Matter devices based on Thread must feature Bluetooth LE concurrently to enable adding new devices to a network.
It facilitates development by exploiting all features of the nRF52840 SoC. It includes an NFC antenna that quickly enables the utilization of the NFC-A tag peripheral. All GPIOs are available via edge connectors and headers, and 4 buttons and 4 LEDs simplify input and output to and from the SoC. An onboard external memory is connected to the QSPI peripheral in the nRF52840 SoC.
Arduino Uno Revision 3 is compatible, making it easy to mount 3rd-party shields. It comes with an on-board SEGGER J-Link debugger allowing programming and debugging both the on-board SoC and external targets through the debug out header. It also interfaces directly with the Power Profiler Kit II.
The DK is typically powered with USB but can be powered by a wide range of sources, within the supply range of 1.7 to 5.0 V. In addition to USB, it can be powered with an external source, but also includes a CR2032 battery holder and a Li-Po battery connector, for in-field testing. Current consumption can be measured by using the dedicated current measurement pins.
DS Protoboard β 7x9cm
Features / Specs
- PCB Type: Double Sided
- PCB Finish: HASL (Hot Air Solder Level)
- Soldermask: Green
- Through-Hole Pitch: 2.54mm
- Through-Hole Diameter: ~1mm
- Mounting Hole Diameter: ~3.1mm
- Mounting Hole Spacing (Centre to Centre): Long Side: ~83mm / Short Side: ~64.9mm
- PCB Dimensions: ~(70 x 90mm)
- PCB Thickness: ~1.5mm
In the figure above is a prototyping board that I'm using as a shield for the nRF52840 Development Kit.
Male Pin Header β Straight 40P 2.54mm SIL
Features / Specs
- Gender: Male
- Style: Straight SIL (Single In-Line)
- Number of Pins: 40 (Can be cut as required)
- Number of Pin Rows: 1
- Pin Pitch: 2.54mm
- Pin Material: Iron
- Plating Material: None
- Max Current Rating: 3A
The picture in the figure above shows how the male pin headers have been soldered onto the shield
BUS-Socket is a pair of M-BUS sockets, female and male. 2X15 pins. They share the same specifications as the BUS socket on M5Cores. The male piece is a 90-degree bend to the side.
Female Pin Header β Straight 40P 2.54mm SIL
Features / Specs
- Gender: Female
- Style: Straight SIL (Single In-Line)
- Number of Pins: 40 (Can be cut as required)
- Number of Pin Rows: 1
- Pin Pitch: 2.54mm
The picture in the above figure shows the female pin headers for the
Figure 12 above shows the bottom side of the shield after soldering the female pin headers that I have used to connect the two bi-directional logic level converters.
Figure 13 shows the top sides of the two bi-directional logic level converters
The figure shows the bottom side of the bi-directional logic level converters with male pin headers soldered.
If youβve ever tried to connect a 3.3V device to a 5V system, you know what a challenge it can be. This bi-directional logic level converter is a small device that safely steps down 5V signals to 3.3V or steps up 3.3V signals to 5V.
The level converter is straightforward to use. The board needs to be powered from the two voltage sources (high voltage and low voltage) that your system is using: high voltage (5V, for example) to the βHVβ pin, low voltage (3.3V, for example) to the βLVβ, and ground from the system to the βGNDβ pin. Thatβs pretty much it. Let the logic level conversion begin!
Features / Specs
- Pitch: 2.54mm
Figure 15 shows the two bidirectional logic level converters connected to the female pin headers soldered on the shield.
The nRF52840 Development Kit includes shield pin headers that are Arduino compatible. Figure 16 shows how to connect the shield to these headers.
Figure 17 shows a piece of a double-sided prototyping board that I have used to connect the 12-core communication cable.
The picture in Figure 18 shows the top side of the 12-core communication cable connector
Figure 19 is a picture that shows the bottom side of the 12-core communication cable.
This module is a breakout board for an active buzzer. Active buzzers have an internal oscillator that generates a waveform to drive the transducer inside the buzzer. They operate at a preset frequency and are only able to produce a single tone. All you need to do is apply a DC voltage within the operating voltage range of the buzzer and voila, let there be sound.
Features / Specs
- Model: KY-012
- Operating Voltage: 3.5 β 5.5VDC
- Operating Current: 30mA @ 5VDC
- Resonant Frequency: 2.5kHz Β±300Hz
- Minimum Sound Output: 85Db @ 10cm
- Operating Temperature: -20Β°C to +70Β°C
- Standard 2.54mm Pitch Pin Header
- Connect Ground to the β-β pin, and connect your positive supply to the βSβ pin
General purpose NPN Bipolar Transistor in a TO-92 Package.
Features / Specs
- Model: 2N3904
- Manufacturer: Generic Chinese Brand
- Type: General Purpose NPN
- Max Continuous Collector Current: 200mA
- Max Collector-Emitter Voltage: 40VDC
- Max Power Dissipation: 625mW
- DC Current Gain (Min): 40
- Package: TO-92
Figure 22 shows the top side of the shield with all the components soldered onto the double-sided prototyping board.
The picture in the above Figure shows the bottom side of the shield and how the wires have been connected from the Arduino Compatible male pin headers to all the components on the shield.
Figure 24 is a picture that shows how to connect the shield to the Arduino Compatible pin headers of the nRF52840 Development Kit.
Figure 25 shows the top view of the Seeed Studio XIAO ESP32S3 Sense Board without the camera board
Figure 26 shows the bottom view of the XIAO ESP32S3 Sense Board. Note the two + and - solder pads for the 3.7V Lithium Polymer battery. I have used these two connection pads to connect a 3.7V 500mA LiPo battery on the Sense Board.
Figure 26 shows the XIAO ESP32S3 Board and Camera Board connected together.
Seeed Studio XIAO Series are diminutive development boards, sharing a similar hardware structure, where the size is thumb-sized. The code name "XIAO" here represents its half feature "Tiny", and the other half will be "Puissant". Seeed Studio XIAO ESP32S3 Sense integrates a camera sensor, digital microphone, and SD card support. Combining embedded ML computing power and photography capability, this development board can be your great tool to get started with intelligent voice and vision AI.
Features
- Powerful MCU Board: Incorporate the ESP32S3 32-bit, dual-core, Xtensa processor chip operating up to 240 MHz, mounted multiple development ports, Arduino / MicroPython supported
- Advanced Functionality (for Sense): Detachable OV2640 camera sensor for 1600*1200 resolution, compatible with OV5640 camera sensor, integrating additional digital microphone
- Elaborate Power Design: Lithium battery charge management capability, offers 4 power consumption model which allows for deep sleep mode with power consumption as low as 14ΞΌA
- Great Memory for more Possibilities: Offer 8MB PSRAM and 8MB FLASH, supporting SD card slot for external 32GB FAT memory
- Outstanding RF performance: Support 2.4GHz Wi-Fi and BLE dual wireless communication, support 100m+ remote communication when connected with U.FL antenna
- Thumb-sized Compact Design: 21 x 17.8mm, adopting the classic form factor of XIAO, suitable for space-limited projects like wearable devices
The picture in Figure 27 shows a piece of the prototyping board that I have used to connect the XIAO ESP32S3 Sense Board on which I'm running an AI Object Detection model
The picture in the above Figure shows the bottom side of the prototyping board to which I have connected the XIAO ESP32S3 Sense Board.
Figure 29 shows how the wires that connect the XIAO ESP32S3 Sense Board to the nRF52840 Development Kit and the 3.7V Lithium Polymer battery have been soldered
The picture in Figure 30 shows how to connect the XIAO ESP32S3 Board to the prototyping board.
Type-C USB cable
It is compatible with all devices powered by USB C
Special features USB A to USB C, Nylon Braided, Aluminum, 3A Fast Charging, Carplay, 3.3ft Compatible phone models S20, Samsung Galaxy S22, S10+
Specifications
- Recommended uses for the product: Indoor/Outdoor
- Color: Black/Grey
- Connector gender Male-to-Male
- Data transfer rate: 480 Megabits Per Second
Figure 32 shows the antenna that connects to the XIAOESP32S3 Sense Board
Premium 103040 3.7V, 500mAh rechargeable Li-Po battery.
High quality and durable, with a large capacity of 500mAh, less worry about batteries going dead within a short time.
They provide excellent continuous power sources to your device, feature high energy density, and extra long lifespan. Built-in smart protective PCB charging module effectively prevents overcharging, over-discharging, over-current, and short circuits. Widely used for MP5, GPS, remote controllers, mobile phones, tablet PC, Bluetooth speakers, headphones, cameras, radios, portable DVDs, MID, PDA, POS machines, solar lamps, interphone, PSP, electric toys, and other devices with the same battery size and capacity.
Specifications
- Model: 103040
- Type: Lithium battery
- Capacity: 500mAh
- Rechargeable: YES
- Charging Voltage: 4.2V
- Rated Voltage: 3.7V
- Working Temperature: -10Β°~50Β°
- Dimensions(L*W*H): About 40x30x10mm
Figure 34 is a picture that shows a piece of the prototyping board on which I have soldered a vibration motor a general-purpose NPN bipolar junction transistor (2N3904) and a base resistor. This is the vibration motor control board
Figure 35 shows the top view of the vibration motor control board.
The picture in the above Figure shows a vibration motor control board with a 3-wire cable (red, white, and black for 3.3V, signal, and GND respectively) connected to it.
NB (INCLUSIVE INNOVATION)! I have used this vibration motor, instead of a buzzer, to indicate the detection of objects to the user of the Smart White Cane with AI Vision. I have done this in response to the suggestions made in the Feedback from the Contest Masters
The picture in the above Figure shows the stripped Vero board that I have to test the functioning of the Analog to Digital Converter (ADC) of the nRF52840 Development Kit. On this piece of the board, is a 10K variable resistor, a reverse connection protection diode, an electrolytic bypass capacitor, and a current limiting resistor for the Light Emitting Diode (LED) power indicator. I have also connected a 10-ohm resistor in series with the 10K variable resistor to prevent a short circuit when the variable resistor reaches 0 ohm.
Figure 38 shows the solder side of the ADC board tester.
NB (INCLUSIVE INNOVATION)! This is a rechargeable Smart White Cane with AI Vision. I have connected a rechargeable 3.7V LiPo battery to the ADC of P0.2 of the nRF52840 Development Kit via a voltage divider since the maximum tolerable voltage is 3.3 on the GPIOs of this Dev Kit. When the voltage of the rechargeable 3.7V Lithium Polymer battery falls below a threshold of 1.2V, it indicates to the user through the vibration motor that the battery needs to be recharged. I have done this in response to the suggestions in the Feedback from the Contest Master.
Figure 39 shows the top view of the DC-DC Boost Converter MT3608.
The picture in the above Figure shows the bottom view of the DC-DC Boost converter.
DC-DC Boost Converter β MT3608
Features / Specs
- Module Type: DC-DC Boost / Step-Up Converter (Non-isolated)
- Switching Control IC: Olimex MT3608
- Input Voltage Range: 2V β 24VDC
- Output Voltage Range: 5V β 28VDC
- Max Output Current: 2A (Recommended Output Current = 1A)
- Conversion Efficiency: > 93%
- Switching Frequency: 1.2MHz
- Dimensions: ~(37.3mm x 17.6mm x 7.2mm)
Figure 41 is the top side of the 4055 Lipo Charger With Protection - Micro USB.
Figure 42 shows the top view of the 4056 Lipo Charger when it is connected to the charger.
4056 Lipo Charger With Protection β Micro USB
Features / Specs
- Charger Chip: 4056
- Battery Protection Components: DW01A Paired with 8205A MOSFET
- USB Connector Type: Micro USB
- Input Voltage: 5.0VDC
- Constant Charge Current: 1A Default (Can be adjusted β Requires soldering)
- Trickle Charge Current: 130mA Default
- Battery Compatibility: Lithium Ion / Lithium Polymer (Single Cell β 1S)
- Charge Voltage: 4.1 ~ 4.2VDC
- Discharge Protection Voltage: 2.5VDC
- Indication LEDs: Red LED indicates charging; Green LED indicates charge complete
- Dimensions: ~(29mm x 17.1mm x 3.5mm)
The picture in the above Figure shows the top view of a PROTO Board. It is a pure universal prototype pegboard. You can have the total freedom to make your own project as you want it, with a prototyping pegboard that allows laying out the customized circuit to interact with the M5 core via M-BUS. On this, I have soldered a DC-DC Boost Converter, a 4056 Charger With Protection, and a green On/Off LED indicator.
NB (INCLUSIVE INNOVATION)! At the top of the board, is a red slide switch for switching the Smart White Cane with AI Vision On/Off. This has been done in response to the suggestions made in the Feedback from the Contest Masters
Figure 44 shows the bottom view of the PROTO BOARD and how the wires have been soldered.
Figure 45 shows the top view of the Proto Board with all the required hardware components soldered on and the 3.7V Lithium Polymer battery connected to the board.
Figure 46 shows an Astrum Pro U20 USB-A Wall Charger with 5V 2A fast charging output, 10W real power, 180-240V input, and smart IC multi-level protection.
Figure a SnΓΌg USB to Micro USB cable which is suitable for mobile devices with a Micro USB socket. Charge and sync your device with this 1.2m cable.
FEATURES
- Charging cable
- Sync cable
- micro USB connector
Figure 48 shows a Wood Strip Spruce-32x32x4mm. It is a batten, versatile, and durable product that is perfect for a variety of uses. Whether you need to secure cables, hang curtains, or create a sturdy framework, the Batten is your go-to solution. Its sleek design and high-quality construction ensure long-lasting performance and reliability.
Features
- Multi-purpose batten for various applications
- Durable and sturdy construction
- Sleek design for a modern look
- Easy to install and use
- Provides excellent support and stability
The picture in the above Figure shows a black plastic base on which I have mounted the XIAO ESP32S3 Sense Board with the camera
Figure 50 shows a conduit pipe which is a staple in electrical infrastructure, providing a secure channel for wiring and cable management in various settings.
Figure 51 shows 3 Ultrasound sensors. SONIC IO Unit is an ultrasonic range sensor module that interfaces with GPIO (General Purpose Input/Output) pins. It incorporates the RCWL-9620 ultrasonic distance measurement chip with a 16mm probe. The ranging accuracy of this sensor can reach from 2cm to 450cm, with an accuracy level of up to Β±2%.
SONIC IO Unit determines the distance to a target by measuring the time lapses between transmitting and receiving pulse signals. By controlling the GPIO pins, users can directly obtain the distance value from the sensor.
The advantage of the SONIC IO Unit lies in its GPIO interface, which allows for direct control and access to the distance measurement functionality. This facilitates integration and provides flexibility in incorporating the sensor into different systems or projects.
This module is well-suited for various applications that require accurate distance measurements, such as robotics obstacle avoidance and fluid level detection. In robotics, it can be utilized to detect objects within a specific range, enabling efficient navigation and obstacle avoidance. For fluid level detection, the SONIC IO Unit enables non-contact measurement of liquid levels in tanks or containers.
NB (INCLUSIVE INNOVATION)! Figure 52 shows an ultrasound sensor that I have used as the top sensor. I have included this top sensor in response to the suggestions made in the Feedback from the Contest Masters
This ultrasonic module uses a separate transmitter and receiver and has all the accompanying hardware necessary to send and receive ultrasonic pulses. These sensors can measure distance by using high-frequency, inaudible ultrasonic waves. When triggered, the module sends out a few of these waves and receives the same waves reflected from the target (If there is one within range). The distance between the module and the target can then be calculated from the transmission and reception time of the waves. The module outputs a high pulse on the βEchoβ pin with a pulse width equal to the time that it took the ultrasonic waves to travel to the target and then back to the sensor. All that is left for you to do is measure the time of the output pulse, do a simple calculation, and voila you have a distance reading.
Features / Specs
- Model: HC-SR04
- Main ICβs: RCWL-9300 (Microcontroller), RCWL-9206 (Communication IC), LM324 (Quad Op-Amp)
- Operating Frequency: 40kHz
- Sensing Angle: 15Β° Maximum
- Detection Range: 2 β 450cm
- Resolution: 3mm
- Quiescent Current: < 2mA
- Average Operating Current: 15mA
- Operating Voltage: 3.0 β 5VDC
- Output Type: Digital (High level is the same as the supply voltage)
The picture in the above Figure shows how the front ultrasonic sensor has been attached to the wood strip spruce. It also shows the left, top, and right sensors.
Figure 54 shows how the black plastic base has been attached to the wood strip spruce.
Figure 55 shows Grove Female Headers - HY2.0-4P -SMD with Locating Pins.
HY2.0-4P SMD is a 2.0mm-4Pin Grove connector with a locating pin. You can easily apply it to your PCB design so as to get an easier and quicker connection to theM5Stack Unit system, which will help expand a lot more interesting functions.
Figures 56 and 57 show both the top and bottom sides of the PROTO Board to which I have connected the four ultrasonic sensors
PROTO Board is a pure universal prototype pegboard. You can have the total freedom to make your project as you want it, with a prototyping pegboard that allows laying out the customized circuit to interact with the M5 core via M-BUS.
Features
- Hole Size: 0.039" 1mm (CNC Drilled)
- Hole Pitch: 0.1 in - (2.54 mm)
- Entire Hole Quantity: 260 Holes
Figure 58 shows how the four ultrasonic sensors have been connected to the Grove Female Headers - HY2.0-4P -SMD with Locating Pins.
Figure 59 shows the XIAO ESP32S3 Sense Board and the camera module have been mounted on the black plastic base.
Figure 60 shows the bottom view of the clear plastic that covers the XIAO ESP32S3 Sense Board and the camera
The picture in above depicts the four spacers that I have used between the clear plastic cover that covers the XIAO ESP32S3 Sense Board with the camera and the black plastic base on which I have mounted the Sense Board.
The picture in the above Figure shows complete connections between the sensing part of the Smart White Cane with AI Vision.
Figure 63 shows how the camera module of the XIAO ESP32S3 Sense Board has been covered by a clear plastic cover.
Figure 63 shows the 12 Core Solid Cable Suitable for signal and data control cables in control circuits, machine tools, computer systems, industrial plants, production lines, and electronics.
Figure 65 shows the 500mAh 1.85Wh Lithium Polymer battery after being mounted on the black plastic base.
Figure 66 shows the DC-DC Boost converter after soldering it to the PROTO board.
Figure 67 shows the 3.3V buzzer. I have used this to indicate that the SmartWhite Cane with AI Vision is being switched ON.
Figure 68 shows the red slide switch and the 4056 charger when it is not charging the battery.
Figure 96 shows the charging of the LiPo battery when the Smart White Cane with AI Vision is OFF.
The picture in Figure 70 shows the nRF52840 Development Kit, vibration motor, LiPo battery, and DC-DC Boost Converter/Charging circuitry that have been mounted on the black plastic base.
The Smart White Cane with AI Vision in the above picture is charging while it is OFF.
The Smart White Cane with AI Vision in the above picture is charging while it is ON.
The green LED in the above figure indicates that the XIAO ESP32S3 is ON.
The picture in the above Figure shows all the hardware components connected without the XIAO ESP32S3 Sense Board and its camera module.
=======================================================================
Tools
Figure 72 shows 31 in 1 Mini Screwdriver Set.
Feature:
- Hangable design, Made from chrome alum steel
Compact size, easy to carry around - Suspension buckle design for easy storage
- This screwdriver is designed to service Mobile phones, computers, and other precision instruments
- The screwdriver handle cover is detachable, and the screwdriver can be collected inside the handle for easy outdoor operation
- The batch head is made of vanadium-iron steel and the whole quenching process is used to make it highly hard, toughness, strong, and durable
- High-quality precision telecommunication tools
-Ideal for your telecommunication tools
-Exact fit precision machined tips
Grip Resin Core Solder combines advanced resin core flux technology with high-quality materials to deliver precise, reliable, and professional soldering results. Whether you're soldering delicate electronic components or tackling heavy-duty metalwork, trust Grip Resin Core Solder to meet your soldering needs with precision and efficiency.
Hollow base - Only sides are in contact with the work surface sponge included
Specifications:
- Spring Holder Length: 100mm
- Centre Hole Dia. : 23mm
- Inner Cup Size: 32mm
For all your DIY soldering needs.
Features:
- Easy to use
- Stable soldering temperature
- Lightweight
- Iron-plated tip and stainless steel construction offer a longer life
- High-quality, long-lasting ceramic-type heater
Specifications:
- 60W
- Works with a 2-pin plug
- The applicable voltage is 220V-240V
- What's in the box
- 1 x 60W Electric Soldering Iron
The Aluminium Desoldering Pump is lightweight, made from quality materials, and perfect to help you with the removal of solder.
Specification:
- Range of temperature regulation: 1β
- Scope of application: Tin removal
- Net weight: approx. 30g
- Length: approx. 200mm
- Material: Plastic and Aluminium
- Maximum suction: 30
- Colour: Blue
The figure shows a Long Nose, Pliers
- Designed with a thin, grooved nose to assist with gripping, twisting, and wrapping wires.
- Drop forged chrome vanadium steel with comfortable grip-dipped handles.
- Excellent edge sharpness.
- Compact and easy to handle
The picture in Figure 78 shows a 2 in 1 Screw Driver. It contains a Small Flat and Phillips Bit. Quick and easy to change a bit, just pull the bit out turn it around, and pop it back in.
Fragram Adjustable Metal Hacksaw - 300mm
Features:
- Adjustable blade length from 10"/250mm to 12"/300mm
- Cuts to 2.75"/70mm in depth - For DIY and home use
- Angle adjustment 45/90 degree
- Adjustable for 10" and 12" blades
- Dimensions: 12.5cm x 45cm x 2cm
- Material: Metal
- Weight: 230g
- Warranty: 12 Months
=======================================================================
Softwares
Notepad++
Figure 80 above shows a code snippet. This code snippet shows all the files that have been included.
Figure 81 shows the definitions of all the pins and constants that have been used in this project
The code snippet in Figure 82 shows the variables' definition
Figure 83 is a code snippet that shows all the function prototypes and other variable declarations.
Figure 84 shows the timer1_init function that initializes the hardware timer
NB (INCLUSIVE INNOVATION )! The code snippet in Figure 85 shows the battery sample timer handler that is fired every 30 seconds to check the voltage of the LiPo battery. It also shows the function that configures the Analog to Digital Converter (ADC) of the nRF52840 Development Kit.
Figure 86 shows the last part of the function that configures ADC
The code snippet in Figure 87 shows the function that measures the distance between the top sensor and the detected objects. The other 3 ultrasonic sensors use a code similar to the code above.
The proximity of objects is processed by the code in the above Figure. NB (INCLUSIVE INNOVATION)! The nearer the objects are to the sensors, the more the number of vibrations of the motor.
The above code snippet shows the timer expiry function that is fired every 1 second and blinks LED2 if all the sensors are functioning correctly. If one of the four sensors is not functioning correctly, the LED2 on the nRF52840Development Kit will blink every 250ms.
Figure 91 shows the code that processes the data received from the ultrasonic sensor and switches ON the vibration motor according to the distance measured.
Figure 92 shows the code that calls the functions that measure the distances between the ultrasonic sensors and the detected objects.
NB (INCLUSIVEINNOVATION)! Figure 93 shows the code that checks the voltage of the LiPo battery. If the voltage of the rechargeable battery is less than 1.2V, the vibration motor vibrates every 30 seconds.
Figure 94 shows the entry points of the two threads, Thread A and Thread B.
The main function of the application code is shown in Figure 95.
GPIOs Initialization
The code in Figure 96 tests the functioning of the vibration motor and a buzzer
Command-Linen Interface
Figure 98 shows the execution of the command that builds the Smart White Cane with AI Vision application
The CMD Window in Figure 99 shows the output of the build process.
Follow this https://docs.zephyrproject.org/latest/develop/getting_started/index.html Getting Started Guide on how to:
- Set up a command-line Zephyr development environment on Ubuntu, macOS, or Windows (instructions for other Linux distributions are discussed in Install Linux Host Dependencies)
- Get the source code
- Build, flash, and run a sample application
=======================================================================
Arduino IDE
The code snippet in Figure 100 shows the file inclusion and the pin definitions of the camera module.
Figure 101 shows the pin definitions of the AI Thinker camera module and XIOA ESP32S3 Camer Model.
Figure 102 shows the pin definitions of the XIAO Camera Model
Figure 103 shows the initialization of the structure for the camera module.
Figure 104 shows the initialization of the structure for the camera module.
Figure 105 shows the setup function that configures all the GPIOs.
Figure 106 shows the indefinite loop in which the inferencing of the trained model happens.
Figure 10 shows the code snippet that captures the sensor data
If the detected object in the picture is one of the objects in the trained data set, the XIAO ESP32S3 Sense Board will send a signal to the nRF52840 Development Kit.
Figure 109 shows the classification of the captured images.
The ei camera init function in Figures 110 and 111 initializes the camera module.
The ei camera deinit function in Figure 112 stops the streaming of the sensor data.
The code snippet in Figure 113 shows how the camera captures data
The code snippet in the above figure shows the code that crops and interpolates the red, green, and blue colors of the captured picture.
The above figure shows the camera gets data from the camera module.
=======================================================================
Online Services
In this, I have used only one online service i.e. Edge Impulse Studio.
Figure 116 shows the first page of the Edge Impulse Studio.
Figure 118 shows the name of the project.
Figure 129 shows data collection and the number of items.
Figure 120 shows the raw data with an example of one in bounding boxes.
Figure 121 shows the image data settings and input and output features.
Figure 122 shows the raw data with one item showing the bounding boxes.
Figure 123 shows the On-device performance for the processing time and peak RAM usage
Figure 124 shows Neural Network settings and the training output
Figure 125 shows the training settings for the model.
Figure 127 shows the configuration for the model deployment
=======================================================================
A Smart White Cane First Test
The Test Video in Figure 128 shows the functioning of all the sensors, buzzer, vibration motor, and charging circuitry. NB (INCLUSIVE INNOVATION)! The buzzer beeps once whenever the Smart White Cane with AI Vision is switched ON.
=======================================================================
Comments