Skip to content

Source files for the 96Boards Pinout documentation website.


Notifications You must be signed in to change notification settings



Repository files navigation

96Boards Pinout

Creative Commons License

The 96Boards Pinout website is the successor to the popular Pi pinout website originally hosted on

To support translation efforts, and allow people to build tools with the data in this repository, this website is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

This license excludes the 'pinout-graphic-horizontal' files located in the graphics directory, which are provided under a Creative Commons Attribution-ShareAlike 4.0 International License to permit commercial use; specifically publication in books and magazines with appropriate attribution.

About this project

The contents of this GitHub repository are used to build and its translated subdomains.

This project aims to build a consistent work flow behind the 96Boards Pinout front-end, gather useful information about the 96Boards GPIO interface and add-on boards, and invite board manufacturers to produce their own "overlay" files which describe which pins their 96Boards add-ons use.

We hope that by making this project open and extensible we will invite not only contributions of board pinouts, but translations too.

Reporting Issues & Making Suggestions

If you've spotted an error, omission or have a suggestion, raise an issue. Feedback on every aspect of the site or this repository is welcome!


If you have a board you'd like to contribute, the preferred method for submission is to create a modified version of the overlay template and create a pull request. Please ensure the files you submit are being pushed to the /draft folder, where it will be reviewed before publication.

Note that as part of the submission, a top-down view of the board in the form of a png is required.

Once your draft has been made, before filing a pull request, you should try to render the page and make sure it build and appears as intended. To do so:

note 1: you will need several python modules installed on your system to render and serve a local version of the site, run
pip install -r requirements.txt from the top of the repository tree to install the required modules.

draft/ myboard
make LANG=en serve

And then open: in your browser.

Once you are happy with the result,

/draft/unpublish myboard
make clean

(this will file the overlay back into the draft folder, ready for review)

note: if you are facing issues with your preview (board not showing, text update not appearing, etc.), you can fix it by erasing your browser's cache (image and cache file only).

If you feel that the requirements for submissions is beyond your current possibilities, you may raise an issue requesting the addition of a specific board instead and we'll consider it!


If you would like to provide support for a language not yet in the repository you should start by duplicating the src/en directory to the appropriate language-code. For example, if you want to create a Czech translation you would create the folder src/cs. Note that there are no plans to support cultures (it would just get out of hand), so you can't have src/fr-CA (sorry!).

The first resources we recommend you translate are the language-specific strings found in the settings.yaml file,,, and the footer.html template, as well as the content of the /pin folder, preferably.

Once that's done, rename the /overlay folder to /translate and start translating the boards markdown files (pick any you fancy translating, it does not have to be the first board in alphabetical order). Leave those translations in the /translate folder when finished.

Please do not attempt to translate the /resources folder, or anything not specifically mentioned in this section of the README - all files outside your <languagecode> directory are shared between the subdomains and are meant to be generic. Feel free to modify the template with links relevant to your country, and / or your Twitter handle however, but don't fiddle with the structure!

Once you've made your translation, you can build and preview it with, for example:

make serve LANG=de

And then open: in your browser.

The last step will be to submit your finished translation as a pull request (this can include any number of boards, it does not have to be the entire line-up) and we'll get it live on its own <languagecode> subdomain.

If you wish to provide a translation for an existing subdomain, or correct a typo in an existing markdown file, just edit the file in place (leaving the files in the translate folder for review, if you are pushing a translation).

If you have a question about translations, raise an issue and we'll be happy to help you get past whatever hurdle you may face!

Roadmap & wishlist

  • Add as many boards as possible!


96Boards pinout Maintainers: ric96 Maintainers: @Gadgetoid and @RogueM


Source files for the 96Boards Pinout documentation website.







No releases published


No packages published


  • Python 39.5%
  • CSS 30.1%
  • JavaScript 24.0%
  • Shell 3.4%
  • HTML 2.6%
  • Makefile 0.4%