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”):

Basically it is a PCB board which I can build and assemble myself with SMD components (some soldering skills required). It plugs directly into a USB port, but can be powered from batteries too.

💡 With the USB connector, the board can run a bootloader or a DFU updater. I’m only wondering how they managed to get USB without the usual needed external crystal for Freescale USB microcontrollers? According to a comment on Hack-a-Day “it works”, but not sure how reliable’?

It is very versatile, and you can populate it with your own parts as desired: SPI or I2C external memory, LiPo charger, regulators, or even the nRF24L01 I used here.

It is an open source project: The Wiki and blog pages have all the information needed, and sources are on GitHub.

A Freescale Kinetis K20 (ARM-Cortex M4) in QFP48 package can be put on the board. There is no SWD/JTAG header on the board, so you need to pre-program the microprocessor or use an adapter to the SWD pins. The Bus Master or Bus Pirate can be used for this (see this Wiki).

In summary: this is really an interesting low-cost project. With the low-cost, the versatility and the simplicity of this board I can imagine that it will be used for many projects.

Happy HCKing 🙂

11 thoughts on “Kinetis ARM Cortex M4 DIY Board for $5

    • Hi Bill,
      thanks for sharing the pictures! I wish the JS16 would have been that powerful as an ARM M4 today. I used the JS16 in only one project: USB was great, but I would have needed more RAM. The JM60 changed this which I still use in some of my designs.


      • Yup, the JS16 is nice because it was easier to solder, and it is 5V. But RAM is in short supply. Not really intended for very complex applications. I played with JM60 a bit. But immediately jumped to the MCF51JM128. More elbow room.

        I did another project that used the JS16. It is an OBD-II interface.


        • Yes, I’m using the MCF51JM128 too, especially as with it I can run USB Host (HID) applications. I have seen the JS16 as well as BDM programming device.


      • A really nice chip for hobby use is the Microchip PIC32MX250F12B. 32-bit CPU (MIPS based, if I remember correctly), 28-pin skinny DIP package. 128K Flash and 32K RAM. Most I/O pins can be remapped, and 5V tolerant. I played with it some for a project but never got past the breadboard stage. Unfortunately the Microchip MPLAB-X toolchain is horribly buggy, and the PICkit3 (low cost) programmer/debugger pod is *very* slow. Single stepping over a line of source code takes several seconds and forget examine contents of variables unless you have a lot of time on your hands. I got disgusted with the tools and gave up. I decided you only have to solder a chip once, but we spend all day with these software tools.


        • I think in todays domination of ARM cores, with the right software and tools approach, it is much easier to change the silicon than to change the software architecture. I feel the silicon release cycles get shorter and shorter (with even more revisions), while developing solid firmware gets longer and longer.


    • I hope I’m not over-doing it today with posts. Here’s another general purpose board I made up in 2011. It uses the MCF51AC256. I dumped the JM128 and went to the AC256 to get more memory but lost on-chip USB. Had to use an external FTDI USB chip as a result. Included SD card socket, external (big) SPI EEPROM chip, and voltage regulator on the bottom side.


  1. Hi Erich,

    It is an open source project like Arduino? I mean people can make it and sell it without license. And there is a repo of mchck in your github account. So you are also running mchck?


    • Hi Allan,
      yes, everything is open source. But you need to check the licensing terms. As it is for now it is using a GPLv3 license (and not a LGPL one). This means, if you link software with proprietary code, you need to publish it.


What do you think?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.