0

Why would the file system (CIRCUITPY) of an Adafruit board running CircuitPython not show up when connecting it to a suitable host via a micro usb cable?

KevinJWalters
  • 193
  • 1
  • 7
  • The current Adafruit boards which can run python are any of the M0/M4 processor-based ones, as an example this includes the [Gemma M0](https://www.adafruit.com/product/3501) and the [Circuit Playground Express](https://www.adafruit.com/product/3333). – KevinJWalters Jul 30 '18 at 11:47

3 Answers3

2

This happens to me often, usually when I am copying files via Windows, most often with my trinket which uses the integrated chip flash memory rather than the separate SPI flash chip. Why? I don't know. A bug somewhere obviously. :)

So the solution.

  1. Always save your work files locally or use a source code solution like git
  2. Switch to the boot mode (double click reset)
  3. Drag the erase.uf2 file to clear the flash memory
  4. Drag the circuit python uf2 file to reflash python
  5. Restore your files saved on your PC

Basically, I've made it a habit to assume the flash memory is temporary and volatile and not store any critical code only there.

You can read more about the erase uf2 and reflashing, general troubleshooting here:

https://learn.adafruit.com/welcome-to-circuitpython/troubleshooting

Aaron Averill
  • 233
  • 1
  • 7
1

JerryN mentioned the most common cause of this is using a USB cable with no data wires. Some USB cables are designed for power-only and have 2 rather than 4 conductors. These will power the device but will prevent mounting of the drive and use of the serial connection over USB.

Unfortunately these cables are often not marked as power-only so can be difficult to spot.

Another case is where CPLAYBOOT (this varies per board, e.g. GEMMABOOT, FEATHERBOOT, TRINKETBOOT) disappears on Windows. This can be caused by installation of the Arduino software which has an old, conflicting driver from 2007. More information on Adafruit: Circuit Playground Express: Troubleshooting.

A very rare case is a mis-seated USB connector. In my case the power was ok but the data wasn't for a good quality cable which had previously worked fine. Unplugging the USB cable at the host end and re-inserting it solved the problem.

KevinJWalters
  • 193
  • 1
  • 7
1

Besides your first answer about the cable, because of the relatively inexpensive nature of the boards and direct access to their power/ground sometimes the EPROMs that the file system are hosted on just go bad and give unexpected results. Best idea is to:

  1. Test your environment with another board.

  2. Reflash micro python on your board so you can start from scratch (didn't mention if you'd tried that).

Abhinav
  • 658
  • 1
  • 9
  • 27