i recently did a video where i talked
about the q500 a optical mouse design
that uses fiber optics internally and is
different from every other kind of
optical mouse ever designed i opened it
up and speculated about how it worked
and i think we all had a pretty good
time however some time before i released
my video lgr put one out where he showed
off a different mouse the lmox2
that looks quite dissimilar and there's
a lot of differences it's got the
sensors in different places uses a
completely different mouse pad
and yet there's enough similarities that
i was positive these came from the same
designer if not the same factory the
most telling thing being that the third
button on both mice performs the same
bizarre special features i had sort of
figured that these might actually be
pretty much the same mouse just with
different firmware uh i should mention
in the previous video that i had
proposed that this might actually be
using a ball mouse controller chip and
that the special mouse pad it uses is
actually a rotary encoder that's been
unrolled into a linear shape
but a number of people commented and
made fairly convincing arguments that
that was not possible which is fine it
was just a fun little theory the much
more likely case is that this just has a
microcontroller in it so i thought that
maybe ljr's mouse was pretty much like
this one just with different code
however shortly before i finished my
video i realized that i had missed
something his mouse has a lot more fiber
strands on each sensor than mine does
and that suggests some more radical
internal changes so i sent him a message
and asked if i could get pictures of the
inside of the lmox2 which he was more
than happy to provide but he just wasn't
available before i had to release the
video so i just went ahead and put it
out shortly after i released the video
clint went ahead and sent me those
pictures and it turns out that it's
completely different inside in fact so
different that he offered to send it to
me so i could open it up and try and
explain how it works
and here it is i think this goes without
saying but i'm very grateful to clint
for sending this thing to me it's kind
of amazing to watch a video about
something fascinating and confusing that
a million other people have seen and
then get to take it apart with my own
two hands and try and figure out what
makes it tick but hopefully my attempt
at an explanation is worthwhile uh we'll
get to that though let's take a look at
the mouse first now i'm not going to go
through the whole thing if you want to
see the basics you know the what's in
the box what the mouse looks like how
the included software works etc you can
go over to lgr's channel i'll put a link
in the description i'm just going to go
over what's different between this mouse
and the other one i did want to mention
one detail i missed in the last video
i've been speculating about when exactly
this mouse was made i was guessing about
1996
but in fact in lgr's video on the lmox
uh the driver software actually has a
copyright date of 1996. and if these
really were made by the same people then
there's a good chance that they both
came out at about the same time in other
words i was right and what's exciting
about that is that 96 was a very early
year for optical mice in my previous
video i accidentally said that the
intellimouse explorer came out in 96 i
think uh i was actually reading the date
for the original intellimouse which was
a ball mass the explorer which pretty
much brought optical mice to the masses
didn't come out until 99 so this thing
actually beat it to market by three
years which is killer and it's kind of
shocking that nobody's ever heard of
this thing so if this one came out that
early then this one probably did as well
and in fact there's some evidence to
that inside which i'll show you later
so
two of them
they have a couple similarities visually
speaking they've got the slab sides and
high gloss surface finish but otherwise
they're pretty different the feature
button on the q500 is in the middle
while the lmox has it on the side and of
course the overall shape and color
schemes differ completely the pads are
of course also different to recap the
q500 has two regions of one-dimensional
patterns so each area only contains the
info for one axis of motion this pad has
to be this exact size no larger because
the regions have to be exactly the same
height as the mouse itself otherwise the
sensor could fall off the bottom or the
top of its respective region
now something i forgot to mention in my
previous video is that while this pad
can't be made any taller it could be
made wider
this for instance is a perfectly valid
pad for the q500 these sensors still
can't move off the top or bottom of
their regions but left to right no
problem the lmox on the other hand while
it still requires a custom mouse pad
doesn't have these two separate regions
it has a grid pattern where the x and y
info are distributed evenly across the
whole thing this one's a little bigger
than the q500 but you could certainly
enlarge this one with no sweat the lmox
pad is also rigid plastic while the q500
has a conventional neoprene base which
is really easy to crease the omox pad is
also very off-white like beiger than
you'd expect like
here's some normal white paper you can
see it's very beige anyway those are the
exterior differences let's open them
both up now the first difference in fact
is as i mentioned before the q500 uses a
plastic tab to open it up and no
fasteners which i've never seen before
whereas the lmox just has screws like
every other mouse in existence
an irritating thing about the lmox is
that the side button is a separate piece
of plastic it's not hinged off the cover
or anything uh and so when you open the
thing up this just falls out and it's
actually just slightly beveled on these
corners but not these ones so you can
easily install it upside down into the
side of it when you reassemble it and
then it'll just bind when you try to
press it
great design anyway right off the bat
you can tell there's significant
differences
the lmox has a lot more fiber strands
and of course all the components are in
different places the design of
everything still feels like it came from
the same people though besides just kind
of looking similar there are certain
hallmarks for instance the photo sensor
assembly in the q500 uses a little clamp
that holds the fibers together there's
like a bolt in the side to keep them
clamped in there and then it uses these
plastic tabs to fasten them onto the
photo diode assembly so you can just
pinch those pull that off
and there we are likewise on the lmox
the strands go into the same kind of
clamp block
and there's still a pair of tabs here to
allow you to pull it off the photodiode
assembly on the other hand the way the
fibers terminate into the base is
completely different in this one they
use more little plastic clamp blocks
that are pinched together and then
pressed into these holders in the
chassis that keep them held together
this one on the other hand just has all
the fibers going into a big blob of
silicone which seems kind of worse
but it makes sense because if you look
at the bottom here the fibers are
grouped into two rows of four instead of
the one row of two that the eq 500 has
and this would be a lot harder to clamp
the fibers would want to sort of slip
around each other so i'm guessing this
was just out of pure necessity so about
that why are there so many more strands
here the lmox 2 has a total of 16 fiber
strands which is four times what the
q500 has this was obviously what caught
my eye and at first it just looked like
total chaos my initial response was to
assume that these two designs had
nothing in common however after studying
this one for a while i think they aren't
as different as they first appear i
think that the alterations on display
here are very little more than what was
needed to allow the mouse to distinguish
x from y movement on the same grid other
than that i don't think the mechanism is
that different as i described in the
previous video the q500 observes four
spots underneath the mouse there's two
here in the vertical orientation and
then two here in the horizontal
orientation one strand from each pair
goes into each of the two photo sensors
in the middle and then it strobes the
infrared illuminators so it can use just
two photodiodes to collect four bits of
information this is just enough info to
tell whether the mouse is moving onto
over or off of one of these stripes it's
the absolute minimum viable product so
the lmox2 may have all these extra fiber
strands but they're split into four
bundles and i'm going to pull off the
terminator block here
you can see that there's four bundles
which feed into four distinct
photodiodes instead of two so they're no
longer cross-pollinating between the
horizontal and vertical sensor apertures
instead of doing the strobing ir led
thing they're just using one distinct
photodiode for each sample instead of
dividing the two and that's to say that
each of these groups is one bit even
though there's four strands here since
they're bundled together they're being
combined and the sample the photodiode
receives is the combination of four
smaller sample points in fact if you
trace the bundles back to the apertures
you can see that each group of four
strands is collected together at the
opening in a two by two unit so this
bundle gets the left half of that
aperture
and this bundle gets the right half and
then these two bundles get the top and
bottom halves of this aperture
respectively this means that it's still
sampling only four spots they're just
larger spots now
why do this well one possible reason is
just to collect more light than a single
fiber would get but i don't think that's
the case i think the purpose is made
clear if you put the pad next to the
sensor the size of one square is also
the size of one bundle of fibers and i
think it sort of answers itself at this
point before i got this mouse i was
trying to guess how it could discern x
from y motion despite using only one
color of grid marker i had some weird
speculations about the relative
positions of the sensors i couldn't
really elucidate and now that i see it
in person i don't think it's that
complicated at all suppose we're moving
the mouse over the grid in the x
direction only each square is going to
pass over one fiber bundle and then over
the next and then off of it darkening
each one in turn and the microcontroller
can keep track of that sequence and
interpret it as continuous motion but if
you look at how it impacts the sensor on
the other axis while the squares do pass
over it they don't produce the right
pattern for it to interpret it as motion
they hit one bundle or the other over
and over producing basically gibberish
so that's that right like it looks like
distinguishing x from y motion is really
easy which makes me wonder
why couldn't they do it in the q 500 i
think i'm missing something here my
brain's not great with this sort of
thing
i feel like maybe they needed to make
the lines thinner in order for this to
distinguish the x from the y if they
were going to do it that way but i'm not
really getting why they couldn't do that
either so
it kind of feels like they just didn't
try this sort of brings us back home
because i had been thinking that the
lmox was a later iteration of the q500
design and it's certainly looking that
way now of course if it was then they
were released very close together
i don't know how i missed this but now
that we can open up the q 500 i can show
you that they actually printed the date
right on the board it says 96 as well i
don't know how i missed that also i can
now tell you definitively that these
were both made by the same people
because the q500 says designed by iotech
on the board and the lmox says iotec on
the chip so there it is they were made
by iotech whoever that was i know a
number of people commented saying you
know check out this fcc filing blah blah
i've chased everything down
i cannot find anything about this
company they're a total ghost they
existed in california that's all i've
got anyway now that you've seen all the
physical differences between the mice
i'm going to go ahead put them back
together and we'll compare their
performance
so the mouse works now i'm going to do
several very unscientific tests first
i'm going to try drawing a circle in ms
paint like i did in the last video i'll
try with the
q500 and then with the lmox2
then i'll try again in the high dpi mode
first with the q500
and then with the lmox2
i don't see a lot of differences they
both seem similarly blah now the next
thing i'm going to do is i'm going to
try rotating the mouse pad relative to
the mouse see when you're just sort of
computing casually your mouse has a
tendency to start to drift in angle and
it's usually not quite this bad but
sometimes it is with modern mice it
doesn't matter what angle it's at but
with these ones because the grid or in
this case the two axes here are at these
specific angles if you rotate the mouse
it's going to see really weird stuff so
it's important that you keep them
straight and that is a severe limitation
compared to modern mice but how bad is
it well the q 500 starts to move
diagonally on the screen as you rotate
the mouse not surprisingly but up to
about 45 degrees it remains fairly
usable it just gets a little less
accurate the omox2 doesn't do as well it
gets noticeably inaccurate after just a
little rotation and at 45 degrees it's
completely unusable just jittering all
over the place so you have to keep your
hands straight with this one which is
kind of a pain my final test was to see
if i move the mouse very slowly if i can
make it move one pixel at a time and the
answer is yes for both this and the q
500 which doesn't really count for much
see because of the acceleration feature
that's built into all modern mouse
implementations it's pretty much
universal that if you move any mouse
slow enough it can be accurate the
problem is as soon as you start moving
with any speed both the q500 and the
lmox get really jumpy and hard to
control and i suspect that's actually a
serial mouse limitation comparing
between the q500 and the lmox and the
touchpad built into the laptop i find
that the touchpad is much smoother than
either one of these and now that i think
about it i'm pretty sure on the
occasions i've used a serial ball mouse
they've been really sketchy as well so i
suspect that the serial mouse interface
just doesn't update very quickly so
these tests are probably mostly invalid
there was actually a ps2 version of the
lmox and i would love to get a hold of
one so i could see if it performs a
little better with a better interface
but since this is like the only one in
existence as far as i can tell i don't
think that's likely that said this is
total bs i'm utterly biased but the lmox
feels a little smoother than the q500
maybe one interesting thing i discovered
while testing these i tried swapping
their pads to see if anything fun would
happen and of course they didn't work at
all i just got total gibberish the mouse
bounces around all over the place
but when i put the mice back on their
correct pads it took a few seconds for
them to figure out how to mouse again
they just did weird stuff and then they
slowly calmed down and started behaving
normally
that means that my interpretation of how
these work is completely wrong they're
not digital at all they must be doing
some sort of like analog sampling or
something as much as i wasn't dunking on
the q 500 the first time around i don't
think i gave it its due anyway this
seems like a very sophisticated piece of
electronics and i can't even imagine
what this one's doing there's one more
difference that had me wondering for a
moment which one was the better mouse
the inside of the q500 top shell has
nothing special going on but the inside
of the elmox top shell has a layer of
neoprene and i'm pretty sure that's for
light sealing i'm guessing that because
of all the extra fiber strands that are
in here iotec discovered that light
leaking in through the cracks in the
case could make its way into the
photosensors through the fibers and
cause false positives make it c-bits
where there weren't bits so in order to
prevent malfunctions in say american
offices which are massively over lit
with fluorescent lighting they put this
layer of foam in there just in case i
tried removing the foam to see if i
could prove this but even under my
strong studio lighting and a powerful
flashlight i couldn't get it to
malfunction so maybe it was particularly
sensitive to infrared maybe if you had a
remote control in the same room it would
start causing problems or maybe iotech
was just being paranoid who knows to
find out if anything touched it i opened
it up and just shined a flashlight right
in the inside and sure enough that does
mess it up but you really have to hit it
hard so i'm kind of surprised they
bothered with the light seals it seems
like you have to be working inside of an
arc furnace to get enough light through
the cracks to cause problems with all
that said uh let's come back to
something from earlier i said that the
elmox mouse pad could be bigger there's
no real reason that it couldn't be and
the cool thing is that unlike the mouse
systems mouse that i showed in the
previous video because it doesn't use
any sort of special technology no
colored inks or reflective aluminum pad
you could actually make this on a
consumer inkjet or laserjet printer if
you copied and pasted the grid and made
sure that you didn't disturb the spacing
you could really make this as big as you
wanted like an eight and a half by
eleven
[Music]
who needs a mouse pad baby
we got a mouse desk
all right that's it uh if you're new
here maybe go watch the previous video
so you have some idea what all this was
about if you like that one you like this
one maybe subscribe remember turn on
notifications because i upload kind of
irregularly if you really like my stuff
consider becoming a patron because you
could help just as much as all these
people did with the making of videos
like this one which is to say not at all
because this was a donation from clint
at lgr but i want to thank again thanks
man i'm still grateful to my patrons
though so thank you to them and to clint
and the rest of you for watching