--- layout: default title: Downloads permalink: /downloads excerpt: CircuitPython supported boards. ---

Downloads

Manufacturers
    Features
      Processor family
        Sort By
        {% comment %} Get a total number of boards by running through both loops to get an accurate total. {% endcomment %} {% assign board_count = 0 %} {% assign boards = site.data.files %} {% for board in boards %} {% assign info = site.board | where: 'board_id', board.id %} {% if info.size == 0 %} {% assign info = site.board | where: 'board_id', 'unknown' %} {% endif %} {% assign info = info[0] %} {% if info.downloads_display == false %} {% continue %} {% endif %} {% assign board_count = board_count | plus: 1 %} {% endfor %} {% for board in site.board %} {% assign info = site.data.files | where: 'id', board.board_id | first %} {% if info == nil and board.board_id != 'unknown' %} {% if board.downloads_display == false %} {% continue %} {% endif %} {% assign board_count = board_count | plus: 1 %} {% endif %} {% endfor %} Displaying {{ board_count }} boards.
        {% comment %} The following are boards that are in the _data/files.json build process. Separate loops due to wanting to sort by download count first. {% endcomment %} {% assign boards = site.data.files | sort: "downloads" | reverse %} {% for board in boards %} {% assign info = site.board | where: 'board_id', board.id %} {% assign info_name = info[0].name %} {% if info.size == 0 %} {% assign info = site.board | where: 'board_id', 'unknown' %} {% assign info_name = board.id %} {% endif %} {% assign info = info[0] %} {% assign stable = board.versions | where: "stable", true | sort: "version" %} {% assign unstable = board.versions | where: "stable", false | sort: "version" %} {% if stable[0].modules and unstable[0].modules %} {% assign modules = stable[0].modules | concat: unstable[0].modules | uniq %} {% elsif stable[0].modules %} {% assign modules = stable[0].modules %} {% elsif unstable[0].modules %} {% assign modules = unstable[0].modules %} {% else %} {% assign modules = '' | split: '' %} {% endif %} {% if info.downloads_display == false %} {% continue %} {% endif %} {% if info.board_id != 'unknown' %} {% assign download_url = info.url %} {% else %} {% capture download_url %}{{ info.url }}?unknown_id={{ board.id }}{% endcapture %} {% endif %} {% endfor %} {% comment %} The following are boards that are not yet in the _data/files.json build process and have no downloads. {% endcomment %} {% for board in site.board %} {% assign info = site.data.files | where: 'id', board.board_id | first %} {% if info == nil and board.board_id != 'unknown' %} {% if board.downloads_display == false %} {% continue %} {% endif %} {% endif %} {% endfor %}