-
Notifications
You must be signed in to change notification settings - Fork 1
Board: Spark Core
Spark's hardware dev kit, the Spark Core, provides everything you need to build a connected product. We combine a powerful ARM Cortex M3 micro-controller with a Wi-Fi module to get you started quickly. The design is open source, so when you're ready to integrate the Core into your product, you can.
Link to product website.
MCU | STM32F103CB |
---|---|
Family | ARM Cortex-M3 |
Vendor | ST Microelectronics |
RAM | 20Kb |
Flash | 128Kb |
Frequency | up to 72MHz (using the on-board 8MHz Oszillator of the ST-Link) |
FPU | yes |
Timers | 10 (9x 16-bit, 1x 32-bit [TIM2]) |
ADCs | 4x 12-bit |
UARTs | 5 |
SPIs | 3 |
I2Cs | 2 |
Vcc | 2.0V - 3.6V |
Datasheet | Datasheet |
Reference Manual | Reference Manual |
Programming Manual | Programming Manual |
Board Manual | Board Manual |
First of all make sure the your spark core device is detected and can be accessed properly. In Linux you might have to adept your udev rules accordingly:
$ cat 50-openmoko.rules
#Bus 001 Device 022: ID 1d50:607f OpenMoko, Inc.
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="607f", \
MODE:="0666", \
SYMLINK+="openmoko_%n"
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.
sudo cp 50-openmoko.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
now replug the usb cable and flash.
To flash RIOT to the spark core you need to install dfu-util
(tested with 0.7 and 0.8).
Power the device and press the the mode
button until the LED flashes yellow/orange: now the device is ready to get flashed.
To run RIOT it is required that you run the newest spark bootloader on your core: from https://community.spark.io/t/replace-core-firmware-with-riot-os/7007/7
Here is the core-firmware branch for this:
https://github.com/spark/core-firmware/tree/bootloader-patch-update1
However care should be taken not to disturb the patch update process by accidentally removing usb power or through reset.
Following is the procedure to update the bootloader-patch
1)cd core-firmware
2)git pull
3)git checkout bootloader-patch-update
4)cd build [No need to run make]
5)Enter usb dfu/bootloader mode => Yellow flashes
6) dfu-util -d 1d50:607f -a 0 -s 0x08005000:leave -D core-firmware.bin
7)Upon execution, the bootloader should be updated within a second or two and normal core-firmware should start executing.
8)Congrats! your core is loaded with latest bootloader without the hassle of going through ST-Link JTAG programming
- clone RIOT-OS
- cd to e.g.
examples/hello_world
- enter
BOARD=spark-core make clean all flash
- RIOT is using the UART PINs on the board, they are labeled as
RT
andTX
. - Connect your TTY to them and
BOARD=spark-core make term
. - In a different terminal enter
BOARD=spark-core make reset
Please refer to this document for RIOTs static pin mapping chosen for this board. This mapping is completely arbitrary, it can be adjusted in boards/spark-core/include/periph_conf.h
RIOT - The friendly Operating System for the Internet of Things
Homepage | [GitHub] (https://github.com/RIOT-OS/) | Developers Mailing List | Users Mailing List | Twitter @RIOT_OS
- Family: ARM
- Board: Airfy Beacon
- Board: Arduino Due
- Board: CC2538DK
- Board: CC2650STK
- Board: HikoB Fox
- Board: IoT LAB M3
- Board: LimiFrog-v1
- Board: mbed_lpc1768
- Board: MSB-IoT
- Board: MSBA2
- Board: Nucleo-L1
- Board: Nucleo-F334
- Board: Nucleo-F303
- Board: Nucleo-F091
- Board: Mulle
- Board: OpenMote
- Board: PCA1000x (nRF51822 Development Kit)
- Board: Phytec phyWAVE-KW22
- Board: RFduino
- Board: SAMR21-xpro
- Board: SAML21-xpro
- Board: Seeeduino Arch-Pro
- Board: Spark Core
- Board: STM32F0discovery
- Board: STM32F3discovery
- Board: STM32F4discovery
- Board: UDOO
- Board: yunjia-nrf51822
- Board: Zolertia remote
- Family: ATmega
- Board: Arduino Mega2560
- Board: Arduino Uno
- Board: Arduino Duemilanove
- Family: MSP430
- Board: MSB-430H
- Board: TelosB
- Board: WSN430
- Board: Zolertia Z1
- Board: eZ430-Chronos
- Family: native
- Board: native
- Family: x86
- Board: Intel Galileo