Skip to content

Commit ab1d4a8

Browse files
committed
Add a new section for using pyupdi as upload tool
Resolve // platformio/platform-atmelmegaavr#7
1 parent b701762 commit ab1d4a8

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

platforms/atmelmegaavr_extra.rst

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,44 @@ incorrect upload flags. It's highly recommended to use the
2525
:ref:`projectconf_upload_command` option that gives the full control over flags used
2626
for uploading. Please read :ref:`atmelavr_upload_via_programmer` for more information.
2727

28+
Upload using pyupdi
29+
^^^^^^^^^^^^^^^^^^^
30+
31+
``pyupdi`` is a Python-based tool for programming tinyAVR and megaAVR devices with UPDI
32+
interface via a standard serial port. It can be installed directly in the PlatformIO
33+
virtual environment using the following command:
34+
35+
.. code-block:: bash
36+
37+
pip install https://github.com/mraardvark/pyupdi/archive/master.zip
38+
39+
40+
Once ``pyupdi`` is installed it can be used as the uploader via a custom
41+
:ref:`projectconf_upload_command` option, for example:
42+
43+
.. code-block:: ini
44+
45+
[env:ATmega3209_pyupdi_upload]
46+
platform = atmelmegaavr
47+
framework = arduino
48+
board = ATmega3209
49+
upload_speed = 115200
50+
upload_flags =
51+
-d
52+
mega3209
53+
-c
54+
$UPLOAD_PORT
55+
-b
56+
$UPLOAD_SPEED
57+
upload_command = pyupdi $UPLOAD_FLAGS -f $SOURCE
58+
59+
.. warning::
60+
61+
Device names used in in ``pyupdi`` differ from MCU names used in the ``atmelmegaavr``
62+
platform. Run ``pyupdi --help`` to see the list of supported devices.
63+
64+
More information and a typical circuit diagram can be found in the official
65+
`pyupdi repository <https://github.com/mraardvark/pyupdi>`_ repository.
2866

2967
Fuses programming
3068
~~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)