The Seefelder Spitze is a mountain peak near Seefeld (Tyrol) at 2220 meters high. That peak was the goal of a hiking tour in the Karwendel Alps:
Constructing Software for Hardware
While developing a data logger for an advanced UAV inertial sensor I had to think about the quote below several times:
“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. It demands the same skill, devotion, insight, and even inspiration as the discovery of the simple physical laws which underlie the complex phenomena of nature.”
C. A. R. Hoare
Still my design is not simple, and still I have to discover the not so simple physical laws of that sensor :-(.
That quote from Sir Charles Antony Richard Hoare is so true. In case you did not know: he is the one who developed the quicksort algorithm. With this and all his other work he shaped the software and computer industry. And reminds me about the challenges and difficulties of constructing software……
Happy Constructing š
Tutorial: Muxing with the New NXP Pins Tool
I don’t know if it is the same for you. But for me, configuring the pins on these new ARM microcontroller is a challenge: Most pins can do multiple functions, such as be used as I²C, UART or GPIO pins.
Configuring the pins ‘by hand’ is difficult, error-prone and usually the first thing I need to do for a new project/device. NXP developed a new tool for this task and previewed it at FTF 2016. It is available now both as web (online) and desktop (locally installed) tool. At FTF it was possible to play with an engineering release: time to get my hands on the public release :-). And as more and more student projects will start using that tool for their boards, I better have a tutorial for it :-).
A Flying UAV Drone Full of Sensors
One goal of this blog is to inspire engineers, in one way or another. And when I get reports back that things were useful, I like to share it :-).
So here is something what a team of young undergraduates (Przemyslaw Brudny, Marek Ulita, Maciej Olejnik) did for theirs Master Thesis work at the Politechnika Wroclawska, Poland: a very cool flying machine controlled by two Kinetis K66, having many sensors (on own designed boards) with a custom debug/programmer board similar to the tinyK20, developed with the NXP Kinetis Design Studio:
INTRO FS2016 Semester Closing with Robot Maze Challenge
“Learning-by-doing” is one of the core principles of my embedded systems and robotics course at the Lucerne University. For this the students apply what they learned using a robotics platform. In earlier semesters we did a Sumo battle at the end. This time the challenge was to build a remote controller plus to add the ability to explore and solve a line maze:
McuOnEclipse Components: 29-May-2016 Release
Major changes in this new release:
- FreeRTOS V9.0.0 with static memory allocation.
- Shell with single character I/O function.
- FatFS File System with extra shell commands for memory dump and file creation.
- Segger SystemViewer library updated to V2.36a
FreeRTOS V9.0.0 with Static Memory Allocation
I’m using FreeRTOS in most of my applications. There were only a few exceptions where an RTOS has to be used in safety critical systems: there usually it is not permitted to use any dynamic memory allocation because this adds the risk that a memory allocation could fail at runtime because of memory fragmentation or memory leak. And FreeRTOS uses a dynamic memory (heap) for the task stacks and the RTOS resources including semaphore, mutex and queues.
This is now a thing of the past. This week a new FreeRTOS Version 9 was released which does not need any dynamic memory allocation anymore: it is possible now to build completely statically allocated systems with FreeRTOS :-).
Schwanau
The Schwanau is a little island in Lake Lauerz. It is occupied by a ruined castle, a chapel and a restaurant:
Build and Clean Selected Files in Eclipse CDT
Sometimes it is very useful to clean or build a selected set of files. For this I select the file(s) in the Eclipse Project Explorer and use the context menu:
To-Do Lists with Eclipse Tasks View
Eclipse has a cool feature which might not be known to everyone: the ‘To-Do’ (or Tasks) List which keeps track of what I have to do:









