Reprogramming part

Could someone please test my understanding? Could the internal guts of the system be reprogrammed to put something inside this awesome little hardware platform other than what spark provides? For instance, I have a need for an inexpensive GP microcontroller with WiFi for many different applications. This thing is PERFECT? Is it just a matter of reprogramming the Cortex-M3 (great choice BTW) and going from there? I’m a long-time low- and high-level systems programmer, used to building systems w/o OS’s and doing pretty much everything myself. So I could see putting something small on this and going to town.


Hi @mgssnr - the Spark Core is open source and reprogrammable down to the bare metal, so you can do with it whatever you’d like!

@zach thank you… I thought that was the idea! Great! And thanks! I can’t wait to get mine! At sometime in the future, if it comes to be, can we talk about a bulk purchase?

Of course; email me at zach at sparkdevices dot com whenever you want to discuss :smiley:

Is there a guild to programming new devices built from scratch? I’ve only programmed ATMEL chips. What’s the process for Cortex? Also, where is the software listed? Thanks.

This will be documented when we release the firmware, but basically you’ll need a JTAG programmer - an ST-Link/V2 is a good one, or an Olimex OpenOCD programmer. Process is similar to with an Atmel chip, but different commands, which we’ll document.

does that mean we can program it using c/c++ (e.g. wiring libraries) without using any of the json/web ide stuff?

if so, how will that work - over usb like regular arduino’s or some sort of wifi upload?

will there be any serial comms over usb or gpio for debugging, i’m just thinking i won’t always have wifi access - as the cc3000 can’t do AP mode, it will always need a router to talk to just one pc, a cable would be easier :smiley:

The Olimex STM32-P103 board is great for kickstarting this method of development.

Yep you can program it with c/c++/wiring without the web IDE in two ways:

  1. You can use our command-line tool to initiate over-the-air firmware updates with software on your machine locally

  2. You can use our command-line tool to flash the Core over USB

Eventually we would like to have set-ups for common IDEs like Eclipse and Sublime Text, but not sure what the timeline is for these. Hopefully this will be something that the community can help generate.

As for serial comms, yes - we’ll have Serial over USB, just like an Arduino.

@zach - cli tool sounds great. when you say firmware, what is that - some sort of bootloader plus an elf binary of whatever code we put on there (like an arduino hex file)?

i assume we can put anything on there from armv7 assembler to c/c++ compiled using gcc-arm (within limits of the hardware)?

will you have any tutorials on how to get arduino libraries running on the smartcore for instance? i expect that to be a popular use for the sparkcore and assume it can’t run Due code unmodified.

@chibuk - the olimex board sounds a bit like overkill just for getting some code running on an arm chip.

@sej7278 yep firmware = your own binary file. Yes, you can put anything on there, our preferred compiler is arm-none-eabi-gcc. It’s an ARM Cortex M3, not an ARMv7.

We will be releasing our own libraries that include our own port of Arduino/Wiring and those will be included by default when you use our command-line tool. This is the same process that happens through the web IDE, but with the web version, the software is compiled in the cloud rather than on your local machine.


isn’t cortex m3 ARMv7-M instruction set? the chip is an STM32F103 isn’t it?

the arm-none-eabi-gcc target makes sense for bare metal, thanks for the info.

oh one last thing, i assume you’ll continue to knock these out as a company and won’t just be doing the one production run just for kickstarter?

sorry, my bad - yes, you’re correct, it’s ARMv7-M. I assumed you were referring to ARMv7-A.

yes we will be continuing to produce Spark Cores after the Kickstarter campaign, for sale on our own website and through a few distributors that we’re currently in discussion with.

ah, hopefully a few in the uk - cpc/farnell perhaps, they currently sell raspberry pi, beaglebone etc.

1 Like

yep, we’re working on that :slight_smile:

When are these tools being release?
If they’re already released, how do I get them so I can get started before my Cores arrive???

Coming soon; we’ll release everything on delivery day, currently scheduled for Nov 18!

1 Like

Does that include the docs that describe the SPI communications to the CC3000? I can’t seem to find those…

If you can keep the schedule to 18th - that’s my birthday - it will be a good present. You know it makes sense! :slight_smile:

Have a look at

I have complete a port with multi-threaded use of the cc3000

1 Like