40 years ago, I was given an old keyboard from my high school teacher, the SP-251 (don’t know the vendor). It was optical. There was a anodized black metal plate inside the keyboard with 13 channels running left to right. The left side of each channel had a small incandescent bulb. The right side had a CdS photo cell at the end of each channel. Along the top was a metal rod which held the top end of the metal bars attached to each key. Each of these bars ran top to bottom with a spring to keep them up out of the channels. Each key had a different combination of tabs that protruded downward, so that when a key was pressed, the tabs broke some of the beams, encoding the value of the key. Strangely, the bit coding of these tabs was not ASCII nor the older EBCDIC, as far as I was able to tell at the time. In hind sight, it clearly is not.
Up until recently, I worked at Neato Robotics in the bay area, on their next generation robot vacuum. As part of that project, I became fairly familiar with how to control and acquire data from their famous Botvac LDS — laser distance scanner — which has become fairly popular in the hobby robotics realm due to its low cost and integration with ROS. Often, that integration is done with the whole Botvac robot owing to its USB serial port and open command line access to sensor data and motor movements.
Recently I learned that there are, not surprisingly, some Chinese laser scanners that look eerily like the Neato one. These scanners boast longer ranges and smaller size, and a similar price on Amazon. I’m interested in figuring out how much these are direct copies of the Neato LDS vs. a reimagining / reengineering of it. So, I went ahead and purchased both an RPLiDAR A1M8 and a YDLIDAR X4.