Programmers' Hardware Database

View the Project on GitHub

Programmers’ Hardware Database



Nowadays many electronic devices, including consumer electronics and scientific hardware, are in fact embedded computing devices. It is often possible to put new software onto these devices, provided either by the hardware vendors or by creative hobby programmers, in order to extend or modify the possible applications for these devices. This often allows re-using old hardware for completely new purposes, thus increasing hardware lifetimes and reducing costs, resource consumption and waste production. Re-programming existing hardware usually requires a thorough knowledge of hardware internals. Sometimes the necessary information is provided by hardware vendors, but for older devices, especially those that are out of production or out of service, it is rather hard to obtain any information, except from some hobbyists’ sites spread across the web. The idea of the Programmers Hardware Database is to centrally collect this information, providing links to hardware vendors’ documentation or hobbyists’ sites whenever available. Based on the Wiki principle that anyone may contribute and edit contents, the Programmers Hardware Database would further provide a platform where hobbyist programmers can present their own hardware / software projects without running their own websites. In addition, programmers of open source operating systems and hardware drivers for these systems would highly profit from a comprehensive database containing information on PC hardware and peripherals, as well as non-PC platforms for their software. Providing a comprehensive directory for hardware information would thus ease various fields of open source software development.


The primary audience is constituted by the developers of free and open source software, with a special focus on:

and related software. A secondary audience is constituted by hardware developers aiming to construct their own hardware from components listed in the Programmers Hardware Database.

Project description and goals

The goal of the Programmers Hardware Database is to provide software developers with a comprehensive source of information on any kind of hardware that is related to their software projects. The key concept of the Programmers Hardware Database is the Wiki principle which allows anyone to contribute and edit the contents of the database. It is meant to be an encyclopedia of devices such as:

Most of these devices are either intended to be used in combination with computing hardware, or are based on embedded computing hardware, and are therefore particularly interesting for software developers. In particular, the aim of the Programmers Hardware Database is to address questions such as:

As a comprehensive encyclopedia it should contain links to further documentation, such as datasheets and specifications, on topics such as:

Much of this information is already available on the web, either provided by hardware vendors or researchers / driver developers from the open source community, or simply by hobbyists who enjoy disassembling devices. However, there is no central resource which puts together these lots of information in a comprehensive fashion. Hence, it is the primary goal of the Programmers Hardware Database to centrally collect this information, and to bring together software and hardware developers from different areas to easily and freely exchange their knowledge.