Drag and drop code onto this ARM dev board

On the continuing list of homebrew ARM dev boards we’ve seen over the past few months, [Squonk42]‘s USBug is one of the best we’ve seen. Like many other ARM boards, it breaks out a member of the Cortex M0/M3 family into a 40-pin DIP, but unlike all the others, [Squonk] designed it so you can drag and drop code onto the microcontroller just like a USB thumb drive.

[Squonk]‘s trick relies on a certain breed of NXP LPC11xx/LPC13xx microcontrollers. These chips feature a ROM-based mass storage, meaning you can compile code on your desktop and simply shuffle it over to the USBug, no external programmer required. Here’s the relevant app note (PDF in a zip file. Double whammy).

Of course, the USBug features the I/O you’d generally expect from the current crop of Cortex-M3 devices, all while serving up 64 kB of Flash and 12 kB of RAM.

[Squonk] says he’d like to put the USBug on Kickstarter, but unfortunately he’s not a US citizen. In the spirit of Open Hardware, perhaps some maker-based electronics manufacturer will pick up where [Squonk] is forced to leave off.

Comments

  1. alexchadwick says:

    “unlike all the others, [Squonk] designed it so you can drag and drop code onto the microcontroller just like a USB thumb drive.” – what!? How about mbed http://mbed.org/ and Galago http://www.kickstarter.com/projects/kuy/galago-make-things-better ?

    • Mike says:

      Squonk didn’t design that feature, NXP designed that feature, you can go buy any LPC134x family microcontroller, slap it on a circuit with the requisite passives for USB, and have it come up as a flash drive on your computer ready to receive a compiled firmware.

      USB bootloader is in ROM you see, burned in straight from the factory.

    • Kuy says:

      Galago doesn’t flash code through the NXP ROM bootloader, it uses the debug interface provided by the Galago’s built-in hardware debugger.

  2. Nick Ryder says:

    How is this unlike other Cortex M0/3 boards? The mbed does this too.

  3. behzat_c says:

    mbed isn’t completely open source hardware.

    • daid303 says:

      With their awesomely bad online compiler, that’s an understatement.

    • Paul says:

      Does a board using a ROM-based closed source bootloader count at open source hardware?

      • Chris says:

        I bet Atmel wouldn’t share the RTL or GDSII files for the ATmega, so maybe even Arduino isn’t properly open source? Where do you draw the line and why?

      • Paul says:

        But the question isn’t HDL for the chip circuits, but source code for the bootloader?

        Is a development board open source hardware when it contains a ROM-based closed source bootloader? It seems a number of products are claiming to be “open source hardware”, with a proprietary ROM-based bootloader. Are they really open source hardwarE?

        It the answer is yes, does the exact same hardware lose its “open source hardware” status if it has a closed source bootloader programmed into memory by someone other than the chip manufactuter?

        • Chris says:

          Okay, so the bootloader code inside the ATMega that enables ISP – that’s in ROM, just the NXP USB bootloader is in ROM.
          The chip manufacturers have to provide some level of bootloading or ISP so that you can get a binary image into the flash. None of them AFAIK publish the source or make the ROM contents public. So maybe nothing is truly open source?

          I’m being petty and pedantic, playing devils advocate, I don’t believe I’m right… But the line has to be drawn somewhere.

      • Paul says:

        The ISP features on Atmel’s chips appears to be a hardware-based state machine. Even if it is implemented with ROM-based instructions executed by the CPU, it certainly isn’t comparable to ROM-based firmware than implements a USB mass storage device using the processor’s USB peripheral.

        Many other chips provide a hardware interface for programming which most certainly is not firmware-based.

        Atmel does ship closed source bootloaders pre-programmed to some of their ATMEGA chips, but most come completely blank. On Arduino Uno, the 8u2 or 16u2 chip comes with a closed source bootloader, which the Arduino people erase and replace with an open source version.

        A chip might contain a close source ROM-based firmware image, but if it’s never used in the normal course of usage, that’s very different than building a development board, and calling it “open source hardware”, which uses that closed source code as the primary method of developing code.

      • Squonk42 says:

        The bootloader is a ROM-based firmware that is automatically brought up at boot time. Depending ons some condtiions (like pin status, code checksum), it presents the device as a mass storage device on USB. Even if Atmel provides some state diagrams of this feature, it is not hardware-based.

        This board is open-hardware, as it provides all the required files need to make your own from scratch, and does not require any special tool to reprogram the chip, as the USB mass-storage specification is public and supported by existing open-source software tools.

  4. niekblankers says:

    He could’ve used indiegogo in stead of kickstarter

  5. Bob says:

    I don’t understand the appeal of this drag & drop style of downloading code. Sure, you save some money on a programmer. But those programmers also support debuggers. Perhaps, as a software engineer, my bugs are more sophisticated than other people’s ( :-) ) but I would reject any development platform without debugging support.

    I haven’t used Arduino, but my impression is that it has no hardware debugging support either.

    ST Microelectronics’ ST-Link programmer/debugger is a whopping $22. I’ll take that any day over having to debug with print statements (especially when most microcontroller projects have no built-in print output).

    • atomsoft says:

      Dude thats exactly what i say but for some reason people just like bugs and errors… Arduino and Other type of devices are awesome when updates are planned… or for a final release to be update-able by end user…

      for the hobbiest and engineer that crap isnt needed.

      The thing is this is still good since ISP is brought out. So you casn still use a programmer/debugger…

      Then if you find a bug in testing or just have a update you can simply drag in the new code…

    • daid303 says:

      Atleast with an Arduino (AVR) you can auto-upload-reset from your make script.

      While you can copy a file to a device, without a way to reset automatic, this is still a step backwards. Because it adds more steps during development cycle, which is more steps you can do wrong or forget.

      mbed boards have the same problem. (And more problems)

      • Squonk42 says:

        The basic Arduino is using an RS232 trick to achieve this.

        The Leonardo, as well as all other USB-only based devices have no way to reset the chip using the USB interface alone.

        At least on this board, it is done so it only requires a single button press both to reset the chip and enter ISP mode.

  6. martin says:

    Kickstarter UK is supposed to open any day now, Autumn 2012, http://www.bbc.co.uk/news/technology-18780184

  7. Chris says:

    The drag and drop programming is really for simplicity, removing the need for drivers, JTAG(SWD) wigglers and the like.

    Full debug is always on the wish list, and this announcement on mbed.org yesterday suggests that it will soon be possible to program/dubug mbed using any tool that supports CMSIS-DAP

    http://mbed.org/blog/entry/mbed-Interface-v20-experiments-Adding-CM/

  8. Mike says:

    Seriously? Forebrain’s been around for over a year now: http://www.universalair.co.uk/control/forebrain not only with drag-and-drop uploading but also a whole easy-to-use library.

  9. Isac says:

    Seem to be a little bit too “inspired” by a similar Embedded Artists board. His questions in the FAQ section are copied basically without modification from Embedded Artists.

    http://www.embeddedartists.com/products/boards/lpc1343_qsb.php

    Bought my LPC1343 board almost two years ago so it’s been around for a while.

  10. hardcorefs says:

    WOW centers of the universe for Whiny bitches.
    Just because Henry Ford produced the *first* mass produced motor car does not mean that innovation along similar lines is nothing new!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 92,391 other followers