Skip to content

Commit bebf32a

Browse files
committed
Doc updates for 4.0.0
* Fixes PDF generation on RTD * Adds links to circuitpython.org for boards * Adds branding guidelines
1 parent 608bf50 commit bebf32a

File tree

4 files changed

+80
-132
lines changed

4 files changed

+80
-132
lines changed

CONTRIBUTING.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,15 @@ If you have an employment contract with your employer please make sure that they
1414
don't automatically own your work product. Make sure to get any necessary approvals
1515
before contributing. Another term for this contribution off-hours is moonlighting.
1616

17-
## Getting started
17+
## Ways to contribute
18+
As CircuitPython grows, there are more and more ways to contribute. Here are some ideas:
19+
20+
* Build a project with CircuitPython and share how to do it online.
21+
* Test the latest libraries and CircuitPython versions with your projects and file issues for any bugs you find.
22+
* Contribute Python code to CircuitPython libraries that support new devices or features of an existing device.
23+
* Contribute C code to CircuitPython which fixes an open issue or adds a new feature.
24+
25+
## Getting started with C
1826
CircuitPython developer Dan Halbert (@dhalbert) has written up build instructions using native build
1927
tools [here](https://learn.adafruit.com/building-circuitpython).
2028

README.rst

+70-130
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,45 @@
1-
Adafruit CircuitPython
2-
======================
1+
CircuitPython
2+
=============
33

4-
.. image:: https://github.com/adafruit/circuitpython/blob/master/logo/CircuitPython_Repo_header_logo.png
4+
.. image:: https://s3.amazonaws.com/adafruit-circuit-python/CircuitPython_Repo_header_logo.png
55

66
|Build Status| |Doc Status| |License| |Discord|
77

8-
`Status <#status>`__ \| `Supported Boards <#supported-boards>`__
9-
\| `Download <#download>`__ \|
10-
`Documentation <#documentation>`__ \|
11-
`Contributing <#contributing>`__ \| `Differences from
12-
Micropython <#differences-from-micropython>`__ \| `Project
13-
Structure <#project-structure>`__
8+
`circuitpython.org <https:/circuitpython.org>`_ \| `Get CircuitPython <#get-circuitpython>`__ \|
9+
`Documentation <#documentation>`__ \| `Contributing <#contributing>`__ \|
10+
`Branding <#branding>`__ \| `Differences from Micropython <#differences-from-micropython>`__ \|
11+
`Project Structure <#project-structure>`__
1412

15-
**CircuitPython** is an *education friendly* open source derivative of
16-
`MicroPython <https://micropython.org>`_. CircuitPython supports use
17-
on educational development boards designed and sold by
18-
`Adafruit <https://adafruit.com>`_. Adafruit CircuitPython features
19-
unified Python core APIs and a growing list of Adafruit libraries and
20-
drivers of that work with it.
13+
**CircuitPython** is an *beginner friendly*, open source version of Python for tiny, inexpensive
14+
computers called microcontrollers. Microcontrollers are the brains of many electronics including a
15+
wide variety of development boards used to build hobby projects and prototypes. CircuitPython in
16+
electronics is one of the best ways to learn to code because it connects code to reality. Simply
17+
install CircuitPython on a supported board via drag and drop and then edit a ``code.py`` file on
18+
the CIRCUITPY drive. The code will automatically reload. No software installs are needed besides a
19+
text editor (we recommend `Mu <https://codewith.mu/>`_ for beginners.)
2120

22-
Status
23-
------
21+
CircuitPython features unified Python core APIs and a growing list of 150+ device libraries and
22+
drivers that work with it. These libraries also work on single board computers with regular
23+
Python via the `Adafruit Blinka Library <https://github.com/adafruit/Adafruit_Blinka>`_.
2424

25-
This project is stable. Most APIs should be stable going forward. Those
26-
that change will change on major version numbers such as 2.0.0 and
27-
3.0.0.
25+
CircuitPython is a beginner focused derivative of `MicroPython <https://micropython.org>`_.
26+
CircuitPython development is sponsored by `Adafruit <https://adafruit.com>`_ and is available on
27+
their educational development boards. Please support both MicroPython and Adafruit.
2828

29-
Supported Boards
30-
----------------
29+
Get CircuitPython
30+
------------------
3131

32-
Designed for CircuitPython
33-
~~~~~~~~~~~~~~~~~~~~~~~~~~
34-
35-
**M0 Boards**
36-
37-
- `Adafruit CircuitPlayground Express <https://www.adafruit.com/product/3333>`__ (`CircuitPython Guide <https://learn.adafruit.com/adafruit-circuit-playground-express/circuitpython-quickstart>`__)
38-
- `Adafruit Feather M0 Express <https://www.adafruit.com/product/3403>`__ (`CircuitPython Guide <https://learn.adafruit.com/adafruit-feather-m0-express-designed-for-circuit-python-circuitpython/kattni-circuitpython>`__)
39-
- `Adafruit Gemma M0 <https://www.adafruit.com/product/3501>`__ (`CircuitPython Guide <https://learn.adafruit.com/adafruit-gemma-m0/circuitpython>`__)
40-
- `Adafruit Hallowing M0 Express <https://www.adafruit.com/product/3900>`__ (`CircuitPython Guide <https://learn.adafruit.com/adafruit-hallowing/circuitpython>`__)
41-
- `Adafruit ItsyBitsy M0 Express <https://www.adafruit.com/product/3727>`_ (`CircuitPython Guide <https://learn.adafruit.com/introducing-itsy-bitsy-m0/circuitpython>`__)
42-
- `Adafruit Metro M0 Express <https://www.adafruit.com/product/3505>`_ (`CircuitPython Guide <https://learn.adafruit.com/adafruit-metro-m0-express-designed-for-circuitpython/circuitpython>`__)
43-
- `Adafruit Trinket M0 <https://www.adafruit.com/product/3500>`__ (`CircuitPython Guide <https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino/circuitpython>`__)
44-
45-
**M4 Boards**
46-
47-
- `Adafruit Feather M4 Express <https://www.adafruit.com/product/3857>`__ (`CircuitPython Guide <https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51/circuitpython>`__)
48-
- `Adafruit ItsyBitsy M4 Express <https://www.adafruit.com/product/3800>`__ (`CircuitPython Guide <https://learn.adafruit.com/introducing-adafruit-itsybitsy-m4/circuitpython>`__)
49-
- `Adafruit Metro M4 Express <https://www.adafruit.com/product/3382>`__ (`CircuitPython Guide <https://learn.adafruit.com/adafruit-metro-m4-express-featuring-atsamd51/circuitpython>`__)
50-
51-
Other
52-
~~~~~
53-
54-
- `Adafruit Feather HUZZAH <https://www.adafruit.com/products/2821>`__
55-
- `Adafruit Feather M0
56-
Basic <https://www.adafruit.com/products/2772>`__
57-
- `Adafruit Feather M0 Bluefruit
58-
LE <https://www.adafruit.com/products/2995>`__ (uses M0 Basic
59-
binaries)
60-
- `Adafruit Feather M0
61-
Adalogger <https://www.adafruit.com/product/2796>`__ (MicroSD card
62-
supported using the `Adafruit CircuitPython SD
63-
library <https://github.com/adafruit/Adafruit_CircuitPython_SD>`__)
64-
- `Arduino Zero <https://www.arduino.cc/en/Main/ArduinoBoardZero>`__
65-
- `Arduino MKR Zero <https://store.arduino.cc/arduino-mkrzero>`__ (MicroSD card
66-
supported using the `Adafruit CircuitPython SD
67-
library <https://github.com/adafruit/Adafruit_CircuitPython_SD>`__)
68-
69-
"Third-party" or "non-Adafruit" boards
70-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71-
72-
- `Electronic Cats Meow Meow <https://electroniccats.com/gomeow/>`__
73-
- `Electronic Cats CatWAN USB Stick <https://electroniccats.com/producto/catwan_usb_stick/>`__
74-
75-
Download
76-
--------
77-
78-
Official binaries are available through the `latest GitHub
79-
releases <https://github.com/adafruit/circuitpython/releases>`__.
80-
Continuous (one per commit) builds are available
81-
`here <https://adafruit-circuit-python.s3.amazonaws.com/index.html?prefix=bin>`__
82-
and includes experimental hardware support.
32+
Official binaries for all supported boards are available through
33+
`circuitpython.org <https://circuitpython.org/downloads>`_. The site includes both stable, unstable
34+
and continuous builds. Full release notes and assets are available through
35+
`GitHub releases <https://github.com/adafruit/circuitpython/releases>`_ as well.
8336

8437
Documentation
8538
-------------
8639

8740
Guides and videos are available through the `Adafruit Learning
8841
System <https://learn.adafruit.com/>`__ under the `CircuitPython
89-
category <https://learn.adafruit.com/category/circuitpython>`__ and
90-
`MicroPython
91-
category <https://learn.adafruit.com/category/micropython>`__. An API
42+
category <https://learn.adafruit.com/category/circuitpython>`__. An API
9243
reference is also available on `Read the Docs
9344
<http://circuitpython.readthedocs.io/en/latest/?>`__. A collection of awesome
9445
resources can be found at `Awesome CircuitPython <https://github.com/adafruit/awesome-circuitpython>`__.
@@ -113,22 +64,40 @@ are welcome to submit pull requests and they will be promptly reviewed
11364
by project admins. Please join the
11465
`Discord <https://discord.gg/nBQh6qu>`__ too.
11566

67+
Branding
68+
------------
69+
70+
While we are happy to see CircuitPython forked and modified, we'd appreciate it if forked releases
71+
not use the name "CircuitPython" or the Blinka logo. "CircuitPython" means something special to
72+
us and those who learn about it. As a result, we'd like to make sure products referring to it meet a
73+
common set of requirements.
74+
75+
If you'd like to use the term "CircuitPython" and Blinka for your product here is what we ask:
76+
77+
* Your product is supported by the primary
78+
`"adafruit/circuitpython" <https://github.com/adafruit/circuitpython>`_ repo. This way we can
79+
update any custom code as we update the CircuitPython internals.
80+
* Your product is listed on circuitpython.org. This is to ensure that a user of your product can
81+
always download the latest version of CircuitPython from the standard place.
82+
* Your product has a user accessible USB plug which appears as a CIRCUITPY drive when plugged in.
83+
84+
If you choose not to meet these requirements, then we ask you call your version of CircuitPython
85+
something else (for example, SuperDuperPython) and not use the Blinka logo. You can say it is
86+
"CircuitPython-compatible" if most CircuitPython drivers will work with it.
87+
11688
--------------
11789

11890
Differences from `MicroPython <https://github.com/micropython/micropython>`__
11991
-----------------------------------------------------------------------------
12092

12193
CircuitPython:
12294

123-
- includes a ports for MicroChip SAMD21 (Commonly known as M0 in Adafruit
95+
- includes ports for MicroChip SAMD21 (Commonly known as M0 in Adafruit
12496
product names) and SAMD51 (M4).
125-
- supports only SAMD21, SAMD51, and ESP8266 ports. An nRF port is under
126-
development.
97+
- supports only SAMD21, SAMD51, and nRF52840 ports.
12798
- tracks MicroPython's releases (not master).
128-
- Longints (arbitrary-length integers) are enabled for most M0
129-
Express boards (those boards with SPI flash chips external
130-
to the microcontroller), and for all M4 builds.
131-
Longints are disabled on other boards due to lack of flash space.
99+
- floats (aka decimals) are enabled for all builds.
100+
- error messages are translated into 10+ languages.
132101

133102
Behavior
134103
~~~~~~~~
@@ -153,12 +122,21 @@ Behavior
153122
causes nasty crashes by making it available through mass storage
154123
after the crash. A reset (the button) is needed after its fixed to
155124
get back into normal mode.
125+
- RGB status LED
126+
- Auto-reload after file write over mass storage. (Disable with
127+
``samd.disable_autoreload()``)
128+
- Wait state after boot and main run, before REPL.
129+
- Main is one of these: ``code.txt``, ``code.py``, ``main.py``,
130+
``main.txt``
131+
- Boot is one of these: ``settings.txt``, ``settings.py``, ``boot.py``,
132+
``boot.txt``
156133

157134
API
158135
~~~
159136

160137
- Unified hardware APIs: `audioio <https://circuitpython.readthedocs.io/en/latest/shared-bindings/audioio/__init__.html>`_, `analogio <https://circuitpython.readthedocs.io/en/latest/shared-bindings/analogio/__init__.html>`_, `bleio <https://circuitpython.readthedocs.io/en/latest/shared-bindings/bleio/__init__.html>`_, `busio <https://circuitpython.readthedocs.io/en/latest/shared-bindings/busio/__init__.html>`_, `digitalio <https://circuitpython.readthedocs.io/en/latest/shared-bindings/digitalio/__init__.html>`_, `pulseio <https://circuitpython.readthedocs.io/en/latest/shared-bindings/pulseio/__init__.html>`_, `touchio <https://circuitpython.readthedocs.io/en/latest/shared-bindings/touchio/__init__.html>`_, `microcontroller <https://circuitpython.readthedocs.io/en/latest/shared-bindings/microcontroller/__init__.html>`_, `board <https://circuitpython.readthedocs.io/en/latest/shared-bindings/board/__init__.html>`_, `bitbangio <https://circuitpython.readthedocs.io/en/latest/shared-bindings/bitbangio/__init__.html>`_
161-
- No ``machine`` API on Atmel SAMD21 port.
138+
- API docs are rST within the C files in ``shared-bindings``.
139+
- No ``machine`` API.
162140

163141
Modules
164142
~~~~~~~
@@ -178,18 +156,6 @@ Modules
178156
- tick count is available as
179157
`time.monotonic() <https://circuitpython.readthedocs.io/en/latest/shared-bindings/time/__init__.html#time.monotonic>`__
180158

181-
atmel-samd21 features
182-
~~~~~~~~~~~~~~~~~~~~~
183-
184-
- RGB status LED
185-
- Auto-reload after file write over mass storage. (Disable with
186-
``samd.disable_autoreload()``)
187-
- Wait state after boot and main run, before REPL.
188-
- Main is one of these: ``code.txt``, ``code.py``, ``main.py``,
189-
``main.txt``
190-
- Boot is one of these: ``settings.txt``, ``settings.py``, ``boot.py``,
191-
``boot.txt``
192-
193159
--------------
194160

195161
Project Structure
@@ -231,38 +197,12 @@ Ports
231197
Ports include the code unique to a microcontroller line and also
232198
variations based on the board.
233199

234-
- ``atmel-samd`` Support for SAMD21 based boards such as `Arduino
235-
Zero <https://www.arduino.cc/en/Main/ArduinoBoardZero>`__, `Adafruit
236-
Feather M0 Basic <https://www.adafruit.com/products/2772>`__, and
237-
`Adafruit Feather M0 Bluefruit
238-
LE <https://www.adafruit.com/products/2995>`__.
239-
- ``bare-arm`` A bare minimum version of MicroPython for ARM MCUs.
240-
- ``cc3200`` Support for boards based
241-
`CC3200 <http://www.ti.com/product/CC3200>`__ from TI such as the
242-
`WiPy 1.0 <https://www.pycom.io/solutions/py-boards/wipy1/>`__.
243-
- ``esp8266`` Support for boards based on ESP8266 WiFi modules such as
244-
the `Adafruit Feather
245-
HUZZAH <https://www.adafruit.com/products/2821>`__.
246-
- ``minimal`` A minimal MicroPython port. Start with this if you want
247-
to port MicroPython to another microcontroller.
248-
- ``pic16bit`` Support for 16-bit PIC microcontrollers.
249-
- ``qemu-arm`` Support for ARM emulation through
250-
`QEMU <https://qemu.org>`__.
251-
- ``stmhal`` Support for boards based on STM32 microcontrollers
252-
including the MicroPython flagship
253-
`PyBoard <https://store.micropython.org/store/#/products/PYBv1_1>`__.
254-
- ``teensy`` Support for the Teensy line of boards such as the `Teensy
255-
3.1 <https://www.pjrc.com/teensy/teensy31.html>`__.
256-
- ``unix`` Support for UNIX.
257-
- ``windows`` Support for
258-
`Windows <https://www.microsoft.com/en-us/windows/>`__.
259-
- ``zephyr`` Support for `Zephyr <https://www.zephyrproject.org/>`__, a
260-
real-time operating system by the Linux Foundation.
261-
262-
CircuitPython only maintains the ``atmel-samd`` and ``esp8266`` ports.
263-
The rest are here to maintain compatibility with the
264-
`MicroPython <https://github.com/micropython/micropython>`__ parent
265-
project.
200+
- ``atmel-samd`` Support for SAMD21 and SAMD51 based boards.
201+
- ``nrf`` Support for the nRF52840 based boards.
202+
- ``unix`` Support for UNIX. Only used for automated testing.
203+
204+
The remaining, unlisted directories are in the repo to maintain compatibility with the
205+
`MicroPython <https://github.com/micropython/micropython>`__ parent project.
266206

267207
`⬆ back to top <#adafruit-circuitpython>`__
268208

@@ -272,5 +212,5 @@ project.
272212
:target: http://circuitpython.readthedocs.io/
273213
.. |Discord| image:: https://img.shields.io/discord/327254708534116352.svg
274214
:target: https://adafru.it/discord
275-
.. |License| image:: https://github.com/adafruit/circuitpython/blob/master/logo/license-MIT-brightgreen.svg
276-
:target: https://opensource.org/licenses/MIT
215+
.. |License| image:: https://img.shields.io/badge/License-MIT-brightgreen.svg
216+
:target: https://choosealicense.com/licenses/mit/

conf.py

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
extensions = [
3838
'sphinx.ext.autodoc',
3939
'sphinx.ext.doctest',
40+
'sphinxcontrib.rsvgconverter',
4041
'sphinx.ext.intersphinx',
4142
'sphinx.ext.todo',
4243
'sphinx.ext.coverage'

logo/license-MIT-brightgreen.svg

-1
This file was deleted.

0 commit comments

Comments
 (0)