IR/UV Invisible QR Code Navigation for Robotics

Anti-Stokes shift / Up Conversion invisible QR codes for indoor navigation of robotics. Invisible tags readable with UV or IR lighting.

Public Chat
Similar projects worth following
CEO of EZ-Robot DJ Sures
“Wow that’s brilliant. Seriously absolutely brilliant!”

Quotes from Hackaday articles;

"[Josh’s] system simultaneously solves the problem of not wanting ugly QR codes cluttering the wall and making computer vision easier. It’s brilliant, and we’re amazed by this spectacular project that made it"

“They’re QR codes read by an infrared camera, and painted on the walls and ceilings with a special IR sensitive paint that’s invisible to the human eye. It’s navigation for robotic vision, and it’s a fantastic idea."

"So far, the proof of concept works. A computer can easily read QR codes, and if paint is invisible to the human eye but visible to an IR camera, the entire project is merely a matter of implementation. Using IR and QR codes is just so simple and hacker-friendly, and we think it’s fantastic."

UPDATE: We won the robotics module round along with 19 other entrants to be passed on to the final round!

UPDATE: We were featured in a hackaday article

UPDATE: I was invited by Stephen from Hackaday to speak about my QR code project in New York at the Maker fair. Due to Time restrictions we couldn't fit everyone in.

UPDATE: I was contacted and invited to  Hackaday Super conference to a poster event to discuss my project with the con goers. Nov 2


Building custom in cartridges that will print in Epson Injet - Success!

Selecting and formulating Ir and UV ink mix that works in injet printer - Success!

Buiding a custom illuminator with optimized wavelength to work indoors in normal light- Success!

Reading codes on cieling with less than 3 watts power - Success!

Reading codes on cieling with less than 1 watt power- Success!

Reading codes aprox 1 inch away and 3/4 in size on the floor- Success!

Printing invisible codes on clear re-stick-able labels-Success!

Reading codes while moving with less than 10 fps- Success!

Why? Goals?

As software and technology improves the cost for individual hackers to have access to these tools is not getting any cheaper. For example Individual use for RoboRealm a popular vision and navigation application has raised from $50 per license to a staggering $500 a license.  Using technologies like EZ-Builder and this invisible QR code system a individual user can train a robot to recognize individual objects, pathways, rooms, grid markers and other physical beacons. Keeping is cheap , open and accessible is the key to progress in the DIY builder / hacker community. This project required being able to make custom invisible tags. So in turn I made a large enough setup to print codes and glyphs in the invisible ink and send them to any builder or hacker who wants them for a minimal cost. this has been achieved. The next goal is to make an IR & UV illuminator/ camera board that leverages a small sbc package like raspberry pi zero for example to capture video and route it to be processed to the host computer. At this time these things can be assembled separate, as I have done, but I would like to make a tiny self contained unit for this purpose.

General project description, 

This project started as an easy way to enable physical beacon point navigation into small robotics. After the initial invention I learned that most personal roboticist, toy companies and businesses may prefer not the have their office or home covered in black and white QR codes. So I set out on the voyage to make an invisible method of printing QR codes onto stickers either white or clear. These codes are invisible to the eye on what they are printed but glow brightly a purplish blue when hit with the correct wavelength of light. This is a Anti-stokes shift reaction. Where a material absorbs one wavelength that is not as far into the visible spectrum and emits electrons ( light) at a visible wavelength and favors the blue/ violet section of spectrum that cameras are much more sensitive too. Also printing the background of a QR code with the opposite Anti Stokes shift ink causes the background to show as a darker grey. So even in the absence of UV illumination the IR in the room causes the grey shift in light so the QR code can be read. IN the event it is totally dark either UV or IR will need to be used to illuminate the tag however. I am very exited the first installation of this project went perfect, and now producing the QR codes in multiple ink types with a printer modified to do so is very exciting.  I plan on making a mini service avail for anyone wanting to use this type of navigation or invisible qr codes to pre-print them onto sticky labels that can be used over and over again. Re-stick labels. Great for education, businesses and even individual hackers.


Read more »

Poster Session Progress.jpg

Poster for Hackaday Superconference.

JPEG Image - 1.46 MB - 10/23/2018 at 20:55


View all 26 components

  • Testing filters

    Josh Starnes09/04/2019 at 13:36 0 comments

    Refining the sensors. I feel that a sensor dedicated to reading codes in any lighting is more useful than one that can also do full color video. Video and Sensor data should likely be separate for best performance and video processing. I am going to get some speacialized filters to test out how this works with cameras with no IR filter and a bandpass UV / IR filter.

  • Indoor DAYLIGHT testing QR code

    Josh Starnes10/25/2018 at 14:53 0 comments

    Today I am home mid day when it is very bright in my home. The great room has 17 windows and floods with natural light. I used the 3 watt led and the focal lense to create a consistent dot on the ceiling. SUCCESS , the QR code illuminated with great intensity and is easily read by the cam. Agian the naked eye intensity is a soft purple glow , but through the reading cam it looks perfect. So this is perfect for indoor office setups as well. Even in the event there are a great deal of fluorescent lights, a filter could easily cut their light, but in this case we are golden! Yay Version 2 QR sensor setup. I made a short video as well in the excitement.

  • Version 2 testing QR on ceiling

    Josh Starnes10/25/2018 at 02:25 0 comments

    Here is the QR code printed on paper in normal lighting of my home,  the ink is completely invisible until it is hit with the UV and IR lighting.

    This is a normally lit room but the violet shows so bright through the camera that the brightness auto adjust darkens the surrounding area. The QR is certainly readable with this newer light source.

  • Version 2 led illuminator testing

    Josh Starnes10/25/2018 at 01:51 0 comments

    Wow , so this single led much outperforms the 5mm led versions. I brought it up to the advertised 3 watts , using the recommended current and voltage only brought the led up to 1 watt. In either case the results are interesting because this light is NOT very bright, a dim violet color to the naked eye , but through the camera eye it might as well be the blazing sun, this is great because I need to make sure the version 2 reader works will in all lighting conditions and can be adjusted on the fly by reading a simple light sensor. Version 1 was a static 3.2 volts at a set brightness level. The lens on top of the illuminator focuses the light into a usable dot on the ceiling 6 -10 ft away.

  • Update for judges

    Josh Starnes10/23/2018 at 14:12 0 comments

    Hello judges, this project has been ongoing for a while and continues to grow as more concepts are added. At first this project had a goal of finding a way to make physical markers for navigation and the QR code reading on the ceiling was born.  This started in 2012 when I built the first hacked roomba platform with modded camera to test out the concept. Then from there I had push back that no one really wants QR codes all over their house or apartment ect. This makes perfect sense as we all have to deal with other humans that may not like the digital decor. So this set me on the completely secondary task of making invisible QR codes that can be read with any camera without an IR filter AND be used in both the home and office environment without being visually invasive.  The project was a success! I did just that. A combination of one upshift ink and one downshift ink printed on the same label, you create a QR code that is invisible in normal light , but easily read by the camera when exited by 780-850nm IR  and/or 365-405nm Violet UV light. As you can see this is a fantastically bright QR code, but it also works in a bright room because of the second pigment that shows as a grey color which is printed as the background. To do this I tested 14 different ink types and eventually decided on Noodlers ghost ink and IR upshift ink. I modded existing ink cartridges and filled them with the modified inks and they now print perfect through the Epson printer with piezo style print head.  The only shame is that there was a great deal of work put into this project to make a whole solution simple for everyone else to use, I hope the effort is appreciated by the community. Further I realize not everyone will want to go this far to make invisible QR tags ( they can be printed on clear stickers). So I am also going to offer printing them for my fellow hackers to make this project even easier for everyone else to reach.

    My previously hacked roomba kicked the bucket so I started hacking a wowwee rovio , but due to the hurricane damage and flooding , I was required to put in a lot more work at the fiber optics company here and didnt have time to make a particularly interesting video with the new platform. However I posted the first video showing the use of the QR codes on the ceiling until that one is made and posted. I will still do one, but all the documentation, trials and error ect easily prove the process and out to make it work. :)

    Fresh printed QR code invisible to the eye other than the paper is still wet.

    After illumination with an led..

  • Pics on a clean table

    Josh Starnes10/19/2018 at 16:50 0 comments

  • Rovio 2.0 three sensors mounted

    Josh Starnes10/12/2018 at 02:29 0 comments

    Three sets of holes made for ultrasonic SR-04 distance sensors and a quick coat of Matt black so the spacer sorta matches the body.

  • Upgraded LED Parts coming overnight

    Josh Starnes10/10/2018 at 19:38 0 comments

    UV 3 watt leds and IR 3 watt leds are on the way as well as heat sinks to solder them too. I plan to use compass error correction for the heading between QR codes. I already have regular 5mm leds , but I need something a little bigger for ceiling reading clearly.

    In addition to the LEDS, I ordered a compass module because I cannot locate the one I ordered for the project.

  • Rovio 2.0 progress, adding cameras

    Josh Starnes10/10/2018 at 13:11 0 comments

    Last night progress was made in finding places for the modern HD cameras that are both forward facing and the ceiling facing as well. I have 4 different camera options so they are not set in stone ,but at this time I have the 120 degree cam facing forward 5mp no IR filter, the ceiling camera has a shutter to add to remove the IR filter as needed. You may notice a large 1 inch clear lens. This lens collimated light from smaller sources into a sort of dot on the ceiling that is more more defined with less energy.

  • Rovio 2.0 Riser/Spacer Progress test platform

    Josh Starnes10/09/2018 at 13:38 0 comments

    After two coats of Tite Bond glue which is also generally known as PVA plastic, you can see the wood has absorbed the PVA and also left a candy shell, with a light sand this is a paintable plastic finish. Next I need to decide where I want sensors or lights for example, or if I want to just leave is plain.

    For some reason this last picture the whole body looks crooked but I believe that is because I free handed the trimming of the inside of the riser, and that makes it look weird, but the outside is within about 1 mm of the casing of the body all the way around.

View all 39 project logs

  • 1
  • 2
    setup blank ink cartidges and chipsets to hack printer
  • 3
    Fill cartridges with inks

View all 27 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates