9
\$\begingroup\$

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 18x2 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?

\$\endgroup\$
3
\$\begingroup\$

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.

\$\endgroup\$
  • \$\begingroup\$ Thanks for the comprehensive answer. After all this I've decided that I can't solder the chip so instead I'll buy something like this olimex.com/dev/lpc-p1343.html . Which frankly only costs about, or even less than what it would cost me to make my own board anyway. \$\endgroup\$ – John Burton Jul 12 '10 at 8:36
  • 1
    \$\begingroup\$ Twenty bucks for that dev board!?!?!? Yes, go with the dev board all the way! \$\endgroup\$ – Kevin Vermeer Jul 12 '10 at 16:36
3
\$\begingroup\$

I would add a debug connector, so that you can use the LPCXpresso for debugging your code. Adding it is quite trivial, but will make the system much easier to use.

\$\endgroup\$
  • \$\begingroup\$ Good idea. Although I can debug my code on the prototype board I have so hopefully it won't need any debugging :) I'm mostly worried I'll miss some pin that needs to be set high / low or something \$\endgroup\$ – John Burton Jul 9 '10 at 19:17
2
\$\begingroup\$

You do have the schematics for your proto/devkit boards? They're of course worth looking at to see what they've connected and where. But they won't tell the full story.

\$\endgroup\$
0
\$\begingroup\$

I would break out the USB pins - when you want to put your finished project into enclosure, you have to make your board positioned near the edge to make USB connector accessible from outside. You might want to put separate USB connector on the case and connect it to the board via cable.

Think of the power - will your board get the power and redistribute it to peripherals or will it get it from outside exclusively?

Think about 5V compatibility - will your peripherals work on 3.3V or will they need 5V? Might worth adding some voltage conversion scheme atleast for some pins.

Buffering - somewhat related to voltage compatibility - will you be driving something on raher long cable? If yes, you might want to put in some buffer ic's that could work as voltage converters too.

I'm working with microbuilder reference design board http://www.microbuilder.eu/projects/LPC1343ReferenceDesign/ and these are my points from the experience with it.

BTW, it has a nice one push button feature for entering programming mode, but be aware that you need a voltage monitor chip for it to work nicely, othervise it will enter programming mode every time you plug in the cable (which might be ok actually)

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.