Industry Article

How to Get Started Quickly with the OKdo E1 Development Board

August 20, 2020 by Mark Dunnett, on Behalf of NXP

The OKdo E1 development board is only as wide as a coin but contains the LPC55S69 microcontroller, making it suitable for a variety of small production runs and prototypes. Here, get more familiar with the dev board and see how to use its evaluation kit.

With a small form factor about as wide as a coin, the OKdo E1 development board possesses the powerful LPC55S69 microcontroller at its core making it suitable for a variety of prototypes. Despite its compact form-factor, the OKdo board is packed with features, similar to the LPC55S69-EVK (discussed in a previous series of articles), meaning that the NXP MCUXpresso toolchain fully supports the device, and most of the official SDK examples should work right out of the box.

This article dives into one of the most notable features of the OKdo E1 board and discusses how to implement it into projects. 

 

Exploring the OKdo E1 Board Features 

The most notable feature of the board is its small footprint. It’s just a little under two inches long (50mm), and about an inch wide (25mm). Yet, the device comes with two micro USB ports — one for debugging and one user-configurable port — a full-sized LPC55S69 microcontroller, four push-buttons, and a three-color RGB LED. 

The E1 board is a cost-effective subset of the official LPC55S69-EVK, with the micro SD card, audio-codec, and some expansion headers missing. However, this also means that the E1 board uses an LPC55S69 microcontroller that features two Arm® Cortex®-M33 cores running at 150 MHz:

 

Figure 1. A close-up view of the LPC55S69 MCU that enables the OKdo E1 board.

 

The MCU is equipped with 640kB of flash memory and supports extended security features, cryptography and DSP Accelerators (CASPER and PowerQuad), and other hardware capabilities. 

 

Figure 2. The OKdo E1 board next to a dollar and a Euro coin. The board is about an inch high and about two inches wide.

 

This also means that the E1 board is fully supported by the NXP MCUXpresso IDE and all other utilities and tools that come with it. Many official examples from the LCP55S69-EVK SDK will run on the small board with no or minimal reconfiguration. Besides that, there is practically 100% compatibility between the LPC55S69 and the LPC55S1x sub-family of MCUs. For example, if you plan on using an LPC55S16 MCU and don’t need CAN or CAN-FD, the E1 board is a fantastic alternative to consider.

Two 16-pin expansion headers provide access to the MCU’s GPIO pins, PWM, I2C, high-speed SPI, a range of timers and ADCs, and the usual power rails, including 5V, 3.3V, and GND:

 

Figure 3. The pinout of the OKdo E1 board's GPIO ports.

 

Because there are no components on the underside of the board and the pins have been brought out to castellations at the side of the PCB, it’s possible to surface-mount the entire device to a carrier circuit board (overhang the E1 USB sockets at the edge of the carrier board if you need to use USB). This makes the E1 board easy to expand, and there’s also an adaptor board available that allows it to interface with Arduino-style shields:

 

Figure 4. The OKdo E1 board can be soldered onto an expansion board that allows the use of Arduino Uno style shields.

 

Getting Started with the OKdo E1 Board

OKdo’s quick start guide covers the most important steps from installing the MCUXpresso IDE to loading official SDK examples. Alternatively, check out another article that discusses how to get the LPC55S69-EVK up and running in no time.

Learn more about how to get started with the E1 board in this video.

The E1 board is designed as a subset of the official LPC55S69-EVK, and there’s no separate SDK that comes with it. Instead, most examples from the LPC55S69-EVK will run on the E1 board.

The E1 board, unlike the LPC55S69-EVK, doesn’t have a 16 MHz crystal. However, there are two internal oscillators, and two PLLs inside the LPC55S69 MCU, that allow the board to operate at 150 MHz using one of the internal references, which is also discussed in the aforementioned quick start guide. All development and debugging activities are done in the MCUXpresso IDE. This also includes uploading code to the board.

Most SDK examples will work right away. The examples that use either the BOARD_BootClockPLL150M() or BOARD_BootClock100M() functional groups will require some additional tweaking to prevent the E1 from freezing on startup.

 

The OKdo E1 Board and SDK Examples

As mentioned above, the E1 board omits the 16 MHz crystal that is present on the LPC55S69-EVK:

 

Figure 5. The OKdo E1 board contains pads for fitting an external 16 MHz crystal, which is not populated.

 

Many of the examples in the MCUXpresso SDK for the LPC55S69-EVK work right out-of-the-box on the E1 board. However, the ones that rely on the BOARD_BootClockPLL150M() or BOARD_BootClock100M() functional groups stall in the PLL initialization routine because the PLL is not locking as it doesn’t have a reference clock (due to the missing crystal):

 

Figure 6. The highlighted portion of the SDK example causes the board to hang up due to the missing external crystal.

 

There is, however, a simple workaround for this problem — the developer must provide a reference to PLL0 from the internal clock source instead of the missing crystal. The PLL multiplier and divider values need to be adjusted to maintain a 150 MHz output clock.

 

Creating a New Functional Group

One of the SDK example projects that requires the missing 16 MHz crystal is the free RTOS based dev_hid_mouse_freertos example. The clocks diagram in the clocks configuration tool within MCUXpresso reveals that this example utilizes the 16 MHz crystal by default to generate a 150 MHz clock signal.

The FreeRTOS based dev_hid_mouse_freertos example requires the missing 16 MHz crystal to function properly. The clocks diagram in the clocks configuration tool within MCUXpresso reveals that this example utilizes the 16 MHz crystal by default to generate a 150 MHz clock signal, and a new functional group needs to be created to overcome this issue. 

This video guide gives a short tour of the clocks configuration tool and explains how it can be used to create a new functional group within MCUXpresso.

 

The OKdo E1 Board: Small Yet Powerful 

Although smaller in size, most of the features of the original LPC55S69-EVK are packed into the E1 board, meaning it can also function as an HID (like a mouse or custom keyboard).

 

Figure 7. The LPC55S69 that enables the OKdo E1.

 

The main Cortex-M33 core running at 150MHz featured on the LPC55S69 MCU supports the TrustZone extension, extended security features, cryptography, and DSP Accelerators (CASPER and PowerQuad). The MCU also comes equipped with 640kbytes of flash memory.

The evaluation kit exposes 32 GPIO pins, and the design of the device allows it to be soldered directly onto another board without the need to use pin-headers. The rich features, the small form-factor, the overall versatility of the design, and the powerful MCU make this a good board for small production runs and prototypes.

More information and examples based on NXP's MCUXpresso IDE and free Software Development Kit (SDK) can be found at the MCUXpresso product page. A growing list of application notes, tutorials, videos, and more can be found at NXP’s community site

Industry Articles are a form of content that allows industry partners to share useful news, messages, and technology with All About Circuits readers in a way editorial content is not well suited to. All Industry Articles are subject to strict editorial guidelines with the intention of offering readers useful news, technical expertise, or stories. The viewpoints and opinions expressed in Industry Articles are those of the partner and not necessarily those of All About Circuits or its writers.

1 Comment
  • Rafael Dias Menezes August 24, 2021

    I’m having some problems with my board. I think the jtag didn’t come programmed. When I connect the board through an USB cable to my computer (I tried with Linux and Windows 7) nothing happens.

    Like. Reply