Why Wont My Adafruit Circuit Playground Upload?

From time to time, y'all volition meet bug when working with CircuitPython. Here are a few things you may encounter and how to resolve them.

As CircuitPython evolution continues and at that place are new releases, Adafruit will finish supporting older releases. Visit https://circuitpython.org/downloads to download the latest version of CircuitPython for your lath. You must download the CircuitPython Library Parcel that matches your version of CircuitPython. Please update CircuitPython and then visit https://circuitpython.org/libraries to download the latest Library Bundle.

Always Run the Latest Version of CircuitPython and Libraries

Every bit CircuitPython development continues and at that place are new releases, Adafruit will finish supporting older releases. You need to update to the latest CircuitPython..

You need to download the CircuitPython Library Bundle that matches your version of CircuitPython. Please update CircuitPython and so download the latest bundle.

Every bit new versions of CircuitPython are released, Adafruit will stop providing the previous bundles equally automatically created downloads on the Adafruit CircuitPython Library Packet repo. If y'all must continue to use an earlier version, y'all can still download the appropriate version of mpy-cantankerous from the particular release of CircuitPython on the CircuitPython repo and create your own compatible .mpy library files. Still, it is best to update to the latest for both CircuitPython and the library bundle.

I have to continue using CircuitPython v.ten or earlier. Where tin can I notice compatible libraries?

Adafruit is no longer building or supporting the CircuitPython 5.x or earlier library bundles. Yous are highly encourged to update CircuitPython to the latest version and utilize the current version of the libraries. However, if for some reason you lot cannot update, links to the previous bundles are available in the FAQ.

Bootloader (boardnameKick) Bulldoze Non Present

You may have a different board.

Only Adafruit Express boards and the SAMD21 not-Express boards ship with the UF2 bootloader installed. The Feather M0 Basic, Plumage M0 Adalogger, and similar boards employ a regular Arduino-compatible bootloader, which does not testify a boardnameKick drive.

MakeCode

If you lot are running a MakeCode program on Circuit Playground Express, printing the reset button only once to get the CPLAYBOOT drive to show up. Pressing it twice volition not work.

MacOS

DriveDx and its accompanything Sat SMART Commuter tin interfere with seeing the Kicking drive. See this forum post for how to set up the problem.

Windows x

Did y'all install the Adafruit Windows Drivers package by fault, or did you upgrade to Windows 10 with the driver package installed? You don't need to install this package on Windows ten for near Adafruit boards. The old version (v1.5) can interfere with recognizing your device. Get to Settings -> Apps and uninstall all the "Adafruit" driver programs.

Windows 7 or 8.1

To utilize a CircuitPython-compatible board with Windows 7 or 8.1, you must install a driver. Installation instructions are available here.

It is recommended that you upgrade to Windows ten if possible; an upgrade is probably still free for y'all. Check here.

The Windows Drivers installer was last updated in Nov 2020 (v2.five.0.0) . Windows 7 drivers for CircuitPython boards released since then, including RP2040 boards, are not even so available. The boards work fine on Windows 10. A new release of the drivers is in procedure.

Yous should now be done! Examination by unplugging and replugging the board. You lot should run into the CIRCUITPY drive, and when y'all double-click the reset push button (single click on Circuit Playground Express running MakeCode), you should run across the appropriate boardnameBOOT bulldoze.

Permit u.s.a. know in the Adafruit back up forums or on the Adafruit Discord if this does not piece of work for you!

Windows Explorer Locks Up When Accessing boardnameKick Bulldoze

On Windows, several third-party programs that can cause issues. The symptom is that you try to access the boardnameBoot drive, and Windows or Windows Explorer seems to lock up. These programs are known to cause trouble:

  • AIDA64: to fix, cease the program. This problem has been reported to AIDA64. They caused hardware to exam, and released a beta version that fixes the trouble. This may have been incorporated into the latest release. Delight permit usa know in the forums if you test this.
  • Hd Lookout
  • Kaspersky anti-virus: To set up, you may need to disable Kaspersky completely. Disabling some aspects of Kaspersky does non always solve the problem. This problem has been reported to Kaspersky.
  • ESET NOD32 anti-virus: There have been problems with at to the lowest degree version 9.0.386.0, solved by uninstallation.

Copying UF2 to boardnameKicking Drive Hangs at 0% Copied

On Windows, a Western DIgital (WD) utility that comes with their external USB drives tin interfere with copying UF2 files to the boardnameKick bulldoze. Uninstall that utility to fix the problem.

CIRCUITPY Bulldoze Does Not Appear or Disappears Speedily

Kaspersky anti-virus can block the appearance of the CIRCUITPY drive. There has not even so been settings change discovered that prevents this. Consummate uninstallation of Kaspersky fixes the trouble.

Norton anti-virus can interfere with CIRCUITPY. A user has reported this problem on Windows 7. The user turned off both Smart Firewall and Automobile Protect, and CIRCUITPY then appeared.

Sophos Endpoint security software can cause CIRCUITPY to disappear and the BOOT drive to reappear. It is non clear what causes this behavior.

Device Errors or Issues on Windows

Windows can become confused near USB device installations. This is particularly truthful of Windows seven and eight.1. It is recommended that you upgrade to Windows 10 if possible; an upgrade is probably still gratuitous for you: see this link.

If not, try cleaning upwards your USB devices. Use Uwe Sieber's Device Cleanup Tool. Download and unzip the tool. Unplug all the boards and other USB devices y'all want to clean up. Run the tool every bit Administrator. You volition see a listing similar this, probably with many more than devices. It is listing all the USB devices that are not currently attached.

circuitpython_device-cleanup-tool.png

Select all the devices yous want to remove, and then press Delete. It is usually prophylactic merely to select everything. Any device that is removed will go a fresh install when you plug it in. Using the Device Cleanup Tool also discards all the COM port assignments for the unplugged boards. If you have used many Arduino and CircuitPython boards, you lot have probably seen higher and college COM port numbers used, seemingly without end. This volition fix that trouble.

Serial Panel in Mu Not Displaying Anything

There are times when the serial console volition accurately not display anything, such as, when no lawmaking is currently running, or when code with no serial output is already running before you open the console. However, if y'all discover yourself in a state of affairs where you lot feel it should exist displaying something similar an error, consider the post-obit.

Depending on the size of your screen or Mu window, when yous open the serial panel, the series console panel may exist very small. This tin be a problem. A basic CircuitPython fault takes 10 lines to display!

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable. code.py output: Traceback (virtually recent call last):   File "code.py", line 7 SyntaxError: invalid syntax    Press any primal to enter the REPL. Utilise CTRL-D to reload.          
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable. code.py output: Traceback (most contempo call last):   File "code.py", line 7 SyntaxError: invalid syntax    Press any central to enter the REPL. Use CTRL-D to reload.          

More complex errors take fifty-fifty more lines!

Therefore, if your serial console panel is five lines tall or less, you may only encounter blank lines or blank lines followed by Press any primal to enter the REPL. Employ CTRL-D to reload.. If this is the example, you need to either mouse over the top of the panel to utilise the option to resize the serial panel, or apply the scrollbar on the correct side to roll up and find your message.

circuitpython_Mu_Serial_Short.png

This applies to any kind of serial output whether it exist error letters or print statements. So before you start trying to debug your problem on the hardware side, be certain to bank check that you haven't simply missed the serial messages due to series output panel height.

lawmaking.py Restarts Constantly

CircuitPython will restart code.py if you lot or your calculator writes to something on the CIRCUITPY drive. This feature is called auto-reload, and lets you exam a change to your program immediately.

Some utility programs, such as backup, anti-virus, or deejay-checking apps, will write to the CIRCUITPY every bit part of their performance. Sometimes they practice this very frequently, causing constant restarts.

Acronis True Image and related Acronis programs on Windows are known to cause this problem. It is possible to preclude this by disabling the "Acronis Managed Machine Service Mini".

If yous cannot stop whatever is causing the writes, you can disable auto-reload by putting this code in kicking.py or lawmaking.py:

import supervisor  supervisor.disable_autoreload()
import supervisor  supervisor.disable_autoreload()

CircuitPython RGB Status Light

Nearly all CircuitPython-capable boards have a unmarried NeoPixel or DotStar RGB LED on the board that indicates the status of CircuitPython. A few boards designed before CircuitPython existed, such every bit the Plumage M0 Basic, do non.

Circuit Playground Express and Circuit Playground Bluefruit have multiple RGB LEDs, but do NOT take a status LED. The LEDs are all green when in the bootloader. In versions earlier seven.0.0, they do Non point any status while running CircuitPython.

CircuitPython 7.0.0 and Later

The status LED blinks were changed in CircuitPython 7.0.0 in order to salvage bombardment power and simplify the blinks. These blink patterns will occur on single color LEDs when the lath does not have any RGB LEDs. Speed and blink count also vary for this reason.

On start upwards, the LED will blink Xanthous multiple times for i second. Pressing reset during this time volition restart the lath and then enter safe fashion. On Bluetooth capable boards, after the yellowish blinks, there will be a fix of faster bluish blinks. Pressing reset during the BLUE blinks volition clear Bluetooth information and start the device in discoverable mode, then it can be used with a BLE code editor.

Once started, CircuitPython volition blink a pattern every 5 seconds when no user lawmaking is running to indicate why the code stopped:

  • 1 Light-green blink: Lawmaking finished without error.
  • 2 RED blinks: Lawmaking ended due to an exception. Cheque the serial console for details.
  • iii Xanthous blinks: CircuitPython is in safe mode. No user code was run. Check the serial console for safe mode reason.

When in the REPL, CircuitPython volition set the status LED to WHITE. You lot can alter the LED colour from the REPL. The status indicator will not persist on non-NeoPixel or DotStar LEDs.

circuitpython_CircuitPython_Boot_Sequence_7.jpg

CircuitPython vi.3.0 and earlier

Here's what the colors and blinking mean:

  • steady GREEN: code.py (or lawmaking.txt, principal.py, or main.txt) is running
  • pulsing GREEN: code.py (etc.) has finished or does not be
  • steady YELLOW at start up: (four.0.0-blastoff.5 and newer) CircuitPython is waiting for a reset to indicate that it should outset in rubber style
  • pulsing YELLOW: Circuit Python is in condom mode: it crashed and restarted
  • steady WHITE: REPL is running
  • steady BLUE: boot.py is running

Colors with multiple flashes following bespeak a Python exception and then signal the line number of the error. The color of the first flash indicates the type of error:

  • GREEN: IndentationError
  • CYAN: SyntaxError
  • WHITE: NameError
  • Orangish: OSError
  • PURPLE: ValueError
  • YELLOW: other error

These are followed by flashes indicating the line number, including place value. WHITE flashes are thousands' place, Blue are hundreds' identify, YELLOW are tens' place, and CYAN are one'southward place. So for example, an error on line 32 would wink Yellowish iii times and so CYAN two times. Zeroes are indicated by an actress-long night gap.

circuitpython_CircuitPython_Boot_Sequence_1.png

Serial console showing ValueError: Incompatible .mpy file

This error occurs when importing a module that is stored every bit a .mpy binary file that was generated by a different version of CircuitPython than the one its being loaded into. In particular, the mpy binary format changed between CircuitPython versions 6.x and 7.ten, 2.x and 3.x, and 1.x and ii.x.

And so, for instance, if you upgraded to CircuitPython vii.10 from 6.x you'll demand to download a newer version of the library that triggered the fault on import . All libraries are available in the Adafruit bundle.

CIRCUITPY Drive Issues

Y'all may find that you can no longer salvage files to your CIRCUITPY drive. You may find that your CIRCUITPY stops showing up in your file explorer, or shows up as NO_NAME. These are indicators that your filesystem has issues. When the CIRCUITPY deejay is not safely ejected before being reset by the button or existence disconnected from USB, it may decadent the flash drive. It can happen on Windows, Mac or Linux, though it is more mutual on Windows.

Be aware, if you have used Arduino to program your board, CircuitPython is no longer able to provide the USB services. You will need to reload CircuitPython to resolve this situation.

The easiest first step is to reload CircuitPython. Double-tap reset on the board so you get a boardnameBOOT bulldoze rather than a CIRCUITPY drive, and re-create the latest version of CircuitPython (.uf2) back to the board. This may restore CIRCUITPY functionality.

If reloading CircuitPython does not resolve your issue, the next step is to try putting the lath into safe mode.

Rubber Mode

Whether you lot've run into a state of affairs where you tin can no longer edit your code.py on your CIRCUITPY bulldoze, your board has gotten into a state where CIRCUITPY is read-simply, or you take turned off the CIRCUITPY drive altogether, safe mode can help.

Safe style in CircuitPython does not run any user code on startup, and disables auto-reload. This means a few things. Kickoff, safe mode bypasses whatsoever lawmaking in boot.py (where you tin can set CIRCUITPY read-only or turn it off completely). Second, it does non run the code in code.py. And finally, it does not automatically soft-reload when data is written to the CIRCUITPY drive.

Therefore, whatever yous may have done to put your board in a non-interactive country, safe mode gives you the opportunity to right it without losing all of the data on the CIRCUITPY bulldoze.

Inbound Safe Mode in CircuitPython vii.x

To enter safe mode when using CircuitPython 7.ten, plug in your board or striking reset (highlighted in red above). Immediately later the board starts up or resets, information technology waits 1000ms. On some boards, the onboard status LED will blink yellow during that time. If you press reset during that 1000ms, the board will start upwards in safe style. Information technology can exist hard to react to the yellow LED, so you may desire to recall of it simply as a "ho-hum" double click of the reset push. (Remember, a fast double click of reset enters the bootloader.)

Entering Safe Mode in CircuitPython 6.x

To enter prophylactic mode when using CircuitPython 6.x, plug in your lath or hit reset (highlighted in red above). Immediately afterwards the board starts up or resets, it waits 700ms. On some boards, the onboard status LED (highlighted in green above) will plow solid yellow during this time. If you press reset during that 700ms, the board volition start up in safety mode. It can exist difficult to react to the yellow LED, so you may want to call back of it simply equally a slow double click of the reset button. (Remember, a fast double click of reset enters the bootloader.)

In Safe Mode

Once you've entered safe mode successfully in CircuitPython 6.x, the LED will pulse yellow.

If you successfully enter safe mode on CircuitPython vii.x, the LED will intermittently blink xanthous three times.

If you connect to the serial panel, you'll find the post-obit message.

Auto-reload is off. Running in safe mode! Not running saved code.  CircuitPython is in safe mode because yous pressed the reset button during boot. Press again to leave prophylactic mode.  Press any key to enter the REPL. Use CTRL-D to reload.
Auto-reload is off. Running in safe fashion! Non running saved code.  CircuitPython is in rubber mode because yous pressed the reset button during boot. Press again to leave safe mode.  Printing any cardinal to enter the REPL. Use CTRL-D to reload.

Y'all can now edit the contents of the CIRCUITPY drive. Remember, your code volition not run until you lot press the reset button, or unplug and plug in your board, to go out of safe mode.

At this point, you'll want to remove any user lawmaking inlawmaking.py and, if present, the boot.py file from CIRCUITPY. Once removed, tap the reset button, or unplug and plug in your board, to restart CircuitPython. This will restart the board and may resolve your drive bug. If resolved, you can begin coding again as usual.

If safety manner does not resolve your event, the board must exist completely erased and CircuitPython must exist reloaded onto the board.

You Will lose everything on the board when you complete the following steps. If possible, make a copy of your code before continuing.

To erase CIRCUITPY: storage.erase_filesystem()

CircuitPython includes a built-in function to erase and reformat the filesystem. If yous have a version of CircuitPython older than 2.three.0 on your board, you lot can update to the newest version to do this.

  1. Connect to the CircuitPython REPL using Mu or a terminal program.
  2. Type the post-obit into the REPL:
>>> import storage >>> storage.erase_filesystem()
>>> import storage >>> storage.erase_filesystem()

CIRCUITPY will be erased and reformatted, and your lath will restart. That's it!

Erase CIRCUITPY Without Access to the REPL

If you can't access the REPL, or you're running a version of CircuitPython previous to two.3.0 and you don't want to upgrade, there are options available for some specific boards.

The options listed below are considered to be the "old way" of erasing your board. The method shown higher up using the REPL is highly recommended as the best method for erasing your board.

If at all possible, it is recommended to apply the REPL to erase your CIRCUITPY bulldoze. The REPL method is explained above.

For the specific boards listed below:

If the board you are trying to erase is listed below, follow the steps to use the file to erase your board.

       one.  Download the correct erase file:

       2.  Double-click the reset push on the lath to bring up the boardnameBOOT drive.
       three.  Elevate the erase .uf2 file to the boardnameBoot drive.
       4.  The status LED will plow yellow or blue, indicating the erase has started.
       5.  After approximately 15 seconds, the status LED volition light upward green. On the NeoTrellis M4 this is the start NeoPixel on the grid
       half dozen.  Double-click the reset button on the board to bring upward the boardnameKick bulldoze.
       7.  Drag the advisable latest release of CircuitPython .uf2 file to the boardnameKicking drive.

It should reboot automatically and you should see CIRCUITPY in your file explorer again.

If the LED flashes red during pace v, it ways the erase has failed. Repeat the steps starting with two.

If you haven't already downloaded the latest release of CircuitPython for your board, check out the installation page. Yous'll also need to load your code and reinstall your libraries!

For SAMD21 non-Limited boards that have a UF2 bootloader:

Whatsoever SAMD21-based microcontroller that does not have external flash available is considered a SAMD21 non-Express board. Non-Express boards that have a UF2 bootloader include Trinket M0, GEMMA M0, QT Py M0, and the SAMD21-based Trinkey boards.

If yous are trying to erase a SAMD21 non-Express board, follow these steps to erase your board.

       1.  Download the erase file:

       2.  Double-click the reset button on the board to bring up the boardnameBoot drive.
       3.  Drag the erase .uf2 file to the boardnameKick drive.
       4.  The boot LED will outset flashing again, and the boardnameBOOT drive volition reappear.
       v.  Drag the appropriate latest release CircuitPython .uf2 file to the boardnameBoot bulldoze.

It should reboot automatically and you should see CIRCUITPY in your file explorer again.

If you lot oasis't already downloaded the latest release of CircuitPython for your board, cheque out the installation page YYou'll also demand to load your code and reinstall your libraries!

For SAMD21 non-Express boards that practise not accept a UF2 bootloader:

Whatsoever SAMD21-based microcontroller that does not have external flash bachelor is considered a SAMD21 non-Express board. Non-Express boards that do not have a UF2 bootloader include the Feather M0 Bones Proto, Plumage Adalogger, or the Arduino Zero.

If you are trying to erase a non-Limited board that does not have a UF2 bootloader, follow these directions to reload CircuitPython using bossac, which will erase and re-create CIRCUITPY.

Running Out of File Space on SAMD21 Non-Limited Boards

Any SAMD21-based microcontroller that does not have external flash available is considered a SAMD21 non-Limited board. This includes boards similar the Trinket M0, GEMMA M0, QT Py M0, and the SAMD21-based Trinkey boards.

The file system on the board is very tiny. (Smaller than an aboriginal floppy disk.) And then, its probable you'll run out of infinite but don't panic! There are a number of ways to free up space.

circuitpython_arduino_compatibles_gemma_out_of_space.png

Delete something!

The simplest way of freeing up infinite is to delete files from the drive. Peradventure at that place are libraries in the lib binder that you aren't using anymore or test code that isn't in use. Don't delete the lib folder completely, though, merely remove what you don't demand.

The lath ships with the Windows 7 serial driver besides! Feel free to delete that if yous don't demand it or take already installed information technology. It'due south ~12KiB or and then.

Use tabs

1 unique characteristic of Python is that the indentation of code matters. Usually the recommendation is to indent lawmaking with 4 spaces for every indent. In full general, that is recommended as well. However, ane trick to storing more homo-readable code is to use a single tab graphic symbol for indentation. This approach uses i/4 of the space for indentation and can be significant when yous're counting bytes.

On MacOS?

MacOS loves to generate hidden files. Luckily y'all can disable some of the extra subconscious files that macOS adds by running a few commands to disable search indexing and create zero byte placeholders. Follow the steps below to maximize the amount of space bachelor on macOS.

Forestall & Remove MacOS Subconscious Files

First find the volume name for your board.  With the lath plugged in run this command in a terminal to list all the volumes:

ls -l /Volumes
ls -l /Volumes

Wait for a volume with a name likeCIRCUITPY (the default for CircuitPython).  The full path to the volume is the/Volumes/CIRCUITPY path.

Now follow the steps from this question to run these last commands that stop subconscious files from being created on the board:

mdutil -i off /Volumes/CIRCUITPY cd /Volumes/CIRCUITPY rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes} mkdir .fseventsd touch .fseventsd/no_log .metadata_never_index .Trashes cd -
mdutil -i off /Volumes/CIRCUITPY cd /Volumes/CIRCUITPY rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes} mkdir .fseventsd bear on .fseventsd/no_log .metadata_never_index .Trashes cd -

Replace/Volumes/CIRCUITPY in the commands above with the full path to your lath's volume if it's unlike.  At this point all the hidden files should be cleared from the board and some hidden files volition be prevented from being created.

Alternatively, with CircuitPython 4.10 and above, the special files and folders mentioned above volition be created automatically if you erase and reformat the filesystem. Alarm: Save your files first! Do this in the REPL:

>>> import storage
>>> storage.erase_filesystem()

Withal there are withal some cases where hidden files will be created by MacOS.  In particular if you copy a file that was downloaded from the internet information technology will have special metadata that MacOS stores as a hidden file.  Luckily you tin can run a copy command from the terminal to copy files without this hidden metadata file.  Encounter the steps below.

Copy Files on MacOS Without Creating Hidden Files

In one case you've disabled and removed hidden files with the above commands on macOS y'all need to be careful to copy files to the lath with a special command that prevents futurity hidden files from being created.  Unfortunately you cannot use drag and drop copy in Finder considering it will notwithstanding create these hidden extended aspect files in some cases (for files downloaded from the internet, similar Adafruit's modules).

To copy a file or binder use the-X choice for thecp control in a terminal.  For example to copy a file_name.mpy file to the lath utilize a control like:

cp -X file_name.mpy /Volumes/CIRCUITPY
cp -X file_name.mpy /Volumes/CIRCUITPY

(Replace file_name.mpy with the proper noun of the file you want to copy.)

Or to copy a folder and all of the files and folders independent within, use a command like:

cp -rX folder_to_copy /Volumes/CIRCUITPY
cp -rX folder_to_copy /Volumes/CIRCUITPY

If you lot are copying to the lib folder, or some other folder, make sure it exists before copying.

# if lib does non exist, y'all'll create a file named lib ! cp -X file_name.mpy /Volumes/CIRCUITPY/lib # This is safer, and volition complain if a lib folder does not exist. cp -Ten file_name.mpy /Volumes/CIRCUITPY/lib/
# if lib does non exist, you lot'll create a file named lib ! cp -X file_name.mpy /Volumes/CIRCUITPY/lib # This is safer, and volition complain if a lib folder does not exist. cp -X file_name.mpy /Volumes/CIRCUITPY/lib/

Other MacOS Infinite-Saving Tips

If you'd similar to encounter the amount of infinite used on the drive and manually delete hidden files here'due south how to do so. Get-go, motion into the Volumes/ directory with cd /Volumes/, and and then list the amount of infinite used on the CIRCUITPY drive with the df command.

circuitpython_WtCP_df_CIRCUITPY.png

That's not very much space left! The next footstep is to show a listing of the files currently on the CIRCUITPY bulldoze, including the hidden files, using the ls command. You cannot apply Finder to practise this, you must exercise information technology via command line!

circuitpython_WtCP_ls_CIRCUITPY.png

In that location are a few of the hidden files that MacOS loves to generate, all of which brainstorm with a ._ before the file name. Remove the ._ files using the rm command. You can remove them all once by running rm CIRCUITPY/._*. The * acts every bit a wildcard to apply the command to everything that begins with ._ at the aforementioned fourth dimension.

circuitpython_WtCP_rm_dot_underscore_CIRCUITPY.png

Finally, you lot can run df once again to see the current space used.

circuitpython_WtCP_df_post_delete_CIRCUITPY.png

Nice! Y'all accept 12Ki more than than before! This space can at present be used for libraries and code!

Device Locked Up or Kicking Looping

In rare cases, it may happen that something in your lawmaking.py or kicking.py files causes the device to get locked up, or even go into a boot loop. A kick loop occurs when the board reboots repeatedly and never fully loads. These are not caused by your everyday Python exceptions, typically it'south the result of a deeper trouble within CircuitPython. In this situation, it can be hard to recover your device if CIRCUITPY is non allowing yous to modify the lawmaking.py or boot.py files. Safe fashion is one recovery option. When the device boots up in rubber mode information technology volition non run the code.py or kick.py scripts, just will still connect the CIRCUITPY drive so that you can remove or modify those files as needed.

The method used to manually enter condom mode can be different for different devices. It is also very similar to the method used for getting into bootloader mode, which is a different affair. So information technology tin can accept a few tries to get the timing right. If you finish up in bootloader mode, no problem, you can try again without needing to do annihilation else.

For most devices:
Press the reset push, and so when the RGB status LED blinks yellowish, press the reset button over again. Since your reaction time may not exist that fast, endeavour a "slow" double click, to catch the yellowish LED on the second click.

For ESP32-S2 based devices:
Press and release the reset button, then press and release the kicking button about 3/4 of a 2nd later.

Refer to the diagrams above for kicking sequence details.

This guide was first published on Oct 12, 2017. It was final updated on 2021-11-30 fourteen:00:00 -0500.

This folio (Troubleshooting) was last updated on Apr 15, 2022.

Text editor powered by tinymce.

brenanfoody1997.blogspot.com

Source: https://learn.adafruit.com/adafruit-circuit-playground-express/troubleshooting

0 Response to "Why Wont My Adafruit Circuit Playground Upload?"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel