LPC4088 Experiment Base Board - Projects

LPC4088 Experiment Bundle

This page lists a large number of projects for the LPC4088 Experiment Base Board, which together with the LPC4088 QuickStart Board forms the LPC4088 Experiment Bundle. Below is a picture of this bundle.

/media/uploads/embeddedartists/lpc4088_ebb_qsb.png




List of projects

  1. Demo application (contains examples for all peripherals on the board)
  2. Graphical demos for 4.3/5 inch LCD (several demos)
  3. Audio framework
  4. ePaper demo
  5. Graphical demos for displays from www.DisplayModule.com
  6. Demos with Cellular and Positioning shield
  7. IoT example with Cellular and Positioning shield





Demo Application

This application contains examples for all peripherals on the board. It is used during production test and can also be used for troubleshooting.

Import programlpc4088_ebb_ptp

Production Test Program (PTP) for the LPC4088 Experiment Base Board

The Demo Application contains one class for each test/demo like this:

ClassDescription
TestAccShows how to use the MMA7455 accelerometer to detect 3-axis movement
TestAudioShows how to use the WM8731 audio codec to:
- Copy Line In audio to the Headphone/Line Out
- Play an audio file
- Use the microphone
TestDisplayUses a 4.3" display to
- Show a pattern
- Calibrate the touch controller
- Draw dots where the display is touched
TestFileSystemMCIReads the file *message.txt* from the uSD card using the MCI interface.
TestFileSystemSPIReads the file *message.txt* from the uSD card using the SPI interface.
TestJoystickShows how to use the joystick
TestRGBLedShows a couple of ways to use the RGB LED
TestShiftregShows how to use the shift register on the SPI bus to output a running light pattern
TestTemperatureShows how to read the current temperature using the LM75 temperature sensor
TestTrimpotShows how read the analog values from the right trimming potentiometer

Graphical Demos for 4.3/5 inch LCD

/media/uploads/embeddedartists/lpc4088_ebb_lcd5.png

The projects listed below all works with both the 4.3" and 5" displays but requires configuration in main.cpp to choose which one to use.

ScreenshotsDescription
/media/uploads/embeddedartists/app_lcdboard_demo_bubbles_screen1.jpgThis program displays a number of differently colored bubbles bouncing around on the screen.

Import programlpc4088_ebb_gui_bubbles

Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This demo shows a number of bubbles bouncing around.

/media/uploads/embeddedartists/app_lcdboard_demo_cube_screen4.jpg
/media/uploads/embeddedartists/app_lcdboard_demo_cube_screen3.jpg
/media/uploads/embeddedartists/app_lcdboard_demo_cube_screen2.jpg
/media/uploads/embeddedartists/app_lcdboard_demo_cube_screen1.jpg
This program displays rotating 3D cube in different variants: corners, edges, textured sides and filled sides.

Import programlpc4088_ebb_gui_cube

Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This demo shows a rotating 3D cube with and without textures.

/media/uploads/embeddedartists/app_lcdboard_demo_globe_screen1.jpgThis program displays a number of dots projected on a rotating sphere.

Import programlpc4088_ebb_gui_globe

Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This demo shows a number of dots projected on a rotating sphere.

/media/uploads/embeddedartists/app_lcdboard_demo_mandelbrot_screen1.jpgThis program displays a Mandelbrot calculation in a circular zoomed-in sequence. The black parts take longest time to compute.

Import programlpc4088_ebb_gui_mandelbrot

Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This program displays a Mandelbrot calculation in a circular zoomed-in sequence.

/media/uploads/embeddedartists/app_lcdboard_demo_picture_screen1.jpg
/media/uploads/embeddedartists/app_lcdboard_demo_picture_screen2.jpg
This program displays (decodes) two different png-coded pictures.

Import programlpc4088_ebb_gui_picture

Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This program decodes decodes and shows two png images.

/media/uploads/embeddedartists/app_lcdboard_demo_sphere_screen2.jpg
/media/uploads/embeddedartists/app_lcdboard_demo_sphere_screen1.jpg
This program displays a number of dots (1024 to be exact) in a 3D-projected wave.

Import programlpc4088_ebb_gui_wave

Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This program displays a number of dots in a 3D-projected wave.

/media/uploads/embeddedartists/lpc4088_ebb_gui_texts_screen1.jpgThis program displays text in different fonts and colors.

Import programlpc4088_ebb_gui_texts

Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This program displays how to write text in different fonts.

/media/uploads/embeddedartists/lpc4088_ebb_gui_emwin.jpgThis program shows how to use the emWin library from Segger.

Note that this requires extra libraries to be downloaded and installed (instructions).

Import programlpc4088_ebb_gui_emwin

Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This program displays how to use the emWin library from Segger.

Audio Framework

Displays from DisplayModule

These examples all use displays from http://www.displaymodule.com/.

This example is for the 1.8" display (DM-TFT18-101) using the 40-pin connector on the Experiment Base Board. Note that this connector does not come pre-soldered.

/media/uploads/embeddedartists/lpc4088_ebb_dm18.png

Import programlpc4088_ebb_dm_40pin_spi

Example of using the DM-TFT18-101 display

This example will work on all of the displays shown here. Note that only the DM-TFT18-101 display can be connected to the 40-pin connector - all other displays must use the arduino compatible connector on the LPC4088 Experiment Base Board. For the displays without direct arduino pinning this requires an adapter. For more information see the overview.

Import programlpc4088_ebb_dm_bubbles

Example showing the use of displays from DisplayModule.com with the LPC4088 Experiment Base Board

This example is a basic calculator to show the use of the touch controller. It will work on all of the displays shown here which have touch support. All the touch enabled displays use the arduino compatible connector on the LPC4088 Experiment Base Board. For the displays without direct arduino pinning this requires an adapter. For more information see the overview. This shows the LPC4088 Experiment Base Board with the DM-TFT28-105 display mounted:

/media/uploads/embeddedartists/lpc4088_ebb_dm28.png

Import programlpc4088_ebb_dm_calc

Basic calculator example to show the LPC4088 Experiment Base Board with a touch LCD from DisplayModule

ePaper Display

This example is for the 2.7" ePaper display from Embedded Artists. The picture below shows the ePaper display connected to the Serial Expansion Connector.

/media/uploads/embeddedartists/lpc4088_ebb_epaper.png

Import programlpc4088_ebb_epaper

Example with the 2.7" epaper display EM027BS013

Character LCD

This example requires a standard character LCD, of the type presented here: Text-LCD. The picture below shows the ePaper display connected to the LPC4088 Experiment Base Board.

/media/uploads/embeddedartists/lpc4088_ebb_char_disp.png

Import programlpc4088_ebb_textlcd

Example of using a Text LCD with the LPC4088 Experiment Base Board

Cellular and Positioning shield

Below is a picture with the Cellular and Positioning shield mounted. The shield is built around u-blox high-quality cellular and positioning modules.

/media/uploads/embeddedartists/lpc4088_ebb_ublox.png

Very simple, yet working perfect, UART pass-through application, when running u-blox m-center PC application. The cellular modem UART channel is tunneled to the mbed HDK virtual COM port (which the m-center application can connect to).

UART pass-through application

 #include "mbed.h"

Serial pc(USBTX, USBRX); // tx, rx
Serial ublox(D1, D0); // tx, rx

int main() {
    DigitalOut resetPin(D4, 1);

    // SARA-U2/LISA-U2 50..80us
    resetPin = 0; ::wait_us(50);
    resetPin = 1; ::wait_ms(10); 
    
    // SARA-G35 >5ms, LISA-C2 > 150ms, LEON-G2 >5ms
    resetPin = 0; ::wait_ms(150);
    resetPin = 1; ::wait_ms(100);
    
    pc.baud(115200);
    ublox.baud(115200);

    while(1) {
        if(pc.readable()) {
            ublox.putc(pc.getc());
        }
        if(ublox.readable()) {
            pc.putc(ublox.getc());
        }
    }
}

All the GSM/GPS examples require the following to work:

  1. A working SIM card for the GSM network you want to connect to
  2. The APN (Access Point Name) for the SIM. The APN is the server that allows the modem to access the internet.
  3. An external power source for the GSM/GPS module. It is recommended to use a phone charger with a micro USB connector and not one of the port on the computer.

Each example must be configured with the APN information above before use. Lookup the following block in main.cpp:

GSM/GPS module configuration

//------------------------------------------------------------------------------------
// You need to configure these cellular modem / SIM parameters.
// These parameters are ignored for LISA-C200 variants and can be left NULL.
//------------------------------------------------------------------------------------
#include "MDM.h"
//! Set your secret SIM pin here (e.g. "1234"). Check your SIM manual.
#define SIMPIN      NULL
/*! The APN of your network operator SIM, sometimes it is "internet" check your 
    contract with the network operator. You can also try to look-up your settings in 
    google: https://www.google.de/search?q=APN+list */
#define APN         "online.telia.se"
//! Set the user name for your APN, or NULL if not needed
#define USERNAME    NULL
//! Set the password for your APN, or NULL if not needed
#define PASSWORD    NULL 
//------------------------------------------------------------------------------------

This example will try to fetch and post some information using HTTP requests. Only the fetching will actually work as the posting requires permissions. but the code is still good as a reference.

Import programlpc4088_ebb_ublox_Cellular_HTTPClient_HelloWorld

Example showing the ublox Cellular GPS/GNSS module with the HTTPClient library to fetch and upload web pages.

This is a comprehensive example that will read GPS data, use TCP sockets and respond to SMS messages. For more information look at the C027_SupportTest support page.

Import programlpc4088_ebb_ublox_Cellular_GPS_SMS

Example showing how to use the ublox Cellular GPS/GNSS module. The program will use GPS to get location and time, setup TCP connections and finally send and receive SMS messages

IoT example with Cellular and Positioning shield

The following two examples use the PubNub data stream network to publish/subscribe to data.
Note that some work is required to get this example working:

  1. Create an account at PubNub.com
  2. Update the program code with the publish/subscription keys received for the new account.
  3. Read the PubNub documentation in order to understand the system
  4. Understand that the free account has some limitations

    Import programlpc4088_ebb_ublox_Cellular_PubNubDemo

    Example showing the ublox Cellular GPS/GNSS module with the online PubNub service on an LPC4088 Experiment Base Board

    Import programlpc4088_ebb_ublox_Cellular_PubNubDemo_rtos

    Example showing the ublox Cellular GPS/GNSS module with the online PubNub service on an LPC4088 Experiment Base Board. This example uses an RTOS.


Report

Please log in to post comments.