ARM LPC2148 is 32-bit processors based on RISC (Reduced Instruction Set Computer) architecture.

ARM7 Basics

Getting started with ARM LPC2148 using Keil uVision IDE

Using Keil µVision IDE to start writing codes for LPC2148

LPC2148 (32-bit ARM7TDMI-S processor) GPIO Ports and Registers

LPC2148 consists of 32+ GPIO (General Purpose Input Output) pins arranged in two ports, that can be configured as either input pins or output pins

ADC (Analog to Digital Converter) in ARM LPC2148

LPC2148 has two 10-bit ADCs inbuilt. These are useful for converting analog signals from sensors or transducer into digital signals

LPC2148 DAC (Digital to Analog Converter)

LPC2148 has an inbuilt DAC. DAC is useful for converting digital signals into analog signals and find use in audio and video applications

LPC2148 I2C

I2C (Inter Integrated Circuit) is a serial interface that uses only 2 wires for low speed communication between I2C devices like Magnetometer, Gyroscope, RTC etc.

PWM in ARM LPC2148

Pulse Width Modulation (PWM) is a technique used to vary the width of the pulse while keeping its frequency constant. It can also be interpreted as varying the duty cycle of the pulse. It is usually used for speed control of motors.

RTC (Real Time Clock) in ARM LPC2148

RTC is Real Time Clock which is used to keep track of current time, day, date and year. It is useful in applications that require time stamps or where decision is to be made based on time

LPC2148 SPI (Serial Peripheral Interface)

SPI (Serial Peripheral Interface) is a Synchronous serial communication protocol. LPC2148 has 2 SPI interfaces. SPI can be used to communicate with other SPI devices such as certain ADCs, SD cards,7-segment displays, EEPROMs etc.

LPC2148 Watchdog Timer

Watchdog Timer is an independent timer which works with the purpose of resetting the microcontroller within a specific amount of time if it enters in an erroneous state. It is the last line of defence for a developer to help the system recover from situations where the system hangs or starts malfunctioning

LPC2148 Timer/Counter

LPC2148 has two timers/counters which can be used to provide/measure the time intervals/delays, capture input signals, generate waveforms etc.

LPC2148 Timer Input Capture Mode

LPC2148 Timers can be used for capturing the external input events/signals like rising edge (positive going) and falling edge (negative going) on the capture pins. It can be used for measuring the frequency of the input signal, its pulse width

LPC2148 Reset/Stop Timer on Compare Match

LPC2148 has feature of comparing specific time value with timer and make decisions like make High/Low/Toggle corresponding match pin when their match occurs


UART (Universal Asynchronous Receiver/Transmitter) is a serial communication protocol. It is used to communicate with PC and devices like GSM module, GPS module, Bluetooth module etc. that support communication using UART protocol

IoT and Wireless

HC-05 Bluetooth Module Interfacing with LPC2148

Bluetooth is a wireless communication protocol used to communicate over short distances. HC-05 Bluetooth module uses serial communication to talk with microcontrollers

TCP Client using SIM900A GPRS and LPC2148

Transmission Control Protocol (TCP) is standard transport layer internet protocol in between server and client. Using SIM900A GPRS module, we can implement TCP server/client over GPRS for IoT applications

HTTP Client using SIM900A GPRS and LPC2148

Hypertext Transfer Protocol (HTTP) is standard application layer protocol in between server and client. Using SIM900A GPRS module, we can implement HTTP server/client over GPRS for IoT applications


LCD 16x2 interfacing with LPC2148 (4-bit mode)

LCD 16x2 is a display with 2 lines of 16 characters. It has a 4-bit mode which can be used to save 4 GPIO pins

LCD 16x2 interfacing with LPC2148 (8-bit mode)

LCD 16x2 is a display with 2 lines of 16 characters. It is used for display parameters in embedded systems

LCD 16x2 custom character display using LPC2148

LCD 16x2 can display user defined characters and symbols. It is used to display status & control parameters in applications


ADXL335 accelerometer interfacing with LPC2148

ADXL335 measures acceleration due to gravity. It is useful for sensing the angle of tilt in applications such as Quadcopter, Gesture detection, gaming applications etc.

DHT11 Sensor Interfacing with ARM LPC2148

Interface single wire DHT11 sensor with ARM LPC2148 and read the values of Temperature and Humidity from DHT11. Display these Temperature and Humidity values on a serial window.

HMC5883L triple axis magnetometer interfacing with LPC2148

HMC5883L is a triple axis magnetometer IC developed by Honeywell. It can be used to find heading direction like a compass. Magnetometer finds applications as a compass in mobile phones, as navigation system in vehicles

MPU6050 (Gyroscope + Accelerometer + Temperature) interfacing with LPC2148

MPU6050 is a 6-axis device that combines a 3-axis gyroscope, 3-axis accelerometer and a Digital Motion Processor (DMP). It also has a temperature sensor. It is used in mobile devices, motion enabled games, gesture control etc.


GPS Module Interfacing with ARM LPC2148

Interfaced GPS receiver module with ARM LPC2148 and display the Time, Latitude, Longitude, and Altitude info on the Serial window. LPC2148 read the data serially from GPS receiver using USART communication with 9600 Baud rate.

Sim900A GSM Module Interfacing with ARM LPC2148

SIM900A GSM module is a communication device which is used to make or receive calls, send or receive SMS, connect to the internet over GPRS

4x4 Keypad interfacing with LPC2148

Keypad is an input device which is used in devices like calculators, ATM machines, telephones etc.

Motors and Actuators

DC motor interfacing with LPC2148

DC Motor is a device which converts electrical energy into mechanical energy. It is used in robotics field, toys, quad copters etc.

Servo Motor Interfacing with LPC2148

Servo motor is an electromechanical device which consists of a motor, gear assembly, and feedback circuitry. It is used to move shaft or robotic arms in required angle position in Robotics applications, airplanes, rudders, quadcopters, etc.

Stepper Motor Interfacing with LPC2148

Rotate the Stepper Motor Clockwise and anti-clockwise by interfacing it with LPC2148. Here, we are using a ULN2003 driver which is used to drive a stepper motor.