Daily builds of the code (the ports/stm32/ directory) are available below. The hardware version of the board that you have should be written on your pyboard; eg boards with PYBv1.0 written on them should use pybv10_xxx.dfu files.
For each board there are various firmwares available with different options compiled in. The "standard" build is listed first and is the default firmware that the pyboards are shipped with. Use this firmware if you are uncertain. The "double FP" builds use double-precision floating point instead of the standard single precision. The "threading" builds contain the _thread module and allow multithreading. The "network" builds have network drivers for CC3000 and WIZ820io included. All these different firmware are completely interchangeable and you can freely change from one to the other without losing the filesystem on your pyboard.For each firmware group there are various versions of the software available. The latest version is listed first in the line, followed by older, and possibly more stable, versions. A overview of changes for each software version can be found here.
One you have downloaded the appropriate DFU file it can be flashed directly to your pyboard
using a DFU programmer.
You can enter the DFU bootloader on the pyboard by executing
machine.bootloader() at the MicroPython REPL.
Alternatively, connect 3V3 with BOOT0 and reset the board.
For information about DFU programming on Windows see
For Linux and Mac see