Fork me on GitHub

eFirmata

Connecting the real world to the digital world.

Introduction

Compatable Hardware:

Protocols:

Example Projects:

Compiler

Installing the Binary

About / Credits / Contact

Installing the Binary

mbed

mbed is the easiest: when you connect the USB cable, the mbed shows up as a USB thumb drive. Simply copy the .bin file into that USB drive, then sync and remount the drive (on a Mac, you "eject device" or drag it to the trashcan...) and then reset the board.

(I always have a single .bin file on the mbed. I've never seen what happens when there's two .bin files.)

LPCXpresso 1769 (from NXP)

There are three approaches that I know of:

The built-in JTAG programmer

This is the board that I chopped off. But surely it works with the "Code Red" compiler that they provide. (I absolutely wanted GCC and a plain, old makefile, so I do not use this method.)

ISP -- program over the serial port

For now, this is the method that I usually use. There's already a software package out there: http://lpc21isp.sourceforge.net/

To use the lpc21isp: You'll need two buttons wired to your LPCXpresso1769: p2.10 and reset. Both of these buttons are active-low. Press and hold p2.10, and then press (and release) reset. (ie: you're using p2.10 like a "shift" key to modify the reset button). When you do this, the chip goes into "ISP" state. You'll need a serial port connected to p0.2 and p0.3. When you're in the ISP state, the lpc21isp software can upload a new image.

JTAG

Using openOCD, you can control the JTAG port directly. There's a configuration available at https://github.com/alvarop/openOCD.

This method mostly works, but it's still got some bugs. (If you want to help out alvarop, I'm sure he'd appreciate it.) This is the approach that I want to use in the future. If I have some time, I hope to improve upon alvarop's configuration.