The Teensy is a great and tiny board (see “USB CDC with the Teensy 3.1 Board“), but it lacks real SWD/JTAG debugging capabilities (see “Hacking the Teensy V3.1 for SWD Debugging“). The Freescale Freedom boards are great, but for many applications too big, and have potentially too many components on it. So what about building a breadboard friendly tiny board which *has* SWD debugging ability *and* can be used to debug another boards?
So here is a working prototype based on the FRDM-K20D50M:
The Freescale FRDM boards are using a Kinetis K20 based circuit (see “OpenSDA on the Freedom KL25Z Board“): However, that firmware is not open: the K20 is secured and protected, so the firmware cannot be changed. Newer Freescale FRDM boards like FRDM-K22F2 and FRDM-K64F do have an open source bootloader and debug firmware (see “DOC-100720“).
So: take a Freescale Kinetis K20 ARM Cortex-M4, the open source bootloader and firmware, shrink everything to the size of a Teensy board, add headers both to debug the K20 and an off-board microcontroller, and we have tiny board which can be used as a standalone versatile microcontroller board: usable for small projects or usable as debug probe.
Features and wish list:
- Universal, tiny, breadboard friendly which can be used by students for their own projects and which can be used in courses and lab work.
- Freescale Kinetis K20 device, ARM Cortex M4, running up to 50 MHz, powerful enough for most tasks
- 128 KByte FLASH, 16 KByte RAM
- USB connector (both power and connectivity)
- Optional battery power
- Optional real time clock
- Reset/User button
- Breadboard friendly pin out, all pins available on the outside
- SWD debug interface to debug the onboard K20
- Ability to debug off-board devices with OpenSDAv2
- Small size, around 40×25 mm (TBD)
- Low cost (TBD, less than $<20, depends on quantity)
To prove the concept, we used the FRDM-K20D50M board, added buffers/level shifter and an inverter, hooked everything up to a SWD cable, loading the bootloader and debug firmware, and we are able to use it as a debug probe:
Things are working with the proof-of-concept bread board wiring. Next step is to condense this into a real custom board. If successful, this would be a cool board students can use for their own projects. The next phase will be to design the schematics and the layout for the board. Will post progress, and until then, let me know what you think about this idea to create such a board.
Happy Probing 🙂
- FRDM-K22F board and schematics: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-K22F
- FRDM-K64F board and schematics: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-K64F
- FRDM-K20D50M board and schematics: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-K20D50M
- OpenSDAv2 article and link to bootloader: https://community.freescale.com/docs/DOC-100720