Review: POWERAVR NXP LPC1768 board V2.0+3.2″LCD
Name: POWERAVR NXP LPC1768 board V2.0+3.2″LCD
Evaluation Type: Development Board
Application you used the part in: Development/evaluation of the LPC1768 part
Was everything in the box required?: Yes
What were the biggest problems encountered?: Examples only provided for the Keil uVision compiler
Product Performed to Expectations: 10
Specifications were sufficient to design with: 8
Demo Software was of good quality: 8
Demo was easy to use: 10
Support materials were available: 7
The price to performance ratio was good: 9
In this review I will be demonstrating and reviewing the POWERAVR NXP LPC1768 board from WayEngineer. This is a development board for the LPC1768 chip with a huge amount of on board features. The board really gives you some features for a relatively low-cost. In the end you will find my conclusion, whether you should buy this board or not – whether you can use it as a starter board or not.
To start with please watch the Video review where some of the available demonstration applications are shown.
I have been working with a lot of different ARM boards, so in my mind this evaluation board had some competitors.
I decided to give this board a shot because the list of on-board resources were so great. I was especially excited to know that the board had an on-board programmer (jLink) which makes it easier to get started, as you don’t have to invest in a programmer and debugger.
The board came with a 3.2″ Touch Screen display, a USB cable, an ethernet cable and a 5V power supply. This is pretty normal to development boards, so nothing overwhelming about this.
Though when I started looking at the detailed specifications of the on-board resources I got overwhelmed.
The board includes the following features:
- LPC1768 Cortex-M3 processor with 512KB FLASH and 64KB SRAM
- 2x RS232 serial interface
- 2x CAN bus communication interface (CAN transceiver: SN65VHD230)
- RS485 communication interface (485 transceiver: SP3485)
- RJ45-10/100M Ethernet network interface (PHY Ethernet: DP83848)
- Adjustable potentiometer (connected to AD input)
- Speaker (connected to DAC output)
- 3.2″ 320×240 Touch Screen color display
- USB2.0 interface, USB host and USB Device interface
- SD/MMC card (SPI) interface (capable of using FAT filesystems)
- IIC interface (24LC02)
- SPI serial FLASH interface (AT45DB161D)
- 3x User buttons + 8x LEDs
- 4-direction Joystick + Click
The board came pre-programmed with a LCD demonstration, showing how fast the LCD can be updated. Both schematic for the LCD board and the development board itself is provided, which makes it easy to make the low-level drivers, as you which pins is connected to what.
In my opinion the board includes all the necessary resources, for you to be able to test the LPC1768 features completely. I actually can’t come up with a thing that the board is missing – so this is a great sign.
After visiting the WayEngineer website, downloading the ZIP-file, I noticed how many application examples that were actually included and running on the board.
Though as I had a newer version of Keil uVision, not all of the demonstrations would compile. Though most of the times this just required the removal of the chip/system files, as these had to be loaded from the compiler directory instead.
I later discovered that the board had the same connections as the Keil MCB1700. This made it possible to use the examples located in the Keil examples folder, for that specific board. It just required some minor changes:
- The LCD files should be replaced by the one from a WayEngineer example (GLCD_SPI_LPC1700.c etc.)
- The LED initializing and controlling part should be changed, as the LEDs isn’t connected in the same way
- If Analog inputs are used in the example this has to be fixed too, as in the Keil examples, the used Analog inputs are on one of the same pins as the LCD data bus.
Unfortunately as all of the examples is using the Keil uVision compiler, you have to download a use the evaluation period to test some of the examples (as they exceed the Lite version limit).
It would have been good if they had made a couple of demonstrations for the free GNU GCC compiler.
Regarding the Keil uVision everything works great. The On-board programmer and debugger integrates nicely with the Keil enviroment – so it is very easy to program and debug your application.
In the beginning though I had some problems getting Keil to recognize and program my board, without giving me some kind of error. I fixed this by doing the following steps in each project:
- Go to “Option for Target ‘…'” or press Alt+F7
- Go to ‘Utilities’
- Set programmer to “Cortex-M/R J-Link/J-Trace”
- Click ‘Settings’ and then click ‘Add’
- Find “LPC17xx IAP 512KB Flash”
- Click ‘Add’ to confirm the selection
- Finally tick ‘Program’, ‘Verify’ and “Reset and run”
- And check “Erase full chip”
Pros and Cons
- Great number of on-board resources
- On-board USB programmer and debugger
- LEDs are connected to the same bus as the LCD
- LCD is actually 16-bit, but is connected to the microprocessor thru an 8-bit latch – so speed is limited
- Application examples only provided for the Keil uVision compiler. No examples for either IAR or the free GNU GCC
This development board is great way to get started using the NXP LPC1768 chip. It includes a great number of on-board resources, and there are at least ONE example for all of them. This makes it easy to get started developing your own applications, especially if you are a beginner, as you can just cut and paste from the different examples.
The price is low-cost compared to all the features you get. And as the board also includes the 3.2″ Touch Screen display, I think it’s a bargain. The Keil MCB1700 costs around $375 USD, and it includes less features than this.
So if you can accept that the board is made in China, you get a high-end development board for a low price of $70.
To get the standard Keil MCB1700 running on this board you need to change the GLCD files and other stuff like LEDs and ADC. I have uploaded the modified LCD_Blinky example to show you the required changes.
Modified LCD_Blinky for MDK-ARM >= V4.21
Modified LCD_Blinky < V4.18