Review: mbed NXP LPC1768 - Page 1
Forum section: electronics / general

author: NiHaoMike
author_rank: Super Contributor
timestamp: October 06, 2010, 05:00:57 am
content: The mbed is an interesting board to play with. It took only minutes to write my first program using the online development environment. (Just for fun, I had it flash "Tiffany Yep" in binary on its 4 LEDs. My first program for it had to be special!)Good:* Easy to set up.* 96MHz of CPU that fits on a breadboard.* The Ethernet port is actually 100Mbit.* Very flexible I/OBad:* USB is only 1.1.* No official support for standalone compiler.* Not all I/Os on chip are usable.* On mine, the USB port is poorly soldered.* Poor documentation.* 512kB Flash and 64kB RAM is very limited.* Inefficient linear regulators.I haven't got to play with most of its features, but here's what I figured out:* To use the Ethernet port, connect a 0.1uF capacitor in series with each of the 4 Ethernet I/Os (one per line), then connect them to the RJ45. Ground the other 4 RJ45 pins unless you're using PoE.* The IF+/- are connected in parallel with the USB port.I'm planning to use it for my ECEN 489 networking class project. I'm thinking something exotic like a network-connected oscilloscope, logic analyzer, or spectrum analyzer.

author: Zad
author_rank: Super Contributor
timestamp: October 06, 2010, 06:24:25 pm
content: Quote from: NiHaoMike on October 06, 2010, 05:00:57 amLimited? You would have hated programming in the 1980s and 1990s then! This isn't a Windows machine which has huge library overheads and tons of graphics and sound.Linear regs are often MORE efficient than switching regs on low power systems. Switching regs require a certain baseload current to operate, and draw an amount of power themselves to operate the switcher. Linear regs scale with the load (and of course voltage drop). Don't forget that an ARM core draws in the sub-milliamp region when not driving LEDs etc.

author: Time
author_rank: Frequent Contributor
timestamp: October 06, 2010, 06:27:06 pm
content: pictures?

author: allanw
author_rank: Frequent Contributor
timestamp: October 06, 2010, 07:19:09 pm
content: I don't understand all the Tiffany Yep references.

author: Time
author_rank: Frequent Contributor
timestamp: October 06, 2010, 07:20:48 pm
content: Its his girlfriend or something. You will just learn to look over it.

author: NiHaoMike
author_rank: Super Contributor
timestamp: October 06, 2010, 08:17:02 pm
content: Quote from: Zad on October 06, 2010, 06:24:25 pmMemory is so cheap nowadays that there's no reason to have just 64kB. I think something like 8MB or so would be more reasonable. Even my old 5G iPod (2x 80MHz ARM) has 32MB.If you're going to run the mbed from a Li-ion battery, you'll need to use a switching power supply if you want to be able to use all of the battery capacity. Even more so for the new fangled LiFePO4 batteries. They should have designed it so it can be powered from an external 3.3V regulator without any modifications. It looks like it has two 3.3V regulators on board, one for the onboard logic and the other for 3.3V power output. I think they should have only one 3.3V regulator on board and make the 3.3V pin usable as either an input or output.Quotehttp://mbed.org/handbook/mbed-NXP-LPC1768No need to take it apart, it's supposed to be used on a breadboard.QuoteQuoteI wish. She's my best friend, a digital communications engineer, and a model. (http://www.cacahouston.org/misschinatown2008results.htm) I wish I could be really skinny like her. (I guess it's a little ironic when a power electronics engineer gets jealous of a digital communications engineer...)

author: TheDirty
author_rank: Frequent Contributor
timestamp: October 07, 2010, 02:13:38 am
content: Quote from: NiHaoMike on October 06, 2010, 08:17:02 pmYou're not understanding the target of this microcontroller. This is a Cortex-M3 single chip solution. It's a stripped down ARM, not an ARM9 or even ARM7 with external RAM, which is what your iPOD uses.Don't let the advanced peripherals fool you. The beauty of the CM3 Core is its simplicity, CM0 even more so. If you want 8MB you need to get a more complicated/expensive controller.

author: allanw
author_rank: Frequent Contributor
timestamp: October 07, 2010, 02:14:51 am
content: I think those ARM chips with large amounts of flash or RAM included are chip stacks which are definitely more expensive.

author: NiHaoMike
author_rank: Super Contributor
timestamp: October 08, 2010, 02:59:16 am
content: I just remembered that a cheap Bluetooth headset I took apart used a tiny switching regulator to step down a Li-ion battery to 1.8V. It obviously must be significantly more efficient than a linear regulator even at those really low power levels, since they would otherwise have used a cheap linear regulator.

author: Hypernova
author_rank: Unknown
timestamp: October 08, 2010, 05:13:51 am
content: Quote from: NiHaoMike on October 06, 2010, 08:17:02 pm*an 8KB AVR user strolls by...*

author: NiHaoMike
author_rank: Super Contributor
timestamp: October 08, 2010, 05:44:12 am
content: 64kB seems way too little for a chip that has a 96MHz CPU and Ethernet. It's plenty for an ultra low cost microcontroller. The mbed is not one of those. Especially since Ethernet was never designed for very low power and many network applications are just asking for more memory.

author: TheDirty
author_rank: Frequent Contributor
timestamp: October 08, 2010, 12:43:32 pm
content: Quote from: NiHaoMike on October 08, 2010, 05:44:12 amYes, low power is a requirement of some embedded ethernet applications. I'm not certain what ethernet applications you have in mind, but remote monitoring, reporting, and control applications need very little flash/RAM. I'm not even certain what application you have in mind that would need more than 512KB/64KB of flash/RAM. Anything that needs more than that, you might as well just get an actual Nano or Pico server. Something that runs embedded linux or full linux. If people can put a HTTP/FTP server on 32KB flash, 512KB is enormous.If it doesn't fit your requirements, move on to an ARM chip that does. It fits other applications requirements. With the Cortex-M chips cost is one of the main factors and an external RAM bus would increase cost and complexity which just overlaps with what other ARM chips already offer.

author: Unknown
author_rank: Unknown
timestamp: October 08, 2010, 01:40:52 pm
content: Quote from: NiHaoMike on October 08, 2010, 05:44:12 amI don't see the problem. People are doing TCP/IP with 2k of RAM, why would it be an issue with 64kB? MTU is usually 1500 bytes. Of course you won't be building a high-traffic webserver with this, but since the trend is ethernet connectivity for every single piece of equipment, I think ethernet connectivity on small 32-bit micro's is very useful. You don't need much RAM for basic TCP/IP control / monitoring.This ARM Cortex M series is intended as a step-up from the 8/16-bit micro's, which are usually well below 64kB of RAM (512bytes - 8kB or so), and obviously not for something like a set-top box. It's not like there isn't enough choice of Cortex A8/A9 and ARM11 chips already, which can support tons of RAM and have much faster performance. But I'm quite sure these cost more than $7/each in 1k qty, especially if you include external RAM. For example, the cheapest Freescale ARM11 is $12 in 100 qty (price breaks don't go higher), plus the price of external RAM. And it's a BGA package, so good luck prototyping in your home lab.What alternative for the LPC1768 would you suggest with similar price and features, but much more RAM?

author: NiHaoMike
author_rank: Super Contributor
timestamp: October 08, 2010, 02:26:38 pm
content: My friend Brittany Benzaia does a lot of work on OpenWRT routers and APs and she thinks 8MB is small. Some of those routers are as little as $10 retail.Back when the mbed was $100, the Gumstix boards and the Beagleboard seemed to offer much more features for just a little higher price. But now that it's $60, the higher end boards are in a totally different category.

author: GeoffS
author_rank: Unknown
timestamp: October 08, 2010, 02:33:35 pm
content: I'm currently using PICs for small projects but was considering an upgrade to a Beagleboard.I still like the idea of being able to run Linux but at less than half the prices of the Beagleboard, it may be worth getting an mbed just to play around - and hopefully learn something.

author: Unknown
author_rank: Unknown
timestamp: October 08, 2010, 03:03:54 pm
content: Quote from: NiHaoMike on October 08, 2010, 02:26:38 pmBut these run something like Linux, which is a different class. I wouldn't use an ARM M3 to route 100MBit/s or run Linux either. $10 is probably old stock, even the ones with less RAM/flash, which can't even run Linux (2MB flash or so), are like $25 here. Plus they are sold in much larger quantities.Quote from: NiHaoMike on October 08, 2010, 02:26:38 pmYes, the mbed is not particularly cheap, but I see it as a development board for prototyping. I would just stick an LPC17xx on the board for production work, and they're pretty cheap. A higher-end micro with external memory would be more expensive in similar quantities, and would be harder to route (four layer is probably mandatory).

author: TheDirty
author_rank: Frequent Contributor
timestamp: October 08, 2010, 03:40:33 pm
content: Ya, there seems to be a disconnect as to what the MBed is about. It's just a low quantity hobby development board for the LPC1768. It doesn't even have a JTAG header, which makes it unusable for professional development. The LPC1768 is not going into any routers, it's not meant for that in any way. The reason routers are cheap is because they are mass quantity consumer items. 512KB/64KB is actually the top of the line LPC17xx chip and I can't imagine a lot of the embedded ethernet applications that this chip is meant for will be using the 512KB/64KB part. Most likely the 128KB or even the 32KB part will be more in demand. It's really supposed to be an end point device.

author: NiHaoMike
author_rank: Super Contributor
timestamp: October 08, 2010, 07:16:51 pm
content: It has Ethernet and I2S, so some applications could be a networked music player. But with only 64kB of onboard RAM, it would require external RAM for the audio buffer.It actually takes very little CPU to run an AP. As a layer 2 device, all the CPU does is keep track of MAC addresses and configure the hardware. The CPU in most modern switches is about the same level as a PIC. Routing does take a fair amount of CPU, especially if you do stateful packet inspection. A 96MHz ARM would be just barely enough for a typical broadband connection, so it would not be a good choice for a router. But it would have no problem acting as a bridge in an AP.QuoteThe mbed does not need a JTAG connector since the USB interface chip does the JTAGing. That obviously won't work if you want to program a standalone LPC17xx chip, but maybe you can use a mbed to program blank LPC17xx chips just like an Arduino can be used to program blank AVRs by using the existing processor to emulate a JTAG. Or even use a mbed or Arduino as a JTAG interface for a totally different platform... (Repair a bricked PC motherboard with an Arduino?)

author: NiHaoMike
author_rank: Super Contributor
timestamp: October 11, 2010, 02:27:05 am
content: http://mbed.org/forum/mbed/topic/1138/QuoteI think that's a pretty major design oversight. One of the reasons to use a faster processor is faster I/O. Indeed, if it weren't for that problem, the mbed would have made a nice low end oscilloscope with the addition of an ADC and analog front end.