Moving mbeds between user accounts

22 Jul 2010

Hi,

We're a university research group evaluating the mbed for use in a course. We love the fact that the mbed eliminates the steep learning curve involved with getting embedded systems up and running. However, we only just realized the limitation in licensing - one mbed, one user/compiler account.

 

I'd like to ask if there is a way to dissociate mbeds from accounts or just delete the account and make the mbed like new. We would like to hand out mbeds in class; students would create account for themselves and develop code in their own account. At the end of the course, we take the mbeds back and dissociate mbeds from their accounts (deleting their accounts if need be) so that we can hand the same mbeds out in the next course offering.

 

Is this something that is possible currently ? Or something that can be supported ? We would love to use them.

 

Thanks,

 

Zainul Charbiwala

Networked and Embedded Systems Lab

University of California, Los Angeles

-deleted-
22 Jul 2010

Mr. Charbiwala,

I am also big fan of mbed in terms of learning curve, and have noticed others asking this same question.  I can't remember the exact response from the mbed team, but I think there are probably some major technical hurdles that make it difficult to implement account resets given the current setup.  What you could do is register each device separately and just give students the account names and passwords.  Then have each student delete their course projects from the accounts at the end of the semester and reset the passwords and email addresses.

I recently was a teaching assistant for a mechatronics course at South Dakota School of Mines & Technology where we used Arduinos and I thought about moving to mbed in the future when the department has the money to upgrade.  I can sympathize with your position but I might also suggest an alternative.

The LPCxpresso IDE is a free Eclipse/GNU based application from Code Red that can be easily configured to generate the *.bin image format used to flash mbed using the magic usb interface.  The IDE is Windows only, but while the debug code size is limited I think the compiler will still generate unlimited output image file sizes.  I was able to successfully run code on the mbed compiled in LPCxpresso by following this general process:

  1. Registered an account (this is still free of cost) and downloaded installer application
  2. Installed LPCxpresso IDE (current version is 3.4) on Windows 7 and activated with account info
  3. Downloaded the NXP CMSIS v1.30 Driver library for LPC17xx and copied the GNU toolchain library files (headers and source) into the CMSIS example project provided with the IDE
  4. Configured the compiler to generate *.bin output files as per the url linked.
  5. Then I copied some LED BLINK code from another Code Red LPC17xx example project and modified the GPIO pin settings to match one of the LEDs on the mbed.
  6. The project compiled and so I drag copied the *.bin file to my mbed, reset, and had blinking led...woohoo!
Furthermore, it would also be possible to include the DSP library from nxp and the mbed library in this setup, although I have not attempt either at this point.  Linking the mbed library in the LPCxpresso IDE might be tricky since it is based on the Keil compiler and not the Code Red GNU/Gcc compiler.  The mbed library is CMSIS based code though so if you use the Code Red startup file it might somehow work.  Depending on what level the course is you may want to be able to show students whats going on with some of the peripheral stuff anyhow so you may or may not want to use the mbed library itself.  The compiled .ar file for the mbed library is in the svn so my next step is to try linking that in the LPCxpresso IDE so I have the option to leverage those functions.
Summary of LPCxpresso development with mbed
Pros
  • Full open source gnu library (C functions)
  • Free IDE without device/account limitations
  • No internet access limitations
  • Can also develop for LPC 11xx, 13xx and 17xx devices and probably Cortex-M4 in the future
Cons
  • Have to install the IDE and figure out how to compile a project correctly
  • No guarantees the mbed library(C++ functions) will work with gnu toolchain(yet)
  • No mbed online compiler awesomeness, project sharing/linking, function references, etc.
  • Steeper learning curve for newbies
I personally have used both compilers depending on what I wanted to do. Overall I think the value of mbed as a learning and prototyping platform outweighs some of the downsides. Hope this helps a bit.
22 Jul 2010

Hi AJ H,

 

Thanks for your great reply and for explaining elaborately the steps you took. I'm sure this is useful for others as well. For the benefit of others in the forum, I might add that the mbed team PMed me in response to my post stating that the "Register with New Signup Code" option has been designed for lab/course environments specifically.

For others who would like to use the mbed in a time-multiplexed fashion (one mbed is still being used by one person/account at any one time, but as students change, this relationship changes), should contact support@mbed.org with a specific request.

 

Thanks to the mbed team for putting together an excellent product.

 

Zainul.