Want to expand your senses so you can detect invisible light – such as infrared and ultraviolet wavelengths? Here’s your chance. Develop a sensory expansion device using the Neosensory Buzz vibratory wristband and the Neosensory Arduino Bluefruit SDK.
Sensory substitution and expansion
A sensory substitution device passes information from one sense through a different, atypical sensory pathway. For instance, the Neosensory Buzz wristband captures audio information (typically captured by the ear) and translates it into vibrations (felt on the wrist). This allows people to experience sound in a new way – through the sense of touch.
Sensory expansion devices follow the same principles with one difference: instead of giving the user access to information that is typically captured by a human sense, the device gives the user access to a new sense. For instance, instead of mimicking the ear and capturing audio information, Buzz can act as a sensory expansion device by capturing ultraviolet light – mimicking, say, a bee’s eyes.
Whether for a typical or atypical sensory input, Buzz presents the sense information as vibrations on the wrist. Over time, your brain learns to understand the information in the same way a hearing baby’s brain learns to understand soundwaves hitting the eardrums.
Learn more about the science behind sensory substitution and expansion by watching Neosensory co-founder Dr. David Eagleman’s TED Talk.
Expanding the human visible spectrum (light)
Using Neosensory’s free SDKs to vibrate the motors on Buzz, you can create new senses of your own. In this case, we enhance our sense of vision by expanding our perception into the invisible light spectrum.
The electromagnetic waves that our eyes capture (i.e. visible light) are only a tiny portion of the electromagnetic spectrum. By connecting sensors which detect ultraviolet light and near-infrared light, we can create a sensory expansion device that adds these invisible wavelengths to our sensory inputs.
Using new senses out in the wild
After wearing this invisible light wristband around, we’ve had some fun and enlightening (pun intended) discoveries.
One team member was walking in the dark and suddenly felt near-infrared (IR) signals on Buzz. After tracking the signal with his wrist, feeling stronger buzzing as he moved toward it, he found an IR security camera attached to a house. The infrared signal this camera was emitting was not something he could have detected with his normal senses since IR is invisible to the human eye. The new sense, using the invisible light detecting band, enabled him to perceive something new in his world.
Other animals like snakes or butterflies can see in the infrared or ultraviolet ranges and, with this wristband, we were able to join them.
Make your own invisible light detector
This project uses our Arduino Bluefruit SDK (checkout the tutorial and the documentation). The final code for this project is at this repository. Here’s a brief tutorial on how to build your own invisible light detecting wristband using Neosensory Buzz.
Parts
We used the following materials in our invisible light wristband:
- Neosensory Buzz wristband
- Feather nRF52 or nRF52840 Express
- Digital UV & IR Sensor (SI1145)
- Lithium-Ion Polymer Battery
- FeatherWing Protoboard
- Battery switch (optional)
- Male Headers (should be included with boards)
- Wire
- Watch strap
Tools
- Soldering iron
- Needle and thread
Circuitry

To connect your SI1145 UV and IR sensor breakout board to your Feather, you’ll need to make the following connections:
Sensor
V in →
Ground →
SCL →
SDA →
Feather
3.3V Output
Ground
SCL
SDA
Assembly
Solder headers to Feather


Using a breadboard for support, solder male headers to the through-holes on your Feather board. Make sure that the long sides of the headers are coming out the top of the board, as shown above.
Solder headers to FeatherWing


Solder a row of six male headers to your FeatherWing protoboard. The UV/IR sensor will connect to these headers. Two of the headers should be soldered to through-holes that are connected to the power and ground leads on the FeatherWing; the other four should be on through-holes that are not connected to any pins.
Solder wire connections on FeatherWing

Solder two wires that will connect the SCL and SDA pins on your Feather and UV/IR boards. See the picture and/or place your boards together to figure out which connections to make. We placed our wires in the through-hole next to our headers and then created a solder-bridge between wire and header.
Solder UV/IR board to FeatherWing

Place your UV/IR board on the six headers you previously soldered to your FeatherWing and – after double checking the orientation – solder the board to the headers. You may wish to trim the excess header lengths with diagonal cutters.
Solder Feather to FeatherWing

Solder your Feather board to your FeatherWing. You only need to solder the four pins used by the UV/IR board: power, ground, SCL and SDA.
Attach to wrist strap and connect battery


Use the four mounting holes in the Feather to sew the electronics to a wrist strap. Plug your battery into your Feather (use a battery switch if you want to be able to turn this off without unplugging the battery).
Note: The Feather board conveniently comes with onboard battery charging built in, so all that’s needed to charge the battery is to plug a micro-usb cable into your Feather. You’ll see a yellow light indicating that the battery is charging.
Your invisible light wristband is fully assembled!
Code
Follow the instructions for installing the Neosensory Arduino Bluefruit SDK. Make sure you can run the example code on your board and can cause your Buzz to vibrate from the Feather. Then, download the code from this repository and load it onto your Buzz. You’re all set to expand your perception and learn to sense ultraviolet and near-infrared light!
This code will cause Buzz to vibrate for changes in ultraviolet and infrared light intensities. If the sensor picks up more UV light than what it has been detecting, one motor on Buzz will vibrate (with intensity relative to the increase in UV signal). For IR signals, a different motor will vibrate. For either signal, if there is less intensity than the baseline, the corresponding motor will vibrate with a distinct vibration texture. This allows you to differentiate between increases and decreases in UV or IR signals.
Have fun learning this new sense! If you’re wondering how you’ll ever be able to understand these patterns as a new sense, check out the TED Talk mentioned earlier in this post. Your brain will be constantly monitoring the vibrations on your wrist and will associate those vibrations with other things it senses – such as when you’re in the shade versus the sun. By building these associations, your brain learns to understand the vibrations as sensory information. In other words, your brain will unconsciously take care of the hard work.
If you have any questions regarding this project or another project you’re working on, visit the Neosensory developer Slack. If you create your own project and would like to share it, email us at developers@neosensory.com – we’ll feature select projects on our site in the coming months!
By Mike Perrotta, Scientist
References:
Eagleman, DM (2020). Livewired: The Inside Story of the Ever-Changing Brain. Pantheon Books.