Releases: particle-iot/device-os
Releases · particle-iot/device-os
modular photon firmware - 0.4.1
This is the released v1 modular firmware that you can flash to devices to reset to factory default.
The firmware update can be applied OTA or via DFU.
OTA with the particle-cli
Here's the steps to flash using particle-cli
- download
system-part1.bin
andsystem-part2.bin
- put the device (the photon) in safe mode: hold setup, then tap reset, and release setup when the LED blinks magenta
- the device will connect to the cloud, and flash cyan
- run
particle flash <photonid> system-part1.bin
- when the device reboots, put the device again in safe mode
- run
particle flash <photonid> system-part2.bin
Flashing locally with DFU
It's also possible to flash the firmware update using DFU:
- download
system_pad_BM-09.bin
- put your photon in DFU mode - hold setup, tap reset, and release setup when the LED blinks yellow.
- run
dfu-util -d 2b04:d006 -a 0 -s 0x8020000:leave -D system_pad_BM-09.bin
- An additional optional step is resetting the current firmware and factory backup to tinker. This is done by flashing
- tinker.bin to the user firmware location:
dfu-util -d 2b04:d006 -a 0 -s 0x80A0000 -D tinker.bin
- tinker.bin to the factory reset location:
dfu-util -d 2b04:d006 -a 0 -s 0x80E0000 -D tinker.bin
- tinker.bin to the user firmware location:
Spark firmware v0.3.4
v0.3.4
FEATURES
- Local Build: Specify custom toolchain with
GCC_PREFIX
environment variable (firmware, core-common-lib, core-communication-lib)
ENHANCEMENTS
- Wiring: More efficient and reliable
print(String)
(fix issue #281) #305 - DFU: Add DFU suffix to .bin file #323
BUGFIXES
Spark firmware v0.3.3
Changes
New CHANGELOG.md!
FEATURES
- Cloud: Secure random seed. When the spark does a handshake with the cloud, it receives a random number that is set as a seed for
rand()
- Wiring: Arduino-compatible
random()
andrandomSeed()
functions. #289 - Wiring: Arduino-compatible functions like
isALpha()
andtoLowerCase()
. #293
ENHANCEMENTS
- Wire: added missing Slave mode using DMA/Interrupts and updated Master mode using DMA. New APIs
Wire.setSpeed()
andWire.strechClock()
. #284 - Sleep:
Spark.sleep()
supports wakeup on pin change. #265
BUGFIXES
Spark firmware v0.3.2
spark_9 Tag v0.3.2 as spark_9
Spark firmware v0.3.1
spark_8 Tag v0.3.1 as spark_8
Spark firmware v0.3.0
spark_7 Tagging v0.3.0 as spark_7
Spark firmware v0.2.3
spark_6 Tag v0.2.3 as spark_6
Spark firmware v0.2.2
Changes
- New feature:
Spark.subscribe()
👍 - Time now set by the Cloud when Core handshakes
- EEPROM emulation
tone()
andnoTone()
- Arduino compatibility for constants in flash thanks to Jacob Rosenthal
- Arduino compatibility for generic clients thanks to Jacob Rosenthal
- Bugfix: Don't publish while updating firmware
- Upgraded CC3000 host driver to 1.12
- New patch updated sysflag to support deep update
Spark firmware v0.2.1
Highlights
- OTA reliability improvements
(core-firmware,
core-common-lib,
core-communication-lib) - Allow Spark.publish inside Spark.function
(core-communication-lib) - Add Network.ping() (core-firmware)
- Enable factory reset from firmware (only on new bootloader)
(core-common-lib,
bootloader)
Spark firmware v0.2.0
spark_3 Tagging spark_3