OSRTT 2 Years Later – Major Update Coming!

It’s been a little over two years since I launched the open source response time tool. It’s been amazing so far, and I have loads more work on the way that I’m really excited to share. First though, I thought I’d recap what’s happened over the last two and a bit years. It took me six months to get the first version of the tool just about ready to use. It was based on the design Eric from Aperture Grille showed in his excellent video I still highly recommend you go watch – basically an Melexis MLX75305 and an Adafruit M4 board. I added a few things to the design like a voltage clamp circuit and since the sensor was powered with 5V from the USB bus which can be noisy, a voltage monitor and filter. I designed a 3D printed case, designed a PCB and started building units.

The software was by far the largest time sink. The data processing is hundreds of lines of code – in fact the whole data processing file is nearly 2,000 lines of code now – all to convert data like this into numbers like this. Turns out that can be complicated, and you have to handle edge cases like strobing monitor backlights. The first version of the software was pretty basic – I viewed it very much as open source, as in I expected other people to want to build on top of it all, to build their own units, but as I added more my view changed more to “this is a product people want to buy and just work”. That meant adding a load of new features, the biggest of which was the results view window. In here you can both view the raw data in interactive graphs, and view a full set of heatmaps, all of which can be saved as images for publication. This was probably the best addition I’ve made in terms of making this feel more like a proper tool and not a bodged together DIY project. I’ve since added support for the new input lag testing mode data too.

After getting over the initial rush of people wanting to buy prebuilt OSRTT units, I started to design a new and easier to use version of the tool. I wanted to get rid of the pesky brightness limitation the MLX75305 sensor has at around 160 nits or so. So I designed my own sensor package. I’m really proud of this – I knew I wanted to have a really wide range for brightness which means changing how much amplification the amplifier does to the signal from the photodiodes on the bottom. I tried using a digital potentiometer, but ones that offer high enough resistance are few and far between, and far, far too inaccurate. So I designed my own. It’s made of 8 high precision resistors and an octal switch chip. Basically the chip can bypass any of the resistors in any combination I want, therefore changing the gain on the amp. It’s beautiful.

I did run into a bit of a problem which is that the octal switch is a really annoying package to solder. I hand build every unit, so having this absolutely tiny chip with 28 pins tucked under itself fail to connect some of the pins means the board needs repairing to work properly. My success rate for building these units is maybe 50% on a good day – the other 50% need the chip taken off, cleaned, then resoldered. I got annoyed with that, so redesigned the pro again to use a slightly larger, but more conventional footprint chip instead. These solder first time, which makes life so much easier for me. Of course, if you want one of these new units you can pick one up over on OSRTT.com – I actually have some stock available at least at the time of filming! To be clear, the old pro design is perfectly fine and the performance is exactly the same, the only difference is the ease of manufacturing for me.

I’ve honestly been blown away by the reception to the OSRTT project – I’ve shipped units all across the world, to major media like Wirecutter, CNN Underscored, Linus, Kitguru, Techtesters and a load more, and major companies like Sony, NVIDIA and AOC have all bought units too. Even a movie studio in Hollywood – Magnopus – who are using it for latency testing on their live stages. I’ve had messages from media especially in Asia who are using the tool to help push back the, as they describe it, corrupt media and corporate relationships that appear to be pretty common.

That larger reception does bring with it people who will find every single bug in your code though… I’ve worked incredibly hard to make sure the tool is stable and reliable – I’ve fixed almost every bug people have reported, normally within a week or two as well. There are still a couple I’m banging my head against the wall with, mostly Windows scaling which seems to be interfering with the desktop app, and people who use non-standard keyboard layouts, but I’m chipping away at those. If anyone more experienced with .NET and WinForms development can help with the scaling issue, please do jump in on Github, that’s linked in the description too.

For the most part, I think that brings us to now, which means it’s time to talk about what’s on the horizon. Far off in the distance is a latency specific tool – I’ve had so many requests to make a somewhat generic (ie non-monitor specific) tool that I think I’ll do that. Basically the same as NVIDIA’s LDAT in terms of inputs, i.e. simulated mouse clicks, sound, and switched input. That’s still a while away though, especially because I think I’ll have to make a new desktop app too. I can reuse the processing functions of course, but something latency specific would be better.

Much, much closer on the horizon though is something that’s completely free and makes all the data the OSRTT project creates accessible to everyone. It’s a new site called the response times database – it’s not quite ready yet but it’s close. It’s pretty much what it says on the tin, it’s a database of monitors you can search and filter to see how they perform. You’ll have the full heatmaps, the cliff notes results, and comparison graphs. There’s so much I want to do with this, but if you have any suggestions I would absolutely love to hear them in the comments too. The whole project is about making all this more open, transparent and available, and I think this site is the next step in that goal. When it is live, you’ll find it at responsetimes.net. I can’t wait to have that live.