UPDATE on 20150418

Say hello to Dapper Miser 2015:

The Bill of Materials consists of merely three line items:

1CY8C4014SXI-411 (or CY8C4013SXI-411)
40.1uF capacitor

In quantity, that is under $2 (US) in parts for a complete hobbyist ARM Cortex-M0 development board with integrated proper single-step debugging.

UPDATE on 20150329

Two recent news stories in the industry are the Arduino folks bickering amongst themselves about who can profit the most from the Arduino brand, and the BBC (pre-)announcing a low cost "Micro Bit" PCB for educational uses... without yet knowing what the design will really be.

The Dapper Miser design that I came up with still is the lowest BOM cost that I'm aware of for an ARM with full debugging. It is good value for money.

I was disappointed by the lack of interest (beyond demands that I share the source code), but still have minimal hope that it might get adopted as an affordable option for education/hobbyist use. My criteria for making the Dapper Miser available is simple:
1)Do not run afoul of ARM's CMSIS-DAP licensing (which means I can't distribute the code and blindly hope that it only gets used for ARM targets)
2)Do not provide direct support to end users (All and sundry emails pour in from the Internet expecting one-on-one full service support. I cannot provide one-on-one electronics how-to lessons; a user base is needed to share the load and weed out the nutters)
3)Partner with a manufacturer with experience making large quantities of PCBs of high yield that can stand behind their work
4)Offer the result as affordable for educational/hobbyist use

UPDATE on 20140516

The Arduino Zero has been announced, and it looks to conceptually be the same as what I proposed... just much more expensive. It looks like they've just re-used the schematic from the Atmel ATSAMD20-XPRO board.

executive summary

I've created a functional implementation of CMSIS-DAP ARM debugger that runs in a ~$1 part. The BOM cost is so low that it is cheaper than even a mere connector for an external debug pod. This makes for an intriguing option for low-cost ARM development boards.

So, you don't believe me about the connector? Go to Samtec's web site and look up the cost of a FTSH-105-01-L-DV-K-P-TR (the 2x5 50 mil connector that is de rigueur for Cortex-M targets) and then compare that to the pricing for a PIC16F1454-I/SL.

Then, realize that the PIC firmware also doubles as a USB-to-UART bridge, potentially replacing functionality that would otherwise be achieved with a discrete chip from FTDI or equivalent (which also costs more than the PIC).

There is no public source code for the PIC implementation. I spent a lot of personal time on the project and went to the trouble of putting up a web page about my project because I see real potential for an affordable ARM board that is cheaper than an Arduino and includes a debugger to boot. Alas, no one seems to be interested in this idea.

The license agreement for the CMSIS-DAP specification has a number of stipulations, including that an ARM must be on the target (e.g. soldered on the PCB, as shown in the image below).

However, I have since cranked out a open-source CMSIS-DAP implementation called "Dapper Mime". It was developed on the STM32F072, but it ought to run on the future STM32F042F6P / STM32F042F4P devices. It is a port/integration of the Apache-licensed mbed CMSIS-DAP firmware leveraging the STMicro USB library.


I've put more details on the background and origins of this project on a separate page here.


I previously wrote and published a bootloader for the PIC16F1454. It occupies the first 4kwords of memory in the PIC. This also functions as a USB-to-UART bridge.

The remaining 4kwords can be programmed to contain "Dapper Miser", which is my implementation of the CMSIS-DAP debugger standard.


An example application is this Arduino form-factor PCB which leverages "Dapper Miser" with a NXP LPC812:

Yes, the eagle-eyed viewer will notice an unpopulated footprint for a header to support an external debug pod. The connector could be populated if the user wanted, but the design is so cost-effective that adding the connector would almost double the BOM cost.


The Seggers of this world should have nothing to fear from me; "Dapper Miser" isn't a J-Link competitor. I like my J-Link and would wholeheartedly recommend it to a professional user.

However, it seems to me that there is an opportunity for a low-cost integrated debugger that allows the user proper single-step debugging, breakpoints, etc. Particularly in the hobbyist development board market, everyone and his uncle has a bland firmware download option; users righfully should want more than this. CMSIS-DAP provides a more universal API for debuggers, and software support for it is expanding by the day. Here is a CMSIS-DAP debugger solution that doesn't cost an "ARM and a leg".


I've successfully tested the Dapper Miser implementation with:

Rowley Crossworks for ARM

Keil uVision MDK Lite 5

OpenOCD (Note: CMSIS-DAP support is in the development 0.8.0 code)

CooCox CoIDE (Note: CooCox device support is frustratingly limited and LPC812 is not (yet) supported. A LPC1114 target was used for testing.)


back to main page contact