Creating a cool knob using the SEGGER AppWizard

This article documents the process of creating a decent-looking knob for an embedded GUI, using the new SEGGER AppWizard, which – at the time of this writing – is still under construction. I describe the hunt for suitable graphics, the tools I used to adapt them to meet my needs, and how I ended up with […]

SMASH: an efficient compression algorithm for microcontrollers

One of the things that is driven from the top in SEGGER is that we can always do better. Not satisfied with standard schemes, we wanted to optimize emCompress, SEGGER’s compression library, for: Very fast decompression High compression ratio (uncompressed size divided by compressed size) Small decompressor Limited state in RAM when decompressing

Using a watchdog in a multi-task (RTOS) environment

Clementine, a NASA satellite to test sensors and spacecraft components under extended exposure to the space environment, was launched on 25 January 1994. For the lack of a few lines of watchdog code, her mission was lost on 7 May 1994. Clementine had performed lunar mapping for approximately two consecutive months when she left lunar […]

Performance tuning our software

As you may have noticed, SEGGER have introduced a cryptographic algorithm library, emCrypt. We released this product as existing and new customers wanted to use the “hidden” cryptographic capabilities of emSSL but didn’t need to run SSL/TLS as a protocol. Well, that is not entirely true, some customers already had licenses for emSSL but also […]

Why you should benchmark your embedded system

There are plenty of potential reasons why an embedded system may not deliver the full CPU performance. This is not even that easy to detect, so here is a way to check if your system gives you the performance you expect. What can go wrong? Today’s embedded systems are complex computers. Microcontrollers are usually easiest […]