Reverse Engineering

DSO3000 Update


I have written Python tools to interface with the Agilent DSO3000-series oscilloscopes. This is an update of my previous work. As long as PyUSB is available, this should be cross-platform. Command-line and console programs are included, along with a DSO3000 class you can use to make automated data-collection scripts. There is now a screenshot program which uses PIL. Read more »

Design Files


All the design files for the NAV200 USB interface are available here: usb-interface.tar.gz. This includes the AVR firmware, CPLD code, schematic, board layout, gerbers, bill of materials, and a demo program. The code is intended to be built in Linux. It depends on libusb. It should be portable to Windows or Mac if you provide libusb and the build tools.

To program a new board, you will need the Xilinx tools, avr-gcc, and dfu-programmer. Read more »



See the NAV200 gallery for photos of the inside of this sensor. Wiring details are shown. Be very careful when disassembling and reassembling the sensor as the wiring is poorly designed, with some wires being too short to allow much movement of the optical assembly while other wires are excessively long. Some connectors even have had wires installed and then cut off. This is normal.

Observe standard precautions to prevent electrostatic discharge. Read more »

Connecting the USB interface


The NAV200 has two circular connectors: a 14-pin connector for communication signals and an 8-pin connector for power.  Internally the signal connector goes to an 8-pin and a 6-pin header, and the power connector goes to a 2-pin header. Read more »

NAV200 Introduction


The SICK NAV200 is a 360-degree scanning LIDAR with a range of about 4m unless retroreflectors are used. It is sold as a navigation sensor for autonomous ground vehicles in factories. In its intended application, retroreflectors are positioned around the factory and their locations are given to the sensor. The sensor then calculates its position in the environment from the observed positions of the reflectors. Read more »

Monochrome LCD


I salvaged this screen from a dead copier. It has a CCFL backlight with a seperate inverter and a 10-pin connector. It has two possible part numbers printed on it: CCL-E145V and 56AAA1357B. I could not find any information on the display itself, but I found the datasheets on the chips and from that figured out the required timing. The display has one M5839B and three M5260 driver chips. The screen's resolution is 192x64. Read more »

Sirius Front Panel



I recently got a used Sirius satellite radio receiver. It didn't have an antenna (or presumably a subscription), and I don't listen to radio much, so I was more interested in the hardware as parts than as a radio. The front panel looks useful, especially when you take the thing apart and find out that the front panel has an ATmega128 controlling it! Read more »



The OI is cool, mainly because it has lots of switches and flashing lights and can be connected to even more switches and lights. It's a useful input box since it has many analog and digital inputs and is easy to connect to anything with a serial port. Read more »

FRC Radios


The IFI radios are Ewave SCREAMER422 radios. They transmit at 9600 bps and have a serial RS-422 (not RS-232!) interface that runs at 19200 bps. There is documentation on Ewave's site that covers their whole range of radio modems, but it doesn't provide enough information about the SCREAMER422 to actually use it. Read more »

Old FRC Electronics


The FIRST Robotics Competition is a competition held anually in which high school teams, with corporate or college mentors, play some game remotely with robots. This is a really big series of events. Read more »


Subscribe to RSS - Reverse Engineering