Roughly a year ago we have expressed our interest in ARM based micro controllers and a concern in shortage of devboards of these to order. After doing a couple of projects on our cheapo-pro made boards I’ve stumbled on lack of some features I want and I ran out of my boards. I wanted an ARM devboard tailored for my purposes. So, what does one do in such circumstances in our open hardware world of freedom? Roll your own of course! After a week long routing and 5 months wait for the customs and post offices to resolve ė in my name, today I’ve accidentally met the postman and saved myself a trip to a post office:
So, the devboard is based on LPC1343 Reference Design by Microbuilder and the main differences are:
- USB connection header is added in order to facilitate adding an external case mounted USB connector that is placed far away from the board
- RESET pin is in a breakout in order to allow putting a reset button on the device case
- non-usb power is connected via screw terminals
- eeprom in SO8 package is used as it’s more common
- separate power header is added to export regulated and incoming voltages to daughter boards
- most of 3.3 V and GND connections removed from breakout as it encourages ground loops, GND connections are left near communication pins (SPI, I2C, RXTX) for easier prototyping, 3.3 V connection is left near ADC inputs as it’s handy to limit ADC input to 3.3 V by adding a diode
- all UART pins except RX and TX are reclaimed for other purposes
- more ADC pins added
- onboard LED pin is added to header
- JTAG connector removed and it’s pins reclaimed for GPIO/ADC (I don’t have a JTAG programmer currently)
- an effort has been made to not to route digital lines under ADC lines in order to achieve ADC performance that sucks less
I wanted myself a board that I could use in projects I do and leave it there, the board should be big enough to support expansion “shields” and it had to be easy to put the board into random box that has all connectors mounted - I didn’t like the idea of exposing on-board mini-USB connector to hostile outside world, neither I liked the idea of 2.5mm power jack. I like to connect analog and digital grounds at power supply, hence the single power export to daughter boards.
The eagle files are available on my github: https://github.com/Miceuz/CatNip. The board is compatible with original firmware library by Microbuilder, but you also can check my own fork: https://github.com/Miceuz/LPC1343CodeBase
In general, what I like most about this design is that LPC1343 micro has USB 2.0 hardware inside and together with eeprom chip onboard, it let’s you perform configuration of your device “in the field”. Microbuilder has started a good initiative by writing an easy and flexible command line framework, so a standard blinky example comes with a command line interface that you can access by virtual serial port. I’m working on adding various peripheral functions like ADC, SPI, PWM, I2C to the command line so it has some resemblance to bus pirate for free. Another thing - it has internal boot loader by NXP, that makes the chip to appear as a mass storage device in programming mode - you just copy your new firmware and reset the chip - no external programmer hardware is required. On compiling side - GNU development environment is available. Oh, BTW, did I mention that you can find LPC1343 for cheaper than ATMEGA328?
I have parts and PCBs for 10 boards and currently have no intention to sell them. The price I was able to achieve is $12.20 per board on this small run, so if someone would like to get one for $25 or so, ping me or get ir from tindie.com, I might do another run. But you can hardly beat TI stellaris launchpad for five bucks and free shipping…