Home > ARM, Development boards, Reviews > Review: POWERAVR NXP LPC1768 board V2.0+3.2"LCD

Review: POWERAVR NXP LPC1768 board V2.0+3.2"LCD

Name: POWERAVR NXP LPC1768 board V2.0+3.2″LCD
Distributor: WayEngineer
Price: $70

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
TotalScore: 52

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.

Video review
To start with please watch the Video review where some of the available demonstration applications are shown.

The board
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.

On-board resources

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.

The software
After visiting the WayEngineer website, downloading the RAR-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:

  1. The LCD files should be replaced by the one from a WayEngineer example (GLCD_SPI_LPC1700.c etc.)
  2. The LED initializing and controlling part should be changed, as the LEDs isn’t connected in the same way
  3. 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:

  1. Go to “Option for Target ‘…'” or press Alt+F7
  2. Go to ‘Utilities’
  3. Set programmer to “Cortex-M/R J-Link/J-Trace”
  4. Click ‘Settings’ and then click ‘Add’
  5. Find “LPC17xx IAP 512KB Flash”
  6. Click ‘Add’ to confirm the selection
  7. Finally tick ‘Program’, ‘Verify’ and “Reset and run”
  8. 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

Categories: ARM, Development boards, Reviews Tags:
  1. James Ruse
    September 14th, 2011 at 04:26 | #1

    Nice once mate. This is more than a product review! it has lot of resources varying from board explanation to programming the actual thing! well done.

  2. September 14th, 2011 at 10:41 | #2

    @James Ruse
    Thank you πŸ™‚

  3. Mori
    September 15th, 2011 at 17:06 | #3

    Hi friend, can you show me how to display lcd blinky on keil, appriciated
    I got the same board, same brand, could not display other than white color, tested it with reprogram, hardware is fine. Thank you!

  4. Mori
    September 15th, 2011 at 17:08 | #4

    led blinky is fine too.

  5. September 15th, 2011 at 19:43 | #5

    Hi Mori.
    Which LCD_Blinky project did you use? If you are using the one that is included in the ZIP file made by PowerAVR, who also made the development board, it works fine.
    Though if you are using the LCD_Blinky project from the Keil Examples/Boards folder you have to modify the GLCD_LPC1700.c file to match the changed settings – as the LCD on the PowerAVR board isn’t controlled thru SPI!

    Best Regards
    Thomas Jespersen

  6. Mori
    September 15th, 2011 at 20:09 | #6

    First thank you for you help.
    I ran it get the errors like this ( the lcd blinky on poweravr)

    system_LPC17xx.c(25): error: #5: cannot open source input file “LPC17xx.h”: No such file or directory

    Blinky.c(11): error: #5: cannot open source input file “LPC17xx.H”: No such file or directory

    GLCD_LPC1700.c(13): error: #5: cannot open source input file “lpc17xx.h”: No such file or directory

    but it load and run led blinky is fine.
    if you like to spend more time to help me just email me, I will email you the pictures as well thank again.

  7. mori
    September 17th, 2011 at 07:29 | #7

    Hi again, I did put the path for ?LPC17xx.H? in c/c++ so the program is now running but still did not know how to change GLCD_LPC1700.c to make the lcd works. My is 3.2″

  8. September 17th, 2011 at 14:43 | #8

    Dear Mori.
    I have now uploaded the modified LCD_Blinky project for your reference: Modified LCD_Blinky
    Please have a look at that project to see what changes I’ve made, especially about the GLCD (GLCD_SPI_LPC1700.c and GLCD.h)


  9. mori
    September 17th, 2011 at 18:05 | #9

    I got one error like this from you program.

    Blinky.c(47): error: #20: identifier “SystemCoreClock” is undefined

    I also found an example can run LCD so I can trace from there.
    Thanks a lot man!
    It is nice if you make more video to demonstrate about the board and programs it in keil, many guys like me will love it, you have a good day!

  10. mori
    September 17th, 2011 at 18:14 | #10

    Are you the people who design this board?

  11. September 17th, 2011 at 18:15 | #11

    Oh, that is because you don’t have the latest Keil uVision MDK-ARM compiler version.
    Now I have uploaded the modified LCD_Blinky for the old version too.
    Modified LCD_Blinky for MDK-ARM < V4.18

    And no, we are not the one who designed the board – PowerAVR is, while WayEngineer is reselling this board.


  12. mori
    September 17th, 2011 at 22:20 | #12

    I ran the program no error, it said
    Application running …
    but still not run on the board, some kind like frozen on the board, but that is OK I have files now I will figure it out, Thank for your help!

  13. Mohamed
    September 22nd, 2011 at 21:25 | #13

    Thanks for review.
    Plz, I want to know if I can Install android or another embedded OS on this board, and if this true, is there is a tutorial for something like this.
    Thank on advance πŸ™‚

  14. September 23rd, 2011 at 22:33 | #14

    No you can’t install Unix, Linux, Android, WinCE or other embedded systems as the processor is not big and powerfull enough – not enough FLASH or RAM.
    You would need at least an ARM9 to run theese things. I can recommend the mini2440 board which can run both Android or WinCE, and includes a 3.5″ touch display.

  15. January 6th, 2012 at 12:33 | #15

    Hi, I have the same board but i’m using IAR for the code and debug, because of the jtag (with IAR was much more easy than Keil to me).
    I got some issues with the IOs I need to add “|0x1400” with the pin value to work (set dir and fiopin) I read the schematic and the datasheet and this doesn’t makes sense, someone else have this same problem?
    It’s driven me nuts, the uIP webserver was easier to understand then the GPIO ¬¬
    I already worked with Cortex-M3 from Texas Instruments (Stellaris makes this look so easy), but this NXP have the most confusing documentation I ever seen.

  16. January 9th, 2012 at 18:46 | #16

    Dear Armando.
    Well I don’t think their documentation is that confusing as you seem to say it is.

    You should download the “LPC17xx User manual”, the UM10360
    For driving/controlling I/Os you should remember to initialize the proper registers first – this means enabling power for the GPIO controller and then set the required GPIO pins to either input or output.
    On page 63 you can find the table of the Power Controller register, you would have to set bit 15: PCONP |= (1 << 15); Then you should initialize the port register, and lets say you would like all the 8 lower bits of GPIO2 to be output, then you should set the lower 8 bits of the 32-bit FIO2DIR to 1 - see page 123 of the document. FIODIR |= 0x000000FF; Last but not least, to control the GPIO pins you have to use the FIO2PIN - according to page 127 of the document. To set bit 3 of the GPIO2 you should write: FIO2PIN |= 0x00000008; I hope you get a better understanding of the register principles with this short guide. Best Regards Thomas Jespersen

  17. June 1st, 2012 at 10:37 | #17

    I ordered this board (not the same brand, but 100% identical) and i started some blogging about it at this address : http://www.lahiette.com/myblog/index.php . This is in french, sorry, but it might be useful for people willing to compile and upload code with GNU and open source tools

  18. June 22nd, 2012 at 07:00 | #18

    im using same board mcb1700 (lpc1768). i got an doubt is it possible to extend memory of the board by using external memory chip.

  19. June 22nd, 2012 at 07:02 | #19

    Please give some solution if not possible to use.

  20. June 25th, 2012 at 18:55 | #20

    Hi Sumithra.
    What kind of external memory are you requesting?
    If you need more RAM then it is unfortunately not possible with the LPC1768 as it doesn’t come with EMC, which makes the LPC devices capable of using external SDRAM.

    If you simply need some extra flash to save user data, images or settings I can recommend either a SPI NOR Flash or SPI EEPROM. That would make good use.
    And the great thing is that this board already contains a NOR SPI Flash, the AT45DB161D.

    Best Regards
    Thomas Jespersen

  21. June 26th, 2012 at 06:44 | #21

    Hi Thomas,
    Thanks for reply, My project to store data of almost (16000*8) bytes of records, please tell me it can hold.
    One more doubt it is in the example program for Ethernet Easyweb.c Program, I want to change few of things in that like communicating with hyper terminal of my PC with the board. communication is like I will be sending first character program will check character send is ‘%’ then it has to send back ‘S’. This is first time I’m doing this project with lpc1768. please guide me to do this.

  22. Darius
    July 4th, 2012 at 00:55 | #22


    First of all, great board and great and extensive review on youtube! It convinced me.

    Right now I’m playing with it a bit, tried the majority of the demos and it works fine.

    Still, I don’t know why the second USB bootloader doesn’t work. I downloaded it from the website and burned it. When I press the reset button, I have the USB connected to the right slot, and also the third button pressed (the one near reset button). I hear in Windows that something was inserted into USB but then I get the ‘Unrecognized device’ message.

    Any ideas?

    I wonder if Linux would recognize it as normal flash disk. I’m intending to use linux tools to program it. I’ll switch to linux in a few seconds after I post the comment and come back with feedback.

  23. Darius
    July 4th, 2012 at 01:03 | #23

    Nope, it doesn’t work on Linux(3.2.0) neither.

  24. Darius
    July 4th, 2012 at 02:07 | #24

    Update: I didn’t connect the jumpers for D+ and D- but now, that they are connected, it works even worse: that is, I don’t even hear the sound that some device has connected.

    I checked the documentation and the conditions for entering programming mode are:
    – CRP should allow writing: I modified it to NOCRP
    – P2.11 should be grounded (I’m pressing the correct key 1)
    – D+ and D- jumpers set

    Still, it doesn’t work

  25. July 4th, 2012 at 06:20 | #25

    Hi again,
    i tried in understanding the code but i couldnt do please support me.

  26. July 4th, 2012 at 09:44 | #26

    Dear Sumithra.
    I can confirm that the external flash with it’s 16mbit = 2MB will be able to hold your around 128KB.
    For the communication part I don’t actually get what you would like to do? Would you communicate with the board thru Ethernet or the Serial port? Usually you use Hyperterminal for Serial applications and Putty fx for Telnet applications.
    I recommend you should have a look at the Serial demonstration (RS232 port) and try that with Hyperterminal to get a feeling of what it is like.

    Regards Thomas

  27. July 4th, 2012 at 10:02 | #27

    Dear Darius.
    It sounds like you have a problem with the firmware. Have you made sure that you have uploaded the bootloader firmware to the board properly?
    When resetting the board are you holding down Key 1 and then press and release the reset button, just as shown in our video?

    I have uploaded my builded HEX file of the bootloader: LPC1768_Secondary_bootloader.hex
    Please download this, program it to the board and let me know if it works.

    Regards Thomas

  28. Darius
    July 4th, 2012 at 10:45 | #28


    I uploaded the firmware correctly: I mean, I uploaded examples and they work – the bootloader should also work.

    Also, I’m holding Key1, pressing Reset and releasing Reset. It enters bootloader mode but it’s not recognize as USB device. I checked the code, and the only thing it does after checking the state of the button and other things is


    so normally, it should work because it gets there.

    However, I tried to flash the .hex you gave me but I just seem to find the good tool. Flash Magic needs UART programmer and I don’t have one for the moment.

    As in the video, the jumpers are on D+ and D-, the USB_CONNECT jumper JP10 is in the left position (i guess for slave). If I change JP10 in the other position, Windows sees it but as ‘unrecognized device’.

  29. Darius
    July 4th, 2012 at 10:46 | #29

    correction: … I just seem not to find the good tool ..

  30. July 4th, 2012 at 11:38 | #30

    There is a on-board JLink programmer on the board so you should download the J-Flash tool to upload the HEX file.
    The jumpers for the D+ and D- should be in their right position (closest to the edge).
    While the JP10 should be in the left position (closest to the display).

  31. Darius
    July 4th, 2012 at 16:58 | #31

    I uploaded the .hex via j-Flash provided in the archive with the documentation, software etc.
    But the behaviour is the same.

    The jumpers are ok.
    Also, as I said I keep pressing Key1 then press Reset then release Reset. If I do it like this, LED labeled USC(closest to USB_CONNECT jumper) turns on. If I do it in another way, it doesn’t.

    Everything is the same and it doesn’t work. There is one singe thing that is not the same. I received a US plug and I can’t use it in Europe so I take 5V from USB and connect it to one of the two VCC pins in JTAG connector. Like so, I can power the board and use the only USB cable to access it as a flash device.

  32. Darius
    July 5th, 2012 at 00:38 | #32

    Geez, I can’t believe this. I can’t flash it with Keil’s IDE anymore. It freezes when I try to flash it. The log sais:

    — CPU is running — CPU_ReadMem(16 bytes @ 0xE00FFFF0)
    ***** Error: Communication timed out: Requested 20 bytes, received 0 bytes !

    Sorry for flooding the blog with comments but I’m kind of having problems here..

  33. July 5th, 2012 at 01:16 | #33

    You could try connecting a spare USB cable to the USB programming port and then switch the jumper so the board will be powered from that USB port.
    I am not sure if a 5V supply on the VCC pins is a good idea – most of the circuitry is 3.3V only so you might have fried the device.

  34. Darius
    July 5th, 2012 at 02:17 | #34

    Indeed, it’s not good to power at 5V. Anyhow the device is not fried since it still runs demos. There could be fried modules but I think not.

    Also, I managed to program it under linux with J-Link command line which is a promising start. But it’d be much nicer with drag & drop πŸ™‚

    Tommorow I’ll have another USB cable and see if it works like that.

  35. Darius
    July 5th, 2012 at 09:48 | #35

    Yeap, this was the problem: the power.

    It works now. I never thought that US damned plug would cause so much trouble. The thing is I’m not home right now and I have just a limited number of tools with me.. It’d have been simpler otherwise.

    THanks for involving and sorry for spamming the blog πŸ™‚

    All the best.

  36. July 6th, 2012 at 10:28 | #36

    Great that you got it fixed. I’m glad that I was able to help πŸ™‚
    Hopefully we will soon be seeing some project of yours on Youtube etc.

    Good luck

  37. Tom
    July 29th, 2012 at 20:25 | #37

    Hello Thomas, I want to use the i2c bus for connecting some devices (accellerator, GPS, etc. ) to the system. I found the Chip but not the connector. I have only the chines user Manual. Is there an english version avaliable? or can you help with this topic

  38. July 30th, 2012 at 17:42 | #38

    Are you sure it is I2C you are going to use for GPS and not serial?
    For the I2C bus there is 3 of them on the LPC1768 chip. Unfortunately all of them are occupied with other functions too which has been used on this board.
    Have a look at the schematic where you will find SDA0 to SDA2 and SCL0 to SDA2 on the chip.

    But for the I2C0 luckily it goes to the I2C EEProm on the board, so you would be able to use that bus for your I2C devices.
    This bus can be found on pin 24 (SCL) and 25 (SDA) on the IC which is the same pins on the P1 connector.

    So you will be able to connect your own I2C devices.

    Regards Thomas

  39. Tom
    July 31st, 2012 at 09:19 | #39

    @Thomas Jespersen

    Thanks for the quick answer. I found the pins and the I2C EEProm. And yes the GPS is connected via I2C. It is an GPS System from a quadcopter. I´ll provide the code, if its working.

  40. Tom
    August 1st, 2012 at 19:47 | #40

    Hi Thomas, I2C is working. Now I would ask you for grafic support of the LCD. NXP/Segger is providing free of charge an GUI designer and the grafic bibliothek for NXP1788. There is an porting instruction for porting from 1788 to an 1768 (Keil Board 1700). Is the Landtiger board compatible to that board and can I use the library from Segger? I found aout that the Keilboard connects the LCD via a serial interface. The landtiger is using a latsch (8 to 16 Bit). Do you think, that an port to the Landtiger board is possible with appropriate effort?

  41. August 1st, 2012 at 20:14 | #41

    Hi Tom.
    Great that you managed to find the pins and got it working.
    The Keil MCB1760 board is almost similar to this Landtiger etc. board, so yes you should be able to use the same demonstration – maybe with a few changes.
    For the LCD it’s another story. As you say it is correct that the MCB1700 boards uses the SPI interface on the LCD while the Landtiger etc. uses the Parallel 8080 bus. And that is exactly the changes you have to make in the LCD HAL library – but only in the.
    HAL is the abbreviation for Hardware Abstraction Layer which is the libraries that takes care of making the connections from the main code to the outer world it’s periphirals.

    I guess you should be able to either replace the LCD library files with the Landtiger ones or change the required lines on your own.
    I have successfully changed some of the Keil MCB1700 example project to be used on this board, so I changed the LCD library files.

    Regards Thomas

  42. Yan
    August 11th, 2012 at 15:00 | #42

    I am planning to use POWERAVR NXP LPC1768 board V2.0+3.2″LCD for controlling electric motor, such start/ stop , forward/reverse and speed controlling via inverter.
    Probably it is too exaggerate for such application but I like the idea of using the touch screen as virtual push button ,motor status and controller.
    Frankly I am not electronic expert other than basic knowledges.

    Wondering if anyone can help me to achive the goal,what equipments or devices require especially the program to customized the LCD display layers interactively.

    Thank you.


  43. August 11th, 2012 at 18:14 | #43

    Dear Yan.
    That would for sure be possible to do with this board, but maybe a bit overkill as you mention too.
    Which kind of motor do you intend to control? A regular DC motor?

    For the display interface almost any microcontroller can be used. Some development boards might be easier to start with than others, and this one might be a bit tough.
    Instead I would recommend some of the mikroElektronika tools, such as the EasyMx Pro v7 board.

    Regards Thomas

  44. Yan
    August 18th, 2012 at 23:39 | #44

    @Thomas Jespersen
    Dear Thomas,
    I appreciate your recommendation of EasyMx Pro,thou personally I prefer PowerAVR for its smaller and compact board which might fit in tight casing and mount easily ,others than that have no idea.

    I intend to use AC motor and AC drive inverter to regulate its speed and control.

    As a blind man in microcontroller world,I wish could marrying between Touch screen GUI with AC drive probably with temperature controller and timer as well.
    just create for example the buttons on touch screen GUI, assigned it to the microcontroller output pins and use it to drive devices without having to learn and write microcontroller program from scratch.or I am dreaming too high.

    Best regards,

  45. Yan
    August 21st, 2012 at 17:18 | #45

    Dear Thomas,
    I browsed your recommended website few times and gave me more pictures about the microcontroller tho raise more questions about it.

    I am not sure the right place to discuss its products here.Anyway I just want to thank you very much for your help.

    Best Regards,

  46. Ipu
    August 22nd, 2012 at 10:17 | #46

    Great work here, helps a lot.
    But i am wondering a little bit about the missing “touchpad”-feature, is there no library for the touchpad? Do anybody knows how it works? And…maybe anybody have the original-demoprojekt from PowerAVR, so that we can have a look in it (and its librarys πŸ˜‰ )?
    To make a Backup of it is no problem…and for a few times a livesaver πŸ˜‰

    Best Regards,

  47. August 23rd, 2012 at 10:48 | #47

    Well it sounds like you would like to connect the microcontroller to an already made AC drive inverter solution? Then you would first have you figure out how you can connect the two devices. Serial, PWM, PPM, Digital IO?

    Next step would be to make the low level HAL drivers on your microprocessor to communicate and regulate the AC motor. And the final step would then be to add a GUI interface.

    We would be happy to help you with this project at a reasonable cost.
    If this makes any interest to you feel free to contact us at: mail@tkjelectronics.dk

  48. August 23rd, 2012 at 10:52 | #48

    I don’t know what you refer to when talking about a missing “touchpad”-feature? Do you mean the Touchscreen on the QVGA display?
    There are no missing demonstrations with this as it is used in the uCOS demonstration of the LCD display functionality – and this project is even included in the original CD from PowerAVR.

    The demo projects and the other materials on the original CD can be downloaded from the following link: http://www.wayengineer.com/download/boardata/POWERAVR-LPC1768.zip

    Regards Thomas

  49. Ipu
    August 23rd, 2012 at 15:59 | #49


    ¡COS wont work here, it seems that my Keil-Toolchain isn`t right configured…i`ll have a look on it at weekend. The “Touchpad-Feature” (wrong formulated, sry…how to read positions on the touched LCD) i have found in the ARM-example “Touchpanel”.
    My CD is a “Banana-Digital” πŸ™‚ with most chinese filenames and chinese discription (even the site http://www.powerAVR.com, clicking “english” i become redirected to http://www.hotmcu.com/…nice, but w/o any downloads) so it is very hard for me to find any thing on it.

    Thank u a lot for your help, now i think i have all together to give the TigerBoard a try insted of my favorite loved mBed (not cause it is better, it is just much easier to work with it…Keil is too much to do little things without learning a few hours before…)

    Greetings, Ipu

  50. yan
    August 24th, 2012 at 15:06 | #50

    Sound interesting to me if the reasonable cost fall within our budget and time frame of the prototype.
    In short I need device with Touchscreen GUI to control AC motor directly or thru ready made inverter,Temperature controller, Timer and potensio as an input to track its position.
    We discuss furthermore over the email.

    Thanks, Yan

  51. Wim
    September 8th, 2012 at 17:39 | #51

    I think you have to press Key 2 (P2.12) to enter USB bootloader.

  52. November 16th, 2012 at 10:33 | #52


    i’m working on same board MCB 1700, we are starting on TCP/IP communication part, i don’t know how to start? will u please guide me on this topic.


  53. November 17th, 2012 at 00:22 | #53

    Dear Sumithra.
    Have you had any chance to look at the examples that is provided and comes with the board?
    Examples, including TCP/IP web server demonstration, can be downloaded.
    In our case with this board, which is similar to the MCB1700 you are using, different example projects could be downloaded from the following link: http://www.wayengineer.com/download/boardata/POWERAVR-LPC1768.zip

    I hope these examples can give you a better starting point for your project.

    Best Regards
    Thomas Jespersen

  54. November 17th, 2012 at 08:23 | #54

    Thanks for your fast reply…

  55. November 23rd, 2012 at 05:22 | #55

    hi, i have some files which support keilMDk 2 & 3 but i have keilMDK 4.1v, i want to compile those files in keilMDK 4.1v what i need to do? i want TCP/IP protocol FTP sample code for MCB1700 board. please guide me.


  56. November 23rd, 2012 at 05:33 | #56

    I downloaded from that link, it contains projects which support Keil mdk2 &3 version but i have version 4.12, i can’t able to check it up please give solution for this….


  57. November 25th, 2012 at 14:11 | #57

    Hi both of you.
    One solution I found to the problem was to use an original MCB1700 example provided with Keil, for the version you have, as a reference for “porting” the projects from the ZIP file to the never Keil version.
    You should simply move and copy the code but remember to let the linker files and device periphiral drivers stay.

    Have in mind that the initialization routines should be changed to match any changes to the Keil compiler structure – but only if any compiler errors appear when you have merged the ZIP file project into an original Hello World MCB1700 project.

    Regards Thomas

  58. November 28th, 2012 at 06:21 | #58

    I need more memory for my LPC 1768 project. Can I add 4M of E2PROM for LPC 1768? If yes, can I use external E2PROM in the same way as internal SRAM?


  59. Syri
    November 28th, 2012 at 19:25 | #59

    Dear Tomas,

    I watch your video, and I must say that is a good tutorial.
    From the examples of WayEngineer, I compile the project EasyWEB, and nothing happens with that ip address who is in the tcpip.h module.
    Can you provide the project from your video presentation for EasyWEB ?


  60. November 29th, 2012 at 11:25 | #60

    I want upload images on to the GLCD (MCB 1700 board), any software which support GLCD
    Please guide me…


  61. February 3rd, 2013 at 21:25 | #61

    Hi Rose.

    You can’t add and use an EEPROM as the same way as you do with the internal SRAM. And this has never been the intentions of an EEPROM either.

    An EEPROM is usefull for saving configuraiton parameters etc. that won’t be changed a lot, as the EEPROM has a limited number of erase cycles together with the relatively slow time it takes to execute a write cycle.

  62. murat
    March 23rd, 2013 at 16:12 | #62

    I am so regretful for purchasing this development board because all documentaion is not English , almost all is chinese . I think , if you plan to sell a divice all world , you must use international language . But producer does not use . Because of this problem , I can not develop my project. For example , I can not success that a image is shown to GLCD

  63. March 23rd, 2013 at 18:34 | #63

    I would definitely say that it depends. Usually we won’t even read the documentation/manual as long as we have a schematic and some demonstration code.
    For this development it comes with both, and you can even also use some of the example projects provided by Keil Uvision for the board.

    So of course we are sorry to hear that you haven’t managed to get your board working, but I would not solely blame the missing English manual for that.

  64. murat
    March 24th, 2013 at 22:36 | #64

    @Thomas Jespersen
    you said that “So of course we are sorry to hear that you havenΓ’??t managed to get your board working, but I would not solely blame the missing English manual for that.”

    I guarantee you my background so well , and all program examples are good and I use them always , but I trouble glcd becuse there is no any explanation about glcd , header , c , or image2lcd program .

  65. March 24th, 2013 at 23:07 | #65

    Well, the example projects I’m showing you in the video uses the GLCD – and those are examples from the Keil MCB1700 examples folder, just modified slightly to work on the GLCD of this board.

  66. murat
    March 25th, 2013 at 00:36 | #66

    @Thomas Jespersen

    I want to ask a question , how to use image2lcd program I mean that which option I should use to use image file in the your example . Thanks ..

  67. March 26th, 2013 at 19:31 | #67

    Inside the LCD_Blink example fx you will find a Bg_16bpp_b.c file etc. This is an image file that can be displayed with the GLCD_Bmp(x, y, w, h, *bmp) function.

    You should actually be able to use the image converter I have made, except for some minor changes you will need to make after the file has been generated.
    Here you can download our Binary Image Creator

    When you start the program you should can open any JPEG or BMP file.
    Press the “Save Binary Image File” and select a location for the generated header file.

    1. When the file has been saved you should first rename it from ‘.h’ to ‘.c’.
    2. Inside of the file you should remove the 4 first items of the array
    3. Finally you should change the array naming line to the following sequence

    unsigned char your_image_name[] = .....

    Then you should be able to display the image by calling

    GLCD_Bmp(x, y, image_width, image_height, your_image_name)
  68. murat
    March 26th, 2013 at 21:25 | #68

    @Thomas Jespersen

    thanks so much , but again ı was unsuccesfull . I follow your step explained me but image is not displayed .

    I use the LCD_Blink example Bg_16bpp_b.c file ,this time image is displayed .

  69. murat
    March 26th, 2013 at 21:33 | #69

    @Thomas Jespersen

    I think that problem is my image because they are not form 16 bpp . I can found any converter to image this form . can you share with me if you have such a converter ?

  70. March 26th, 2013 at 21:35 | #70

    You should download and use our Binary Image Creator as described in the post above.
    It can be downloaded here: http://www.tkjelectronics.dk/uploads/BinaryImageCreator.exe

  71. murat
    March 26th, 2013 at 22:01 | #71

    @Thomas Jespersen

    I already use your Binary Image Creator and I follow your step that you was explained me ,but image is not displayed .
    I think that problem is my image because they are not form 16 bpp . They are almost 32 bpp I can not find any converter to image this form .If I can find converter my image to 16 bpp format,then I can use your Binary Image Creator to create c file and image can be displayed.

    can you share with me if you have such a converter ?

  72. March 26th, 2013 at 22:05 | #72

    The Binary Image Creator I have made converts the chosen image to the required 16-bit format, so there should be no issue there.
    Then I don’t know which kind of image converter you can use to generate proper formatted images.

  73. murat
    March 26th, 2013 at 22:24 | #73

    @Thomas Jespersen

    can you send me a image that is dispayed by you ? and how you showed it explain me ?
    If you sen me ,I can try on this image .


  74. masaro
    December 3rd, 2013 at 18:57 | #74


    do you check your GLCD lib in Vertical mode?

    when i use it in this mode (HORIZONTAL 1) it doesn’t work correctly!


  75. Flee
    December 4th, 2013 at 05:41 | #75

    http://www.tkjelectronics.dk/uploads/BinaryImageCreator.exe is broken. Would you please send me a copy of your BinaryImageCreator please? I would like to know how to use and what the formula for converting used.


  76. January 18th, 2014 at 10:44 | #76

    Hi Flee.
    The download link should be fixed again now. Can you please try and download it again?
    In general what the converter does, is to take and read every pixel from the image and convert them to 16-bit (2 bytes) color codes. These color codes are then written in the correct order into, ready to display.
    The formula for finding the 16-bit color value from a 24-bit RGB color code in the RGB565 format that is used for this display, is:

    ColorValue = ((RED >> 3) << 11) | ((GREEN >> 2) << 5) | (BLUE >> 3);

    Regards Thomas

  77. Salar
    January 22nd, 2014 at 19:48 | #77

    Thanks for this fantastic information,helped me a lot.

  78. Salar
    January 22nd, 2014 at 19:51 | #78

    How can I change LCD to vertical mode?

  79. January 23rd, 2014 at 18:11 | #79

    It is not that easy to do with the current LCD library.
    First of you would have to send some changed parameters to the LCD to change the orientation. But furthermore you would also have to change the way the library writes to the display and sets the cursor.

  80. April 5th, 2014 at 06:04 | #80

    please guide me..
    how to connect hayperterminal and lpc1768 m3 board.can you send me example code..

  81. May 23rd, 2014 at 22:02 | #81

    You need a USB to RS232 adapter to connect the UART port of the board, to your computer, and read it with HyperTerminal or similar.
    Example projects for using the UART port can be found within the Example CD zip file: POWERAVR-LPC1768.zip

    Regards Thomas

  82. diganth
    February 24th, 2015 at 07:40 | #82


    I m trying to read and write files from SD card .. using keil uvision 4 and LPC 1768 is the device.. i downloaded example code from keil mcb1700_sd_file but it is not compiling giving errors.. can u please provide me a code to read/write SD card using LPC1768

  83. March 1st, 2015 at 00:59 | #83

    It is quite a while ago since I’ve worked with the development board.
    Please have a look at ChaN’s FAT library for the LPC17xx family as it includes an example for the LPC1768: http://siwawi.bauing.uni-kl.de/avr_projects/arm_projects/arm_memcards/#chanfat_lpc_cm3

  84. May 6th, 2015 at 09:59 | #84

    Hello.. I don;t get this procedure as I was trying to replace the rotating “ARM” animation…

    Picture conversion procedure:
    1. Convert picture to 16 BPP (R – 5bits, G – 6bits, B – 5bits)
    2. Remove header from bmp by hex editor, remaining file size should
    be equal to (width * height * 2) bytes
    3. Convert prepared file without header to C array

    How do we go about this animation exactly.. any rules we need to follow?
    if (pic++ > 8) pic = 0; // i am guessing its n 8 array of image in 1
    LCD_Bmp (99, 165, 120, 45, &ARM_Ani_16bpp[pic*(120*45*2)]); // i am lost here

    i was just replacing the original ARM_Ani_16bpp file with some sprite i took from the net.. i was expecting that the display above will actually gives some cuts of the whole image.. guess m still a newbie..
    Thank you Thomas

  85. May 6th, 2015 at 22:01 | #85

    @Firdouz Bahtiar
    The ARM_Ani_16bpp array contains all the 16-bit pixel data for all 8 images which the animation consists of. The picture is 120×45 pixels hence the array notation [pic*(120*45*2)].
    By doing this it will jump to the next image in the animation indicated by the index ‘pic’.
    So you would need to create eight 120×45 images, convert them to a 16-bit C-array and then append them all together.

  86. Douglas Moncada
    June 2nd, 2015 at 05:19 | #86

    Hi Thomas , to compile in keil and press load , the message ” core is locked ” is displayed. Originally the card was bringing Micrium loaded operating system. As this Micrium is removed so it can be programmed ?

  87. June 12th, 2015 at 09:48 | #87

    @Douglas Moncada
    Core is locked could potentially mean that the device has been write protected. In this case you would need to open your JTAG programming environment and force an unlock of the device, usually by executing a Full Erase.

  88. Mohammad Yosuefi
    June 21st, 2015 at 06:57 | #88

    Hi. Thanks for the amazing video demonstration. where can I download the example of the board (because it didn’t ship with the board) and also I’m having a problem after updating the firmware of the board (http://forum.segger.com/index.php?page=Thread&threadID=2467) ?

  89. June 21st, 2015 at 10:50 | #89

    @Mohammad Yosuefi
    In the bottom of the store page for the board you can find a download link for examples and materials: http://www.wayengineer.com/download/boardata/POWERAVR-LPC1768.zip

  90. Alex
    July 24th, 2015 at 09:49 | #90

    people pls HELP !
    i have a Landtiger lpc1768.
    BUT i cant program it, what i mean..i am trying to program it with some examples like blinky but when i press load button from ?Vision i got some errors.
    why is that ? because i CANT find this ?Cortex-M/R J-Link/J-Trace? and i cant find this ?LPC17xx IAP 512KB Flash?
    i dont know i searched a lot but in debug and on utilities settings there are not optios like this to add or to choose πŸ™ what can i do guys ? this is a big problem because i cannot even start with something πŸ™

  1. March 23rd, 2013 at 22:02 | #1