Optimized and Easy-to-Use Eclipse Toolbars and Menus

阿里彩票平台官网下载i love eclipse because as an ide it can do pretty much everything. up to the point that some call it an ‘‘: something which can do anything. but with all the tools, menus and features, it can be daunting for a someone new to eclipse. but the good news is: eclipse is very versatile and can be customized to make it easier and simpler to use too. in this article i show how i’m tweaking it the way i want it, with just the menus and buttons i need:

Eclipse Optimized Menus and Toolbars

eclipse optimized menus and toolbars

Continue reading

Copyright Law for Makers and Educators

Maker spaces and ‘FabLabs’ are popular and accessible in many areas. 3D printers are on the cheap, and powerful laser cutters are in the range of the fearless hobbyist. You can get dirty-cheap PCBs from China in less than a week (ok, probably not right now because of Corona virus) and it is easy to SMD solder parts these days with a DIY SMD PnP machine and OpenPnP. With the right equipment and skill set it is possible to build many cool projects. It is very rewarding and a great learning thing. Blog about it so other can learn too. And it even could get featured on .

but: the risk is that someone might send you letter about a ‘copyright infringement’. sadly, this is what happened to me for one of my recent projects. i don’t think that ‘take down’ letter was justified, but i learned a great deal what i should have done differently to avoid that situation. so in the end, it was a learning opportunity, which i believe is worth to share. in essence: what can a maker or educator do?

hackaday building a giant meta-clock made of smaller clocks

阿里彩票平台官网下载hackaday: building a giant meta-clock made of smaller clocks (image: original image from hackaday)

Continue reading

Tutorial: Maximum Clock Frequency for Kinetis using MCUXpresso Clock Tools

The tinyK22 board阿里彩票平台官网下载 with the NXP K22FN512 is a bread-board-friendly small board with a 8 MHz external oscillator:

tinyk22 board

This tutorial is about how to use the NXP MCUXpresso Clock configuration and configure the board to the maximum clock frequency of 120 MHz. The same steps apply to many other boards, including the FRDM-K22F one.

Continue reading

Visualizing Data with Eclipse, gdb and gnuplot

The gnuplot阿里彩票平台官网下载 is a versatile and powerful tool to plot and visualize all kind of data. I wish there would be a plugin for it in Eclipse. But as this is not (yet?) the case, here is how I’m using it with gdb and Eclipse, using the MCUXpresso IDE as example.

Gnuplot with Eclipse

gnuplot with eclipse

Continue reading

Storm “Sabine” is coming …


阿里彩票平台官网下载one week after the storm “petra”, the new one named “sabine” is approaching switzerland. this winter is really special so far: nearly no snow, record high temperatures and it feels more like spring than winter…

It should be winter

it should be winter now?

Continue reading

Enable Default FreeRTOS Debugging for LinkServer Debug Connections

most of my projects are using freertos, and i’m using different debug probes (segger, p&e and linkserver) to debug nxp devices.

阿里彩票平台官网下载the nxp linkserver debug connection is able to show the rtos threads in eclipse/mcuxpresso ide which is incredibly helpful:

FreeRTOS Thread Aware Debugging with LinkServer Connection

阿里彩票平台官网下载freertos thread aware debugging with linkserver connection

阿里彩票平台官网下载however, by default this is turned off. in this article i show how to turn this on by default.

Continue reading

Ways to apply Eclipse CDT C/C++ Project Settings

阿里彩票平台官网下载eclipse with its cdt managed make system makes it easy to build projects, because it can handle a lot of the background tasks and settings between the project and the build setting. it can get a bit difficult if i want to include a library or other sub-source project for which i have to add extra compiler #define or add extra includes path settings.

Eclipse project settings for incliude paths

阿里彩票平台官网下载eclipse project settings for include paths

this article show the different ways i have found to make such imports (and exports) easier.

Continue reading

Listing Code and Data Size for all Files with the GNU size Utility in a Post-Build Action

阿里彩票平台官网下载the utility which is part of the gnu build tools shows code and data size for archive or object files. it is usually used as a post-build step in eclipse cdt to show text, data and bss at the end of the build:

Detailed size information for each file

阿里彩票平台官网下载detailed size information for each file

Continue reading

Eclipse Spell Checker for C/C++ Code

one great feature of eclipse is its built-in spell checking engine. so no more  excuses are possible for typos in the source code ;-). eclipse scans the source code in the background and offers to correct it:

Eclipse Spell Checker

阿里彩票平台官网下载eclipse spell checker

Continue reading

MCUXpresso IDE V11.1.0

right before christmas 2019, nxp has released a new version of the mcuxpresso ide, the version 11.1.0. this gave me time to explore it over the christmas/new-year break and evaluate it for the next university semester. there are several new features which will make my labs using it easier, so i plan to get the course material updated for it.

MCUXpresso IDE V11.1.0 Welcome Screen

阿里彩票平台官网下载mcuxpresso ide v11.1.0 welcome screen

阿里彩票平台官网下载after the break you will find the highlights …

Continue reading

Implementing FreeRTOS Performance Counters on ARM Cortex-M

when using an rtos like freertos, sooner or later you have to ask the question: how much time is spent in each task? the eclipse based mcuxpresso ide has a nice view showing exactly this kind of information:

FreeRTOS Runtime Information

freertos runtime information

阿里彩票平台官网下载for freertos (or that task list view) to show that very useful information, the developer has to provide a helping hand so the rtos can collect this information. this article shows how this can be done on an arm cortex-m.

Continue reading

DIY ‘Meta Clock’ with 24 Analog Clocks


“human since 1982 have the copyright to works displaying digital time using a grid arrangement of analog clocks…”

阿里彩票平台官网下载i’m not a lawyer, but without obligations (imho) i have removed the content.

thanks for understanding,


Investigating ARM Cortex® M33 core – WiFi with Mikroe WiFi 10 click board

For this last blog in the series Investigating ARM Cortex® M33 core阿里彩票平台官网下载 I decided to explore the expansion features of the LPC55S69-EVK. This board has three expansion ports (PMOD, Arduino Duo, Mikroe click) and I picked the Mikroe expansion port. Why? Only because I had good experience with these boards with the project.

And because I have been doing some work this month with AWS IOT I wanted to get my LPC55S69-EVK onto my office WiFi network for the Christmas holidays. I know that the MCUXpresso SDK for lpcxpresso55s69 version 2.6.3 has a built-in WiFi example named qca_demo, and so that is what I am investigating today.

that wifi example supports three wifi shield boards, and i picked the board. it’s part number mikroe-3432 and available from all of the usual catalogue distributors.

WiFi 10 click board from Mikroelektronika
Continue reading

Investigating ARM Cortex® M33 core – Dual Core debug tutorial

In last week’s blog I explained that the LPC55S69 microcontroller from NXP has two Cortex® M33 cores, named core0 and core1. There was a lot of theory, and so this week I put it all into practice and show you how to debug 2 cores with MCUXpresso IDE.

Multicore Debugging Interface in MCUXpresso IDE showing 2 different projects
Continue reading

Investigating ARM Cortex® M33 core – NXP LPC55S69 has *two* M33 cores.

Throughout this series I’ve been using the LPC55S69 microcontroller from NXP as a platform to investigate the ARM Cortex® M33 core. NXP designed the LPC55S69 with two Cortex M33 cores and so this week I’m investigating these in more detail.

You’ll remember that when ARM launch a processor core it will have a number of optional features. This is shown very clearly on the LPC55S69. The 150 MHz primary core – cpu0 – is a full implementation of Cortex® M33 and includes the optional components FPU, MPU, DSP, ITM and the TrustZone® features.

Continue reading

Investigating ARM Cortex® M33 core – DSP Acceleration 3 (PowerQuad FFT Tutorial)

i’ve always felt that the fourier transform (and in particular the embedded implementation fast fourier transform) is the goat* of the dsp algorithms. the ability to convert a time-domain signal into a frequency-domain signal is invaluable in applications as diverse as audio processing, medical electrocardiographs (ecgs) and speech recognition.

So this week I’ll show you how to use the Transform engine in the PowerQuad on LPC55S69 to calculate a 512-point FFT阿里彩票平台官网下载. All of the difficult steps are very easily managed and the PowerQuad does all of the very heavy lifting.

Data from PowerQuad – 512-point real FFT on 400 Hz input signal with 1200 Hz harmonic
Continue reading

Investigating ARM Cortex® M33 core – DSP Acceleration 2 (PowerQuad Matrix Engine Tutorial)

Last week I showed you how to use the Coprocessor interface of PowerQuad to calculate (mostly) unary functions. As an example the natural logarithm ln(x) takes just one operand, whilst the floating divide in PowerQuad requires two operands (x1)/(x2). PowerQuad is very efficient accelerating these functions, requiring just 6 clock cycles for the ln(x) and 6 clock cycles for the float (x1)/(x2). In comparison the single-precision floating point unit in Cortex® M4F and M33F requires 13 clock cycles阿里彩票平台官网下载 to perform the same float divide.

But there are two ‘sides’ to the PowerQuad:

  • The Coprocessor interface, using ARMv8-M coprocessor instructions;
  • The AHB bus interface, where we address PowerQuad as a peripheral.

阿里彩票平台官网下载so this week… operating the powerquad as a peripheral. i’ll show you how to use the powerquad sdk driver in mcuxpresso in a new project, and use the matrix engine in the powerquad to solve simultaneous equations.

Continue reading

OpenPnP Solder Paste Dispensing Video

OpenPnP (see “Building a DIY SMT Pick&Place Machine with OpenPnP and Smoothieboard (NXP LPC1769)“) is a cool open source framework to run Pick&Place machines. I have mentored and supported Tobias Mailänder who extended the PnP machine with the ability to dispense solder past on PCBs. Below a video (courtesy of Tobias Mailänder) which shows the machine in action:

阿里彩票平台官网下载it is still a prototype, but things are working very well.

Continue reading

World Stepper Clock with NXP LPC845

I really love clocks. I think this is I am living here in Switzerland. Beside of that: clock projects are just fun :-). After I have completed a single clock using stepper motors (see “DIY Stepper Motor Clock with NXP LPC845-BRK阿里彩票平台官网下载“), I wanted to build a special one which is able to show up to four different time zones: Below an example with London (UK), New York (USA), Beijing (China) and Lucerne (Switzerland):

Stepper Clock

stepper clock

Continue reading

Investigating ARM Cortex® M33 core with TrustZone® – DSP Acceleration 1

If you ask your colleagues about ARM Cortex® M33 core, they’ll most likely remember that the ARMv8-M architecture adds the (optional!) TrustZone® security extension. But one, overlooked but significant new feature in ARMv8-M is the new coprocessor interface.

ARMv8-M adds many new features to the core architecture, including Co-processor interface

With the LPC55S69 microcontroller, NXP decided to add an extremely powerful DSP Accelerator onto this coprocessor interface, named PowerQuad阿里彩票平台官网下载. In this week’s video series I’m investigating the PowerQuad, and the functions that it provides.

Continue reading