General information about the pyboard¶
Contents
Local filesystem and SD card¶
There is a small internal filesystem (a drive) on the pyboard, called /flash
,
which is stored within the microcontroller’s flash memory. If a micro SD card
is inserted into the slot, it is available as /sd
.
When the pyboard boots up, it needs to choose a filesystem to boot from. If
there is no SD card, then it uses the internal filesystem /flash
as the boot
filesystem, otherwise, it uses the SD card /sd
. After the boot, the current
directory is set to one of the directories above.
If needed, you can prevent the use of the SD card by creating an empty file
called /flash/SKIPSD
. If this file exists when the pyboard boots
up then the SD card will be skipped and the pyboard will always boot from the
internal filesystem (in this case the SD card won’t be mounted but you can still
mount and use it later in your program using os.mount
).
(Note that on older versions of the board, /flash
is called 0:/
and /sd
is called 1:/
).
The boot filesystem is used for 2 things: it is the filesystem from which
the boot.py
and main.py
files are searched for, and it is the filesystem
which is made available on your PC over the USB cable.
The filesystem will be available as a USB flash drive on your PC. You can
save files to the drive, and edit boot.py
and main.py
.
Remember to eject (on Linux, unmount) the USB drive before you reset your pyboard.
Boot modes¶
If you power up normally, or press the reset button, the pyboard will boot
into standard mode: the boot.py
file will be executed first, then the
USB will be configured, then main.py
will run.
You can override this boot sequence by holding down the user switch as the board is booting up. Hold down user switch and press reset, and then as you continue to hold the user switch, the LEDs will count in binary. When the LEDs have reached the mode you want, let go of the user switch, the LEDs for the selected mode will flash quickly, and the board will boot.
The modes are:
- Green LED only, standard boot: run
boot.py
thenmain.py
. - Orange LED only, safe boot: don’t run any scripts on boot-up.
- Green and orange LED together, filesystem reset: resets the flash filesystem to its factory state, then boots in safe mode.
If your filesystem becomes corrupt, boot into mode 3 to fix it. If resetting the filesystem while plugged into your compute doesn’t work, you can try doing the same procedure while the board is plugged into a USB charger, or other USB power supply without data connection.
Errors: flashing LEDs¶
There are currently 2 kinds of errors that you might see:
- If the red and green LEDs flash alternatively, then a Python script
- (eg
main.py
) has an error. Use the REPL to debug it.
- If all 4 LEDs cycle on and off slowly, then there was a hard fault. This cannot be recovered from and you need to do a hard reset.
Guide for using the pyboard with Windows¶
The following PDF guide gives information about using the pyboard with Windows, including setting up the serial prompt and downloading new firmware using DFU programming: PDF guide.
The pyboard hardware¶
For the pyboard:
- v1.1
- PYBv1.1 schematics and layout (2.9MiB PDF)
- v1.0
- PYBv1.0 schematics and layout (2.4MiB PDF)
- PYBv1.0 metric dimensions (360KiB PDF)
- PYBv1.0 imperial dimensions (360KiB PDF)
For the official skin modules:
- LCD32MKv1.0 schematics (194KiB PDF)
- AMPv1.0 schematics (209KiB PDF)
- LCD160CRv1.0: see
lcd160cr
Datasheets for the components on the pyboard¶
- The microcontroller: STM32F405RGT6 (link to manufacturer’s site)
- The accelerometer: Freescale MMA7660 (800kiB PDF)
- The LDO voltage regulator: Microchip MCP1802 (400kiB PDF)
Datasheets for other components¶
- The LCD display on the LCD touch-sensor skin: Newhaven Display NHD-C12832A1Z-FSW-FBW-3V3 (460KiB PDF)
- The touch sensor chip on the LCD touch-sensor skin: Freescale MPR121 (280KiB PDF)
- The digital potentiometer on the audio skin: Microchip MCP4541 (2.7MiB PDF)