Electronic – Building a circuit with LPC1343

armcortex-m3microcontroller

Have people here used the LPC1343 Cortex-M3 chip?

I've built a few small circuits with PIC microcontrollers before but now I'm using an LPC1243 Cortex-3/ARM. I've been using an LPCXpresso prototype board which has worked very nicely but I want to build a proper PCB now for my circuit. I'm finding this chip a lot nicer to work with in software than PICs (Which i also like!)

With the PICs my experience was that it was easy to forget something when building the hardware. For example a pin needed pulling low to disable low voltage programming on some pics or the chip wasn't programmable.

My circuit is simply a 18×2 line LCD module connected to the chip which gets its input from a PC connected via a USB HID interface. I have it all working on the prototype board / breadboard.

On the LPC1343 I plan to connect

  • The power supply pins to power and decoupling capacitors
  • The 12 MHZ crystal and capacitors.
  • The 6 I/O pins I need to drive my hardware (An LCD module)
  • The USB pins to a USB port via resistors and a pull up resistor
  • Switches on the reset pin and the pin that enables the internal USB bootloader

And that's all.
My question is, are there any other pins I need to connect? It's important that I keep this as simple as possible as it's my first "hobby" project with the chip and frankly it's going to be hard enough to solder it without adding extra complexity (But I'm confident I can do it!)

I guess I should post a schematic really, but have I missed anything obvious?

Best Answer

A debug LED (You can convert it into a watchdog blinky later to verify that your main loop/1ms interrupt or whatever you're using is still running) is something that I would consider pretty mandatory for an exploratory board. Hello World on your new PCB does not need to be as complex as an LCD. You could repurpose a backlight controlling MOSFET for this purpose if you don't want to add the real components.

I'm assuming you're giving yourself some form of breakout for your extra pins - An LCD screen is great, and I understand the desire to keep it simple, but there's little that can go wrong simply by adding a trace to nowhere, and nowhere can become somewhere someday. Even if you don't want to add real headers, some test points (in the form of staggered rows of .05x.1" copper pads) will let you solder and hot glue some wires on later. This doesn't have to be a big deal. I'd put some jumpers/resistors on those lines, so you can add some 1k resistors to protect your pins from being shorted or hit with ESD if you decide to do so. This also gives you the ability to pull any of your other pins high or low if later you find this is necessary!

One thing that I do on a first board is add a lot of vias. Vias are your friends when making modifications (assuming you're getting this done at a PCB house and don't have to drill them yourself). If you've got two vias on every trace, even if you don't change sides with your trace, you can cut the trace later with an Xacto and run 30-ga wire wrap wire between the traces that need to be swapped (Make sure your vias are big enough for this, though). You can also add 0805 0-ohm jumpers (solder bridges are cheap; you don't need to buy components) and solder wires to the pads later if you don't like the via method. Probably won't be necessary, but it's cheap/free insurance.

Oh, and connect the LCD/USB setup first, then tack wires on temporarily from your working breadboard to make sure that the externals are working.