Christmas and New Year time is great: Gifts and time to work on my home projects. But this post is not about one gift I have organized for myself: a Raspberry Pi ;-)). No, this post is about a gift I have received from Freescale: a *new* Freedom board, the FRDM-KL05Z :-).
The board is available for pre-orders at element14 and has the same size and shape as the FRDM-KL25Z.

3 Freedom Boards (green: new FRDM-KL05Z, black ‘production’ FRDM-KL25Z and white ‘preproduction’ KL25Z board)
The KL05Z features the KL05Z processor from the KL0 family, which is the smallest and tiny brother of the KL2(5Z).
The board includes the MMA8451Q accelerometer, a reset button, a RGB LED and touch slider area, similar to the FRDM-KL25Z.
The differences are shown best in a comparison table:
FRDM-KL05Z | FRDM-KL25Z | |
---|---|---|
CPU | KL05Z32 (QFN32), ARM Cortex-M0+ | KL25Z128 (LQFP80), ARM Cortex-M0+ |
FLASH | 32 KByte | 128 KByte |
SRAM | 4 KByte | 16 KByte |
Crystal | 32 kHz | 8 MHz |
USB | no | yes |
Arduino Headers | Single (not populated) | Dual (not populated) |
RGB LED | yes | yes |
Touch Slider | yes | yes |
Accelerometer | MMA8451Q | MMA8451Q |
USB OpenSDA Debug | yes | yes |
Kit Content | Board only | Board only |
Price | Euro 9.10 | Euro 10.37 |
Note: my board has the Arduino and the JTAG headers (both for the OpenSDA and for the KL05) populated. I expect that the final board (as the KL25Z) will *not* have these headers and battery holder populated. See this post about possible parts to populate the board. My board has as the ‘white’ KL25Z boards U5 with an external EEPROM populated, while I expect that this part will not be present on the final boards (as on the black KL25Z). The picture on element14 site even does not show the U5 footprint any more.
💡 The KL25Z board has a 8 MHz crystal which is needed for USB operation. Such a 8 MHz crystal usually draws more current than a 32 kHz one as found on the KL05Z. So I would expect that the FRDM-KL05Z board woudl be more ideal for low power applications. But at the price of not having a USB port for the microcontroller. Still the OpenSDA USB port can be used e.g. for USB CDC (serial/terminal) communication.
Similar as the ‘big brother’ Freedom board: there are three jumpers/headers (J4, J5, J6) available for power measurement or to isolate the OpenSDA JTAG clock from the KL05Z.
As small detail: the mounting holes are slightly different compared to the KL25Z. The ones of the KL25Z do not match exactly to the Arduino shilds I have, and the one of the KL05Z have the same issue. Not a big deal, but having difference to the KL25Z seems odd to me.
My board is labeled as Rev X1, and the parts on the board are slightly differently located than on the picture on the element14 site: such as on my board the reset button is nearby the J9, while on the element14 site picture it is placed nearby the USB connector (which is a better place in my view).
CodeWarrior for MCU10.3
The KL05Z32 microprocessor is supported by CodeWarrior for MCU10.3 out of the box:
Debugging works exactly like on the FRDM-KL25Z with the OpenSDA interface. Debugging worked fine, and as well my Processor Expert components worked well. As for the KL2 family, ARM GNU gcc is used for the KL0 family of processors.
Note: Accidentially I downloaded a K25Z application through OpenSDA to the KL05Z, which then caused a hard fault on the KL05Z. While this is clearly a user error, I think the Open SDA interface should be able to verify if application binary and device are matching?
Conclusion
The FRDM-KL05Z is an interesting alternative to the FRDM-KL25Z board, especially to evaluate the KL05Z microprocessor. However, I get a lot more power and functionality (USB, more RAM and ROM) with the KL25Z for just about one Euro more. The FRDM-KL05Z could be a good alternative because of the different clock configuration for ultra-low power applications. Another consideration for the KL05 is the pin compatibility with the S08P 8bit processors: this makes the KL05Z an ideal candidate to migrate 8bit applications to the ARM 32bit world.
Happy KL0 Freedom 🙂
Pingback: The Freedom Robot | MCU on Eclipse
I was looking int this board yesterday and it seemed interesting. But then it turned out that CodeWarrior Basic costs almost $400. Is this IDE the only way to get started (in a time span of more than 30 days) with this sub $20 board? Seems like a kind of a deal breaker.
LikeLike
Hello, CodeWarrior comes free of charge with a code size limit. And there are other alternative IDE’s just to name IAR (see https://mcuoneclipse.com/2013/01/31/tutorial-iar-freertos-freedom-board/), Keil MDK, Coocox or CodeRed to name a few. They all come with a restricted free version which is a good starting point. An you have the MSD OpenSDA bootloader (see https://mcuoneclipse.com/2012/09/20/opensda-on-the-freedom-kl25z-board/) which allows you to load S19 files of any size. And with CodeWarrior you can download S19/Bin files of any size too (see https://mcuoneclipse.com/2012/04/30/flashing-with-a-button-and-a-magic-wand/). So you have plenty of free options.
LikeLike
When I downloaded Codewarrior 10.3 and tried to start a new project using the KL05Z there was just one tiny little problem. The 32 Pin QFN version does not exist in Codewarrior yet. Guess what, that is what the Freedom Board uses. So it is incorrect to state or imply that Codewarrior 10.3 works with the new KL05Z Freedom board “out of the box”.
If there are updates for Codewarrior to allow for the 32 pin version, please direct me to it. I find Freescale’s website exponentially complex to navigate and find what I am looking for, especially if it doesn’t exist in the first place. Perhaps they need a page just to list the things they don’t have or that does not exist. That would be more helpful for me:)
LikeLike
Hello, thanks for the feedback. And yes, you are right, the package created by the project is not matching the one on the board. But the 32pin version is indeed supported. I have documented the steps in this post: https://mcuoneclipse.com/2013/02/28/switching-processor-package-in-processor-expert/
I hope this helps.
LikeLike
You have helped me get the KL05Z started with Codewarrior and I successfully set a DAC output voltage. I’m not completely sure if I set the core clock correctly, but I am trying to get 48 MHz without using an external crystal. My fear is that I will not be able to use the internal reference clock to get the 48 MHz.
I set the internal reference to 37.5 KHz and put the core to 48 MHz and Bus to 24. Processor Expert accepts it. However, if it was anything like some of the HC08 processors, I would need an external crystal to get the maximum clock speed out of the chip.
LikeLike
Yes, I had this challenge with the S08 too. There it is because with the prescaler it might not be possible to reach the maximum because the maximum is not a multiple of the 32 kHz base clock. I have not worked much with the KL05 and 32 kHz crystal, but the ARM is different from the internal clock configuration and capabilities, so I would say that you can reach the clock you have configured.
LikeLike
Pingback: Switching Processor Package in Processor Expert | MCU on Eclipse
Pingback: FreeRTOS on the FRDM-KL05Z Board | MCU on Eclipse
Does the new board have the same OpenSDA problem as the original – that it’s locked to the serial number of the chip on the board? I was looking at some literature yesterday (Element14 now claims to have it in stock) and it was talking about adding an external debug header – but that was the case for the original, too.
LikeLike
I have not tried to program another board, as this is the only one I have. But I would bet that the firmware has the same limitation as the original. Until P&E releases a new firmware which would remove that limitation.
LikeLike
Pingback: A new Freedom Board: FRDM-K20D50M with ARM Cortex M4 | MCU on Eclipse
Pingback: Using the Freedom Board as JTAG Programmer | MCU on Eclipse
Pingback: Debug External Processors with USBDM and Freedom Board | MCU on Eclipse
Pingback: Debugging FRDM-KL05Z with USBDM | MCU on Eclipse