Bluz DK is the main development board. It contains an ARM Cortex-M0 that runs at 16MHz, 32K Ram, 256K Flash, and a load of hardware peripherals (UART, SPI, I2C, etc.)
Bluz is also outfitted with 2Mb (256KB) external SPI flash. This is used to store backup firmware, system flags, and to download new over the air firmware images.
And, of course, it contains the Bluetooth LE radio and stack, giving bluz it's power-sipping wireless performance.
The following are the major components on bluz along with their purpose:
- External SPI Flash: Used to store ID, keys, factory reset firmware, and OTA updates when they are downloaded.
- RGB LED: Used to indicate status codes to the user about the state of the software.
- Setup Button: Used to enter setup mode in the bootloader. Available to the user in their application.
- Linear Regulator: 3.7V to 6.0V input to 3.3V output, provides regulated power to the board.
- Reset Button: Will reboot bluz.
- nrf51822 Module: Contains the nrf51822 along with the antenna.
- Nordic Semiconductor nRF51822 SoC
- ARM Cortex M0, 16MHz
- 32KB RAM, 256KB FLASH
- Bluetooth LE 4.1
- 10 bit ADC
- 256KB External FLASH
- 3.0V-6V (3.3V compatible)
- Connected/Standby: 60uA
- Transmitting Max: 18mA
Typical Range (subject to environment):
- Indoors: 60-100 feet
- Outdoors: 150-200 feet
- Spark Web IDE
- Wiring (same as Arduino)
- Native C/C++ Programming
- GCC ARM
- Assembly (if you're that bold)
- Spark Connected
- IFTTT Integrated
- IPv6 Support
- Remote programmable through Spark Cloud
- Control via REST API
Differences between bluz and the Core/Photon
Bluz is meant to have the same footprint as the Core/Photon, therefore it can be used with existing shields and accessories. However, there are a few notable differences:
- A6 and A7 cannot read analog data even though they are still labeled A6 and A7 (which was done for compatible code). There simple weren't enough ADC pins on the nrf51.
- The ADC on bluz is 10-bit, while it is 12-bit on the Photon. This means a value of 0-1023 will be returned instead of 0-4095. This may require code or math changes for libraries or devices that use the ADC.
- The pin between RST and GND is used here for SWD programming. On the Photon, this is VBAT while on the Core it is 3.3V*.
- PWM is not limited to specific pins, however it can only be enabled on 4 at a time.
- The RGB LED does not "breathe", it blinks. There simply aren't enough PWM capable pins (there would have only been one left for the user).
- While the defaults for SPI, UART, and I2C are the same as the Core/Photon, they can be reconfigured to any pins.
- Total current draw across all pins should not exceed 15mA.
- There is no USB connector, all programming must be done wirelessly, or alternatively through UART, and the device must be powered directly to the pins.