Troubleshooting Guide
How to ask for help
Always provide these details when asking for help. This helps us understand your setup and save time.
- Run
os.uname()
on your module to get the version numbers - Your module’s type & version (e.g. FiPy 1.0)
- Any shields, or devices connected (e.g. Pytrack, Extension Board 3.0 with “x" sensor)
- Your Operating System’s version
- Pymakr version
- Atom / VSCode version
- Have you looked at our documentation and similar issues on the forum?
Firmware Update
Firmware file has unexpected sha1 checksum.
If you're trying to update to the latest development
firmware, make sure you use the development release of the Firmware Updater.
My module is recognised as the wrong type
Open a support ticket with the details and send us the result of this code:
import machine, binascii
binascii.hexlify(machine.unique_id())
Connecting to the module
Module stuck in bootloader mode
Normally, the firmware updater switches back to application mode at the end of an upgrade. If that doesn't happen for some reason, re-plugging the USB cable also puts the device back into application mode.
Pymakr
Make sure you have the latest version of Pymakr and Atom/VSCode installed.
Synchronising a project results in ‘Failed to allocate memory’ error
Synchronising takes a bit of memory, so this error can occur when code running on the board already is taking a substantial amount of memory.
Solution: use safe boot with REPL or Expansion Board when synchronising
Atom
Failed to load package: Cannot find module ‘serialport’
In some cases, this is caused by the Atom Package Manager (apm) using Python 3.x, while node-gyp
(used for compiling the serialport
lib) needs Python 2.x. To confirm this, apm —version
can be run to check which Python version apm is using.
Solution: Tell the package manager to use python 2 instead. Running the following command switches apm to 2.7:
echo “python=/usr/bin/python2.7” >> ~/.atom/.apmrc
Now reinstall Pymakr or run apm install from the Pymakr package located in ~/.atom/packages/pymakr
Could not locate the bindings file
If the installation of the serialport
library failed, it reverts back to the precompiled version that is included in the plugin. This is compiled for the latest versions of Atom and loses compatibility with older versions.
Solution: upgrade to the latest Atom (1.19.0 or higher) or install the previous version of the plugin (apm install pymakr@1.0.3
)
Any error where the traceback contains .atom\packages\Pymakr\ with a capital “P”
This happened after Pymakr
renamed to pymakr
(lowercase) starting at version 1.2.5, but Atom remembers the old folder name inside the packages folder.
Solution:
- Uninstall Pymakr
- Remove folder:
~/.atom/.apm/Pymkr
- Empty folder:
~/.config/Atom/Cache
- Reinstall pymakr
Cannot connect to Pycom board via REPL
In the case of a board that has already has code uploaded to it and is running a loop/non-exiting script, the board may not boot into a REPL.
Solution: If the board is currently running code, you will need to exit the current script before proceeding: 1. Ensure your board is connected to your computer 2. Press the reset button on the device 3. Press ctrl-c
on within the Pymakr console to exit the current script/program
The REPL should then appear with the >>>
prompt and you will be able to run/sync your code.
Cannot connect to Pycom on Linux
If you’re a Linux user and can’t connect to your board, there might be a permission issue to access the serial port.
Solution: Run the following command sudo usermod -a -G dialout $USER
VSCode
Terminal not opening
If the Pymakr terminal is not opening or giving an error, this might be because NodeJS is not installed on your system. This is because the terminal process is running separate from VSCode and depends on your systems NodeJS install.
Solution: install NodeJS. For Windows 64 machines, install a 32 bit version of NodeJS (for example nvm install 7.8.0 32
when using nvm
).