Fail! The Zumo Shield Blade Problem

Ahhhhrg! I admit: I’m not immune to all the silly problems an engineer can face in his life. And sometimes it is about the most basic things. This morning was again such a day: One of the infrared sensors of my Zumo Robot reported wrong values:

Sensor wrong values

Sensor wrong values

Continue reading

Advertisements

Electric Race Car “julier” wins at Red Bull Ring in Spielberg

I’m very, very proud about what the FSE (Formula Student Electric) team accomplished! After winning the overall 1st place in Silverstone (UK), the overall 2nd place in Hockenheim (Germany), they managed to win the Formula Student event in Spielberg (Austria) too 🙂

Julier in Spielberg (Benjamin Hildebrandt)

Julier in Spielberg (Benjamin Hildebrandt)

Continue reading

Optimized FreeRTOS: Stack Check and SysTick for ARM Cortex Cores

The ARM Cortex specification includes the ‘SysTick’ (System Tick Timer): a dedicated system timer which is intended to be used as time base for an RTOS. While technically it would be possible to use any periodic interrupt timer, I’m using as well the SysTick for my FreeRTOS ARM ports. And because Processor Expert includes a nice timer interface, I’m using the TimerUnit_LDD:

TimerUnit LDD for SysTick

TimerUnit LDD for SysTick

While this is great for flexibility, it has its price in efficiency. That TimerUnit_LDD adds overhead. So I want to get rid of the TimerUnit_LDD and use a more efficient way.

Continue reading

USB for the Freescale ARM Kinetis KL46Z and K21D50M

As I was so pleased with the FRDM-KL46Z board, that I have ordered the Tower version of it, the TWR-KL46Z48M:

FRDM-KL46Z with TWR-KL46Z48M

FRDM-KL46Z with TWR-KL46Z48M

What I missed so far was USB support for the KL46Z. So time to have a quick look at board(s) and to add USB support for it.

Continue reading

Tutorial: FreeMASTER Visualization and Run-Time Debugging

“A picture says more than 1000 words.”

I don’t know the source of that quote, but for sure it is true for every developer and engineer too. Engineers need to work a lot with numbers. But numbers can be transformed into pictures and graphs which can make complex things and relationships easier to understand. Verifying proper functionality of a PID closed loop controller or watching sensor values with a nice plot is definitely something very useful. Would it not be great to watch sensor data changing over time in a chart like the one below?

Accelerometer Graph

Accelerometer Graph

One way is to export data and then show it e.g. in Excel (which has been great chart functions). But even better, if this could be done directly with data provided from the target board? If you think this is hard to do, then I can show you how this can be done in a few steps with the help of a very nice tool: FreeMASTER 🙂

Continue reading

Driver for Microchip 24xx Serial EEPROM

For many projects I need to store configuration or sensor data. For this I’m using either an SD card or program the internal flash memory of the microcontroller. Using the internal flash is a good thing as it does not need an external component. However, the typical number of programming cycles is limited to 10k-50k which is a limiting factor if data has to be recorded over a long time or very often. That’s why I’m using the very popular external 24xx external EEPROM devices from Microchip.

24LC512 connected to FRDM-KL25Z

24LC512 connected to FRDM-KL25Z

Continue reading

Installing eGit in Eclipse and CodeWarrior for MCU10.4

Git is now my favorite version control system. Git and GitHub are very powerful, it has (nearly) all features I can think about, and best of all: As a distributed version control system, I can work with it, even if disconnected from the network :-).

There are many standalone and IDE integration available for Git. Beside of using TortoiseGit, I’m using the eGit Eclipse integration. This post is about how to install eGit in Eclipse, particularly in CodeWarrior for MCU10.4.

Continue reading

Kinetis ARM Cortex M4 DIY Board for $5

I love the Freedom boards, like the most recent FRDM-KL46Z for about US$15. But if I think that the ‘Freedom’ board is to big, cost too much and has too much on it, then here is one which is built for only US$5 :-): The MC HCK (pronounced “McHack”):

Continue reading

Device Driver for Freescale MAG3110 Digital Magnetometer

One of the ‘goodies’ of the FRDM-KL46Z is the Freescale MAG3110 magnetometer. The MAG3110 is a tiny 2×2 mm device:

MAG3110 on FRDM-KL46Z

MAG3110 on FRDM-KL46Z

What was missing so far is a Processor Expert component for it. This post is about closing this gap…

Continue reading

DIY Free Toolchain for Kinetis: Part 6 – Linux Host with OpenOCD and CMSIS-DAP

For everyone who wants to build a Do-It-Yourself toolchain for Kinetis on Linux, I recommend to read the following excellent post by Karibe:

Setting up Linux opensource build and debug tools for freescale freedom board FRDM-KL25Z

He describes how to get OpenOCD with CMSIS-DAP working with Eclipse on Ubuntu to debug the FRDM-KL25Z board.

List of Tutorials

Happy Linuxing 🙂

DIY Free Toolchain for Kinetis: Part 5 – FreeRTOS Eclipse Kernel Awareness with GDB

So far I have covered in this tutorial series how to install ARM GNU gcc, adding Eclipse, followed by adding GNU GDB debugger, and then adding Processor Expert. I’m using FreeRTOS a lot in my projects, and luckily there is a Kernel Awareness Plugin available for FreeRTOS for GDB in Eclipse. This tutorial is about how to install and use it.

Queues and Tasks

Queues and Tasks

Continue reading

DIY Free Toolchain for Kinetis: Part 4 – Processor Expert for Eclipse

I covered in a previous tutorial how add ARM gcc to Kepler Eclipse to build a DYI toolchain. I’m using Processor Expert a *lot* in my project, because it simplifies and speeds up the development of my embedded applications. What is missing so far is how Processor Expert can be added to Eclipse. As Kepler is as of this writing the latest Eclipse version, this tutorial is using that version.

Eclipse Luna is *NOT* supported in Processor Expert 10.4! Eclipse Luna is expected to be supported in Processor Expert 10.5 coming out in 2015! So if you are using Processor Expert 10.4, then make sure you are using Eclipse Kepler.

Processor Expert Project in Kepler Eclipse

Processor Expert Project in Kepler Eclipse

Continue reading

Using the FRDM-KL25Z as a USB Mouse Device

I finally completed my project turning the FRDM-KL25Z board into a USB mouse device :-). The form factor and the capabilities of the Freedom board makes it a great board for implementing it as a ‘custom mouse’. All what I need is the USB stack running on it and have it acting as USB HID Mouse device.

FRDM-KL25Z enumerated as USB HID Mouse Device

FRDM-KL25Z enumerated as USB HID Mouse Device

Continue reading