Mbed NXP LPC1768 Microcontroller

The ARM mbed NXP LPC1768 Development Board is a powerful and versatile platform for developing embedded systems. In this post, we'll explore its key features, architecture, and applications, providing insights into why this board is an excellent choice for both beginners and seasoned engineers.


Key Features


NXP LPC1768 MCU

At the heart of the development board is the NXP LPC1768 microcontroller unit (MCU), which is based on the high-performance ARM® Cortex™-M3 core. This architecture is designed to deliver efficient processing power with low energy consumption, making it ideal for embedded applications.


ARM Architecture

The term ARM stands for Advanced RISC Machine, where RISC refers to Reduced Instruction Set Computer. This architecture utilizes a small, highly optimized set of instructions to improve performance and efficiency. The Cortex-M3 core is particularly known for its speed and efficiency, operating at CPU frequencies of up to 100 MHz.


Memory and Storage

The LPC1768 is equipped with 32KB of RAM and 512KB of Flash Memory. This ample memory allows developers to run complex applications and store significant amounts of data, making it suitable for various projects.


Prototyping Form-Factor

Designed with a prototyping form-factor, the LPC1768 board features a 40-pin Dual In-line Package (DIP) layout, measuring 54x26mm. This compact design simplifies integration into projects and facilitates easy connections to other components.


Power Supply Options

The board can be powered via a 5V USB connection or through a supply range of 4.5-9V. This versatility in power supply options makes it convenient for a variety of applications.


Built-in USB Drag 'n' Drop FLASH Programmer

One of the standout features of the LPC1768 is its built-in USB drag 'n' drop FLASH programmer. This user-friendly feature allows developers to easily upload their code to the board without needing additional programming hardware, streamlining the development process.


Development Environment

The mbed.org developer website offers a rich ecosystem for software development. With a lightweight online compiler, developers can write high-level C/C++ code to create applications quickly. The platform also features a cookbook of published libraries and projects, providing a wealth of resources to kickstart new ideas.


Applications

The versatility of the ARM mbed NXP LPC1768 makes it suitable for a wide range of applications, including:

  • IoT Devices: Its efficient processing and connectivity options make it ideal for Internet of Things (IoT) applications.
  • Robotics: The board’s processing power and flexibility allow for the development of advanced robotic systems.
  • Wearable Technology: With its low power consumption, the LPC1768 can be used in wearable devices that require efficient battery usage.
  • Prototyping: Engineers can quickly prototype and test new ideas before moving to production.

Mbed LPC1768 Pinout

Mbed LPC1768 Pinout

The above diagram illustrates the complete pinout of the ARM mbed LPC1768 board. It details the various interfaces and their corresponding locations. Notably, all numbered pins (p5-p30) can be utilized as either DigitalIn (Digital Input) or DigitalOut (Digital Output) interfaces.


Key Pin Functions

  • Vin: Provides a +5 Volt, 100mA external power supply to the mbed board and external circuits powered through the microcontroller.

  • Vb: Battery backup input for the Real-Time Clock (RTC), operating between 1.8V and 3.3V at 30µA.

  • nR: Active-low reset pin, functioning similarly to the reset button. The board includes a pull-up resistor, allowing it to be driven with an open collector.

  • IF+/-: Reserved for future use.


Communication Interfaces

The LPC1768 offers a variety of interfaces, including Ethernet, USB (Host and Device), CAN, SPI, I2C, ADC, DAC, PWM, and other I/O interfaces.


USB

The board features a USB 2.0 full-speed device/Host/OTG controller, complete with a dedicated DMA controller and on-chip PHY for device, host, and OTG functions.


UART

There are three UART (Universal Asynchronous Receiver Transmitter) interfaces available. UART is commonly used for serial communication between devices, employing two wires (Rx and Tx). Many electronic devices such as GSM, GPS, and Bluetooth modules utilize UART communication at various baud rates, including 9600, 14400, and 19200.


SPI

The board supports two SPI (Serial Peripheral Interface) interfaces (SPI0 and SPI1). SPI is a serial communication protocol that uses four wires:

  • MOSI (Master Out Slave In)
  • MISO (Master In Slave Out)
  • SCK (Serial Clock)
  • SS (Slave Select)

This protocol is commonly used for communicating with devices like digital displays, ADC chips, and SD cards.


I2C

Two I2C (Inter-Integrated Circuit) interfaces (I2C0 and I2C1) are provided. I2C is a 2-wire protocol utilizing:

  • SDA (Serial Data)
  • SCL (Serial Clock)

This interface is typically used for communication with devices like magnetometers and gyroscopes.


Timers and PWM

The LPC1768 features four 32-bit timers (Timer0 to Timer4) that are essential for generating precise delays, input capture, and waveform generation.

Additionally, it offers up to six PWM (Pulse Width Modulation) outputs, which can either be single-edge controlled (6 outputs) or double-edge controlled (3 outputs). This functionality is particularly useful for controlling motor speeds.


Real-Time Clock (RTC)

An integrated RTC allows for clock and calendar maintenance. It includes various counter registers to track clock ticks, ensuring accurate timekeeping. The RTC also features alarm functionality, with separate registers dedicated to alarm settings.


ADC and DAC

The board includes a six-channel, 12-bit ADC (AD0 to AD5) for processing analog signals. This capability enables the reading of signals from various sensors, such as temperature and humidity sensors.

Additionally, a built-in 10-bit DAC (Digital-to-Analog Converter) is available for generating analog signals, which can be useful in audio and video applications.


Conclusion

The ARM mbed NXP LPC1768 Development Board stands out as a powerful and flexible platform for embedded systems development. Its architecture, based on the efficient ARM Cortex-M3 core, provides a robust environment for a wide range of applications, from Internet of Things (IoT) devices to advanced robotics. The ample memory and versatile power supply options further enhance its usability, enabling developers to create complex applications with ease.

The board's user-friendly features, such as the built-in USB drag 'n' drop FLASH programmer, simplify the development process, allowing engineers to focus on innovation rather than technical barriers. Coupled with the comprehensive development ecosystem available at mbed.org, which includes a lightweight online compiler and a wealth of libraries, the LPC1768 is well-equipped to support both novice and experienced developers.

Moreover, the extensive communication interfaces—including UART, SPI, I2C, and USB—make it suitable for interfacing with various peripherals and sensors, facilitating seamless integration into diverse projects. The inclusion of multiple timers, PWM outputs, an integrated real-time clock, and both ADC and DAC capabilities further empowers developers to implement sophisticated functionalities.


References

[1] “mbed LPC1768 | Mbed.” Accessed: Oct. 30, 2024. [Online]. Available: https://os.mbed.com/platforms/mbed-LPC1768/

[2] “ARM MBED Board (LPC1768) | MBED.” Accessed: Oct. 30, 2024. [Online]. Available: https://www.electronicwings.com/mbed/arm-mbed-board-lpc1768