Inspired by MC-HCK and tinyK20, a small uC board for NXP Cortex M4 (K20 series)

Similar projects worth following
- NXP Kinetis K20DX128 Microcontroller (K20DX128VLF5)
ARM Cortex-M4, 50 MHz, 128 KB FLASH, 16 KB RAM,
Internal 5V to 3.3V DC converter (120 mA)
- Optional Micro SD card
- Optional 32 kHz RTC clock
- Optional 3.3V DC-DC converter
- Microcontroller pins breadboard friendly on the outside
- Standard ARM SWD (Single Wire Debug) for flashing and debugging
- CERN OHL License
- Designed with KiCad

Curtent Status : V2 prototypes being evaluated.

Thanks to:

BOM with SKUs for RS, Farnell, prices GBP.

Ref Value Quantity CPN Manf MPN Farnell/Sku Farnell/Cost RS Components/Sku RS Components/Cost
C1 2.2u 1 C0603-2.2uF Kemet C0603C225K9PACTU 1288257 0.037 147819 0.044
C2..C8 100n 6 C0603-100nF Kemet C0603C104K3RACTU 1650835 0.046 147538 0.108
C9..C13 18pF 2 C0603-18pF Kemet C0603C180J5GACTU 1414620 0.018 147415 0.038
C11..C12 10u 2 C0603-A-10uF Murata GRM188R60J106ME47D 1735528 0.371 7235543 0.202
D1 LED 1 LED-0603 Avago HSMH-C190 8554641 0.192 7166570 0.063

8166842 0.070
FB1 FILTER 1 FB_0603 TDK MMZ1608B601CT

7865015 0.022
J3 MICRO_USB 1 USB-MICRO-FCI FCI 10103594-0001LF 2293752 0.393 7142347 0.426
K1 CONN_MICROSD 1 SD_MOLEX_47579-0001 Molex 47579-0001

7206028 0.430
P3..P4 UPPER_PINS 2 HDR_1x18_2.54mm

P6 JTAG 1 HDR_2x5_1.27mm FCI 20021121-00010C4LF 1865279 0.492 7944584 0.524
R1..R2 33 2 R0603-33R Vishay CRCW060333R0FKEA 1469802RL 0.021 6790239 0.022
R3 1k 1 R0603-1k Vishay CRCW06031K00FKEA 1469740 0.011 6789875 0.012
R4..R5 10k 2 R0603-10k Vishay CRCW060310K0FKEA 1469748 0.021 6789667 0.024
S1..S2 RESET 2 SW-KMR4 C&K KMR421NGLFS 1908235 0.422 7931605 0.520
U1 MK20LF 1 IC-MK20DX128-L48 NXP MK20DX128VLF5 2133571 3.260 8181104 2.665
U2 MCP1703_SOT23 1 REG-MCP1703_SOT23 Microchip MCP1703T-3302E/CB 1439518 0.481 6694907 0.375
X1 8MHz 1 XTAL-8MHz-5x3 Abracon ABM3B-8.000MHZ-B2

7031997 1.289
Y1 32.768kHz 1 XTAL-TC26H-32k Fox NC26LF-327 2064057 0.301 5476979 0.290

  • Somebody set us up the BOM

    bobcousins4202/15/2016 at 22:36 1 comment

    KiCad is a great tool, but lacks any integrated part management. Rightly or wrongly, the developers want to concentrate on ECAD features rather than writing a part database, which could be handled externally with many existing tools. Commercial users probably already have an in-house part database linked to stock control, ordering and manufacturing. Rather than open that whole can of worms, it is probably best to let an external tool deal with part management, and just provide an external interface into KiCad.

    There is the ability in KiCad to add user fields, so it quite easy to add a Component Part Number into the schematic and have that appear in the BOM. I have several projects already without any notion of CPNs, so I wondered if I could extract information from KiCad files, such as symbol name, footprint name, component value, and with an external program match it to a CPN.

    I don't have a comprehensive part database, so I looked at online sources. Web scraping Digikey etc is possible, but tedious and error prone. There are some databases which require big bucks, such as I settled for an Open Office spreadsheet, and I will populate it as I go.

    A really nice feature would be to get online pricing, and ideally a set of SKUs for specific suppliers like RS, Farnell, Digikey etc. As it happens, has a pretty nifty site which has this data, and as a bonus has an easy to use JSON API. Octopart is now owned by Altium, but they are still providing "free" access, and . The main catch seems to be that data requests are rate limited.

    So a few hundred lines of C# later, I have a program which can scan a KiCad project, match up symbols with parts, query Octopart to get suppliers SKUs and pricing, and export a text file containing a BOM with SKUs for particular suppliers known to Octopart.

    Here is an example run on the BC-HCK project:

    The program still has quite a few loose ends, after I have tidied up some I will publish it on github,

    Now that I have got code to extract data from KiCad files, it should be quite easy to back populate data into KiCad projects. For example, add CPN or MPN to projects without that data, or use the CPN in a project to auto fill the footprint field with a preferred footprint.

  • BC-HCK first light

    bobcousins4202/15/2016 at 21:50 2 comments

    After building most of the board and realising I lacked the correct surface mount debug connector, I literally hacked a 10 way debug connector into an SMT version.

    I did a quick blinky project with NXP Kinetis Design Studio, and success!

    The USB micro connector was rather tricky to solder by hand, as the pins are fairly well hidden under the connector. In the next iteration I might change it to a USB mini connector.

    The next task is to populate the back of the board, and get some more software running.

  • Boards are in

    bobcousins4202/14/2016 at 12:02 0 comments

    I've now got boards back from Itead and Dirty Pcbs (Itead is green, DirtyPcbs are red)

    The quality is about the same, the silkscreen on the Itead boards is perhaps slightly better, but I did find one Itead board with a missing track, and they added copper to what should be a non-plated hole. Itead are supposed to do 100% e-test, so that doesn't seem to be reliable.

    I will be building up a board soon for testing. I just discovered I didn't order the right JTAG connector so might need to improvise a little.

  • V2 design freeze

    bobcousins4201/03/2016 at 14:57 0 comments

    I've finished tidying up, and pushed latest changes to the github. I've submitted a gerber package to my usual supplier, Itead and also this time to DirtyPcbs. I wanted to try the DirtyPcbs service, and it is also a trial run with the new KiCad which generates slightly different Gerber output.

    A note of caution: the boards are untested and unproven, so think twice before rushing out to order some :)

    Next thing to do is to put together a BOM and order some parts.

View all 4 project logs

Enjoy this project?



drojf wrote 07/26/2016 at 04:15 point

Good to see someone continuing (in spirit) the MCHCK project. One of the best parts for me was that it could be used as a full debugger for itself, something I don't think I've seen in many other devboards. 

  Are you sure? yes | no

J. M. Hopkins wrote 01/03/2016 at 14:45 point

Reminds me of a Teensy, good job!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates