Unable to build MicroEJ project with veeport plugin from CLI or recognize as MicroEJ project in SDK IDE

Hi Alexis,

Thanks for your response.

We are trying to build a thermostat-style UI application on the FRDM-RW612 using MicroEJ. Since the official thermostat demo seems unavailable, we started from the simpleGFX app and created a custom screen (ThermostatScreen) to render basic text and temperature.

While integrating it, we encountered several issues:

  • Some APIs like GraphicsContext.drawString() and fillRect() were not found.
  • We initially imported ej.mwt.graphics.GraphicsContext, which couldn’t be resolved.
  • We then tried using ej.microui.display.GraphicsContext, but the required methods were missing.
  • We also observed dependency conflicts between versions of ej.library.ui:mwt and widget, and saw errors related to the missing ej.api:drawing:3.0.5(not sure about version number so tried 2-3 different).

It seems like the required drawing/vector graphics libraries are either incompatible or not supported on RW612.

Could you please guide us on the correct libraries and approach to implement a UI on this board?
Also, could you share a link or resource to find API documentation or references (e.g., javadoc) for MicroEJ UI development?

Thanks in advance for your help.

Best regards,
Nilesh

Hello Nilesh,

When using a class from a library that was not already used in your project, you can search it in our Javadoc. On the top-right corner of the screen you can find the dependency to add to your project’s build.gradle.kts. Here is an example for the GraphicsContext class which comes from the MWT library:


This gives the latest dependency version.

However, MWT, Drawing and Widget libraries are already included in the SimpleGFX application project:

The versions used are defined in the gradle/libs.versions.toml file.

You are trying to use the GraphicsContext.drawString() and GraphicsContext.fillRect() methods, but as you can see in the GraphicsContext Javadoc those methods do not exist. They are actually methods from the Painter class.

Regards,
Alexis

Hello Alexis,

I’m working on a SimpleGFX application in SDK6 for the FRDM-RW612 board.
I want to use custom fonts (e.g., LibertinusSans-Regular.ttf) and load them in my code like:

Font font = Font.getFont(“/fonts/LibertinusSans-Regular_22px-400.ejf”);

However, I’m unsure how to generate the .ejf font files in SDK6.
I read the UI Font Overview documentation, but that assumes using the older SDK with the Font Designer tool in Eclipse.

Since SDK6 is Gradle-based and plugin form (no full Eclipse SDK IDE), could you please clarify:

What is the correct way in SDK6 to convert .ttf to .ejf?

Can this be automated in build.gradle.kts for a project in apps/simpleGFX?

Are there any existing MicroEJ CLI tools or Gradle tasks for font generation in SDK6?

Thank you,
Nilesh

Hello Nilesh,

Unfortunately it is not possible to generate ejf fonts from the SDK 6 yet. Currently you have to use the SDK5 Dist.

Here is the documentation of the Font Desinger tool: Font Designer — MicroEJ Documentation.

Regards,
Alexis

Hello Alexis,

Thanks for the clarification on generating .ejf fonts. Since SDK 5 does not support the FRDM-RW612, I wanted to confirm:

  • Is it accurate and safe to use .ejf fonts generated from SDK 5 directly in our SDK 6 project for RW612?
  • We tried integrating such fonts, but the screen only displays the background when loaded (works fine with default font fallback). Could you share an .ejf file example for FRDM-RW612 + LCD PAR S035 using custom fonts, or detailed steps to make this work?

Also, is there any update on the Thermostat demo from the website—whether it’s planned or available for RW612?

Regards,
Nilesh Patel

Hello Nilesh,

As the tool is not yet available in SDK6, it is correct to generate the ejf in the SDK5 and to use it in the SDK6 project.

For the font display issue, do you have any error? If you don’t have any error, did you check that the text is drawn at valid coordinates and with a color different from the background color?

If you can share your code I can check if I see any issue.

Regards,
Alexis