Go Light Your World

Let us capture your your memory with our cameras. This is our blog…

Yet another little board…

I successfully made and tested another board based on the QFN32 version of the KL25Z device, the smallest package it comes in. It’s a pain to solder down because the PCB pads need to be pre-wet with solder, a generous helping of flux applied, aligned via eye-ball, and then hot air gently blown so as to melt and reflow the solder. A soldering iron top is too fat to get down into the crevasse to solder.


The schematic of the board is here:


The Eagle files and fabrication output are zipped up here: MicroKL25Z-DIP

Three boards may be ordered for $4.25 here: http://oshpark.com/shared_projects/MsCRJIem

Tags: ,

Posted in diy and Specialties by david on October 28th, 2013 at 1:57 pm.


10 Replies

  1. Carlo Garcia Dec 27th 2013

    Hi! How did you program the chip? Did you use the FRDM-KL25z as a jtag debugger?

  2. Yes, I did use a FRDM-KL25Z as a programmer, although it’s strictly not a JTAG debugger, it uses the three-wire serial SWD format instead of JTAG.

    I had to cut jumper J11 on the FRDM-KL25Z board and then wire over power, ground, RESET, SWD_IO, and SWD_CLK as I noted in a comment at mbed.org.

    I’ve had McHck.org boards built so I could use them as SWD programmers but I have not as yet built any of them up. I have gotten distracted by the i.MX53 Quick Start and i.MX6Qj Sabre SD boards for another project…

  3. Carlo Garcia Dec 28th 2013

    Thank you for the quick response. I actually wrote a similar question to your blog at mbed XD
    I’m still trying to get to ARM development and I found myself wanting to develop a custom board for kinetis mcu. It seems rolling your own PCB using LPC mcu’s are more straightforward than freescale’s? I have a segger J-link is the wiring going to be the same as what yo did with the FRDM board? :)

  4. I would expect the J-link connections to be the same, if it does SWD programming. Have you perused the forums at Freescale.com for anyone else using a J-link with Freescale devices? I’d be surprised if no one has especially since I’ve seen J-link hardware around. (Full disclosure: I am an employee but I do not directly work with the Kinetis device in any official capacity.)

    I have not done any SWD programming other than what Mbed does with the USB mounted flash drive. I have also only ever used Freescale’s ARM devices (i.MX and the Kinetis families).

    Freescale’s offerings in the Kinetis family are probably geared more towards high volume manufacturers rather than a hobbyist, so there are more QFPs and QFNs than PDIPs and SOICs.

    What is your custom board going do to? Can you prototype it with the FRDM-KL25Z board first? At ~$13, it’s probably cheaper than rolling your own unless you’re needing to add stuff that there are not already existing boards for (like on Arduino shields that can plug onto the FRDM board).

    In fact, for another project I had some FET shields made up that mate with the FRDM-KL25Z board. I’ve since moved to running the whole application under Ubuntu on an i.MX6Q on the Sabre SD board rather than having to dedicate one of our Macbooks to the task. The header spacing on the FET board mates with the FRDM board nicely, so if you’d like the Eagle files for it, I can send them your way.

  5. Carlo Garcia Dec 29th 2013

    I had a project of wireless sensor networks using an Arduino and then eventually developing a custom board . I wanted to develop a new one with an ARM mcu and eventually stumbled on mbed. I plan on having a slimmer form factor and I saw your posts :). I think i’m going with the Kl25z programming route as it is simpler.

    I’ve read about this and does this method hold for the FRDM-KL46Z on programming kinetis KL46 mcu?

  6. Using any of the FRDM boards as a programmer for another Kinetis should work. As I understand it, all the FRDM boards use a K20 for the programming MCU, and it will program other SWD devices.

    MBED, as it is at the moment, only allows using the KL25Z online while other devices can be programmed with an offline tool chain. I’m not sure how to do this since I’ve never done it. I also believe MBED will eventually add support for other Freescale Kinetis devices as times goes on.

    The firmware in the K20 is part of what makes the FRDM-KL25Z an ‘MBED’ device. It creates the USB drive, programs the main MCU, and provides the USB serial port.

  7. Hi, impressive. I triedf making a custom board for the kl24z, i have trouble with the crystal oscillator. its not even oscilating after powering the circuit and i think that is my problem. what oscillator did you use with your board? Any advise? I will make a new board in this form and try again.

  8. I did not include a crystal (or space for one) on the smaller board.

    On the 2″ square board, I did include the pads for a crystal and the caps associated with it. At first, I did not populate them but after finding some issues with the clocking code in MBED when using the internal oscillator, I added the two caps and the crystal. It seemed to oscillate fine and rectified the clock code problems I’d previously encountered.

    Things to note for the crystal lines: The traces to the crystal and capacitors need to be as short as possible. The ground side of the capacitors should also be as short as possible to the main ground line. The capacitors are necessary since it helps keep the oscillator stable as well as to start up in the first place.

    Did you include bypass capacitors on your board? Were the trace lengths between the caps, ground, the +3.3V supply, and the KL24Z power and ground pins as short as possible?

    If you have an external oscillator, you can try to feed an external clock in and see if that gets your board up and running. It would at least prove that nothing else is wrong with your board.

  9. I considered your points on the crystal, did another board and it worked, just that I did not use mbed, I just tried some baremetal project, I used openOCD and arm-none-eabi-gdb debugger

  10. Dhananjayan Nov 5th 2014

    Hai. First I Thank you for your help.

    I am developing a board with KL25Z128VLH4 MCU. For programming the MCU i am using the FRDM-KL25Z board with SWD interface. I have cut the trace J11 and connected “J9″ RESET, GND, SWD_DIO and SWD_CLK pins to the my target MCU.

    I am using coocox CoIDE with CMSIS-DAP interface for programming. My problem is i am getting the error as “USB Communication Failed” while flashing.

    I also tried using MSD firmware, where i can drag and drop the bin file into the FRDM window. In this mode i get “Error 7″ in the “LASTSTAT” text file.

    Please help me to solve this issue. Thank you once again.

Leave a Reply

Bad Behavior has blocked 207 access attempts in the last 7 days.