Contribution Priorities

From ZeroPhone
Revision as of 20:40, 13 November 2019 by Michals (talk | contribs) (3D design: update status)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is an outline of contribution priorities for this project. It's maintained so that project contributors know which parts of the project they can help with, and so that they can find links to information concerning these issues.

ZPUI development

The GitHub Issues page for ZeroPhone fork of ZPUI lists issues that are yet to be solved, both small things that newcomers could solve easily and architectural issues that need a rewrite of portions of the system. Those could use some help from Python programmers, or at least advice, like ideas on how to better implement certain things, info on libraries that can help solve those issues, etc.

Updating documentation

The ZPUI documentation, while being improved, is still lacking - for example, UI elements are not fully documented yet.

Reviewing ZeroPhone PCBs and working on PCB TODOs

Current ZeroPhone boards are available in GitHub repository. They're not yet the v1.0 revision, and the main reason for that is that the gamma revision boards haven't yet been tested and possible bugs haven't been fixed, and there are also some more things it'd be great to have that are not yet added. By now, there's been plenty of changes that the boards have gone through, and there'll need to be v1.0 sooner or later - but for that, more people need to revise the current boards, help by discussing and solving at least some of the issues listed in the ZeroPhone-PCBs GitHub repository, as well as open new issues when appropriate. You can read more about ZeroPhone PCBs on this page.

3D design

A ZeroPhone case needs to be developed. For that, it makes sense to use KiCad 3D export option and models for additional components

Moving project information to this Wiki

Currently, there's a lot of information about ZeroPhone scattered among Hackaday worklogs, comments, Reddit threads and GitHub repositories. This information concerns topics that warrant separate Wiki pages. Those topics are:

  • ZeroPhone hardware and software description
    • Hardware
      • CPU board capabilities (CPU, RAM, storage, interfaces)
      • Descriptions of carrier boards (front, back, keypad, Li-Ion holder board)
      • Extension ports
  • ZeroPhone project priorities
    • Cheap open-source smartphone
    • A smartphone with basic features that work well, out-of-the-box
    • Repairability and modifiability
    • Education
    • Hacker-friendliness and empowerment of hackers
    • Respect for privacy
    • A way to promote open-source software and libraries, strengthening open-source software ecosystem
  • FAQ
    • Will it work with my cell provider? Will it work like a normal phone?
    • 3G modem addition
    • Why Raspberry Pi?
    • Why not Raspberry Pi CM?
    • Case plans
    • Similar projects and differences from them
  • Open-source-ness status of the project
    • Information about software components, links to their repositories and licenses
    • Information about hardware components with firmware blobs, their status, status of reverse-engineering efforts of those blobs and relevant links (if it's being done)
  • Bill of materials
    • Components used in ZeroPhone, their photos and short descriptions
      • Possibly, eBay/Aliexpress/TaoBao links (from user-verified sellers)
  • Guides
    • Sourcing ZeroPhone parts independently
      • Getting connectors
      • Getting passives
    • Assembling a ZeroPhone
      • SMD part soldering
      • THT part soldering
      • Soldering breakouts to PCBs
    • Flashing an SD card with a ZeroPhone image
      • Same as flashing a Raspbian image
      • Windows: Win32DiskImager
      • Linux: dd
    • App development
      • App tutorials
  • List of Hackaday worklogs, grouped by topic:
    • Hardware worklogs
    • Software worklogs
    • Project status logs
    • Thought pieces
    • Misc
  • Links to similar projects

The parts highlighted in bold should be easy to write for new contributors to the wiki, using the information available on the Internet, in Hackaday worklogs and in GitHub repositories (such as board schematics).