Spark Core in the classroom

Hi all,

I’ve been teaching an IoT course based on electric imp hardware - but I’ve had my eye on Spark Core and I think it is time to switch. However, I am having trouble getting my head around the process of claiming a core and how this would be managed in a class environment.

From my understanding, a Spark Core cannot be claimed if someone has already claimed it. If I have a class set of Spark Cores what would be the best way to share access to these amongst the various class groups that I teach? I can think of two possible approaches, neither are ideal.

  1. Students create their own account on and claim a core at the start of each class. At the end of each class they MUST remember to remove the core from their account or that device will no longer work with other classes.

  2. I create an account with and give all students access to this account. All devices will stay associated to this account however students will not have a private/personal place to develop their own code.

Is there a third, better option?


1 Like

Currently no, there is not. However, we may be able to workout an agreement for fast-tracking the unclaiming process for certain core IDs. Calling @Dave, perhaps you can chime in?

edit: Yes we have two things coming:

1.) a streamlined process to resolve conflicts on claimed devices
2.) a much improved, more flexible process for manging ownership, and more easily sharing devices


(incepted your post!)

We did that during a hackathon in Singapore and issued the username and passwords to the participants.

It’s better than way somehow instead of getting everyone to create new accounts and claim/unclaim each time :wink:

Thanks for the prompt response.

I can understand the logic behind the current claiming process however it makes sharing Spark Cores quite difficult.
From my perspective what would be ideal would be two levels of ownership. A base level that can only be un-claimed by the person who initially claimed the core (or by Spark) and a general user level that can be reset back to the base level (either through the API or via button press). Alternatively, being able to free specific cores could also work - i.e. make them claimable regardless of their current status.

Ideally, in the class room, I would like students to pick up a core at the start of the class, plug it into their computer, log into their own account at Spark and claim the core (maybe via the API by typing in the Device ID).

We are also looking into running our own server for in-class development, perhaps this also affects my options?

Maybe another option could be to use a private cloud.

I’ve installed a running cloud system yesterday within a few hours on my MacBook.

I thinks its better for education because you can issue default username/passwords with every core (like student01 student02 etc.). If a student wants to use there own core, they can just buy a “real” one.

I’m not sure how complex it is to use a local tool chain to compile the binary? Uploading the binary to a core is very easy in a private cloud using the spark-cli tool (also for different users).

So the main problem should be the compilation step.

Hey all,

I answered this here, but I wanted to link to it in case people were searching: