Category Archives: Web/Software Tool

Voltage Divider Resistor Chooser

This is a special resistor voltage divider calculator. You tell it what is the maximum expected input voltage and the maximum desired output voltage, and a list of all the resistors you already own, and it automatically picks the two resistors you should use. This is useful because it means you don't have to buy a specific resistor for a project, and you don't have to calculate for every single resistor you own. Continue below to use Continue reading

AVR Timer Calculator

This is a simple javascript calculator I wrote to help me make timing calculations while working with the timers on AVR microcontrollers. The same calculations applies for all microcontrollers but the prescaler options only contain the ones possible on an AVR microcontroller (the configuration number is indicated in the brackets).

Javascript must be enabled on this page for the calculator to work. Choose what value you want to use as input by pressing the button beside the textbox(es) you want to use as the input. The output will be reflected in the other textboxes.

Continue reading

USB Descriptor and Request Parser

I wrote a tool to parse some USB data. You put in the data packet into the tool, and it’ll translate it into something you can understand.


The reason why I made this tool is because some USB traffic sniffers do not perform parsing on USB packets (especially the freeware ones), but the binary data can still be obtained. This tool will traverse through the binary data, and translate it into something human-readable, using the official documents from The three types of data this tool can handle are “USB Standard Descriptors”, “USB Standard Requests”, and “USB HID Report Descriptors”.

The “parse USB HID report descriptor” function is the reverse of the (horrible) “HID Descriptor Tool” provided by, and the display format is very similar.

Because USB devices are generally embedded devices, this tool is designed with the C programming language in mind. The output can be imported as an array initializer.

I was frustrated when I couldn’t find a tool for this, so I wrote it in hopes that it will become useful for everybody looking for such a tool.