Project image
)}
pledged of $22,000pledged of $22,000 goal
backers
Funding Unsuccessful
The project's funding goal was not reached on Sat, August 25 2018 8:49 PM UTC +00:00
Last updated August 25, 2018

CortexProg

Best value in Cortex-M programming & debugging: ZeroWireTrace, Gang-loading, MultiCore chip support, LUA-scripted, Chip-Support plugins

CortexProg

Best value in Cortex-M programming & debugging: ZeroWireTrace, Gang-loading, MultiCore chip support, LUA-scripted, Chip-Support plugins

pledged of $22,000pledged of $22,000 goal
backers
Funding Unsuccessful
The project's funding goal was not reached on Sat, August 25 2018 8:49 PM UTC +00:00
Last updated August 25, 2018

What is a prototype?

A prototype is a preliminary model of something. Projects that offer physical products need to show backers documentation of a working prototype. This gallery features photos, videos, and other visual documentation that will give backers a sense of what’s been accomplished so far and what’s left to do. Though the development process can vary for each project, these are the stages we typically see:

Proof of Concept

Explorations that test ideas and functionality.

Functional Prototype

Demonstrates the functionality of the final product, but looks different.

Appearance Prototype

Looks like the final product, but is not functional.

Design Prototype

Appearance and function match the final product, but is made with different manufacturing methods.

Production Prototype

Appearance, function, and manufacturing methods match the final product.

Project supporting material callout image

Prototype Gallery

These photos and videos provide a detailed look at this project’s development.

About

CortexProg - the best value in Cortex-M programming and debugging Amazing features

Tired of paying too much for microcontroller flashing and debugging solutions, having to split money between projects and devtools, proprietary tools that become difficult to automate and update? You need CortexProg!

Summary

CortexProg is a debugger for Cortex-M microcontrollers. It can serve as the only tool needed to reverse-engineer devices, create new designs, debug prototypes, program boards on production lines, or general for-fun hacking on devboards. CortexProg can read data from a microcontroller, write data into it, program flash, provide live tracing for printf-style debugging (ZeroWireTrace), and even allow complete GDB debugging. The PC-side tool uses the HID transport to not need any drivers on any of the supported OSs: Linux, Windows, MacOS. The tool source is also available, so you can build yourself a copy for whatever other esoteric environment you might desire to run it on. CortexProg is the complete solution for all your ARM Cortex-M debuggng and programming needs.

Amazing features

ZeroWireTrace allows you to output text from your target device without needing any additional wires or peripherals. No need for UARTS, SWO pins, or anything else. Using ZeroWireTrace is incredibly simple - it only requires three lines of code. This is wonderful for pin-limited or space-limited devices where extra connection points are simply not available.

Gang-loading support is built-in with CortexProg. Each device has a unique serial number and the PC-side CortexProg tool can simultaneously talk to as many devices as desired, issuing them individual instructions. This makes CortexProg very convenient for collecting data from many devices at the same time or mass-programming the entire first run of you prototypes in parallel.

Firmware updates on CortexProg will be used to add new features and improvements.

Multi-core chip support on CortexProg allows you to debug multiple cores in chips that have them, making development on such chips a breeze!

Plugin-based chip support No software or firmware update is required for support of any new or previously-unsupported cortex chip. Adding support is easy thanks to our documentation and sharing is not only recommended, it's encouraged. Community based scripts will be shared through our website on the downloads page.You can see the list of currently-supported chips here, and with you generous support, more will come soon.

LUA-based scripting of every aspect of the debugger for all those complex custom tasks you may want to accomplish. For example: unlocking security-locked chips, reverse engineering, and custom factory flows.

And much more. Of course, all the things you'd expect of a Cortex-M debugger are present as well: ability to set breakpoints and watchpoints, read and write RAM, program and erase flash, trace execution, etc.

Best choice for hobbyists

Compared to JLINK or ULINK, CortexProg is undoubtedly a better solution. It is significantly cheaper, while providing all the same functionality. It is in fact so cheap, that you can leave one attached to every project you have in progress, to every breadboard, to every prototype, and not even approach the cost of a single JLINK or ULINK device. Additionally, CortexProg has a few unique features like ZeroWireTrace.

Compared to the manufacturer-provided tools for various microcontrollers, CortexProg comes out ahead as well. Not only does it support any chip, but, it also comes loaded with plenty of useful options like real debugging support and gang-loading abilities.

Best choice for startups

Smart devices and IoT are the latest craze, but why waste the limited money supply on overly-expensive tools? Choose CortexProg and enjoy a much better value. You can use CortexProg from the very first dev board all the way to your production run. It is versatile and convenient.

People say

"The CortexProg has given us a real edge on traditional flashing devices with respect to easy and straightforward programming. Where cost was prohibitive and tools such as the STLink were too error prone, the CortexProg allowed us to scale from a handful of boards to the hundreds with ease. The gang-load support has become a welcome feature as our startup has grown and the ability to power our device externally has been ideal for CI/CD power testing. Highly recommended. "

- Anthony Wainman, CTO, Palletech

Compare to the competition:

Click for comparison


More Info:

The User's Manual for CortexProg

Developer Manual for CortexProg

Downloads for the current beta versions of the PC tools and firmware


The story of CortexProg

2004: Cortex-M micros

Officially announced in 2004, Cortex-M3 became popular in various devkits by 2011. It was soon followed by the much-cheaper, yet still highly efficient Cortex-M0. Much faster than devices like AVRs and PICs, they were programmable purely in C and required no assembly or weird tricks. They were supported by GCC, thus not requiring expensive proprietary compilers. There was only one weakness: each manufacturer came up with their own method for flashing and debugging. There was no standardization. This passed muster for devkits, but hobbyists making their own board quickly lost track of all the different devices they needed for one project.

The Generic Cortex-M debugger

Two products were created with the capability to debug multiple Cortex-M chips: JLINK and ULINK. Both cost upwards of $1,000 USD and were marketed towards large companies developing hardware with Cortex-M chips. While cheaper version were eventually offered, they were still $200 USD or more. It was time for a more accessible solution.

2014: CortexProg is born

The CortexProg started with this challenge – how to build a generic Cortex-M debugger only out of components that any hobbyist would already have, on a perforated board. The actual protocol used to talk to the ARM Cortex-M core is documented by ARM. The task at hand was to implement it in a correct and performant manner.

CortexProg AVR prototype
CortexProg AVR prototype

The very first CortexProg prototype was implemented on an AVR ATTiny85 using the ModulaR bootloader. This provided for a HID-based communications protocol to the PC and easy firmware updates to support further development. It could only debug 3.3V targets, and rather slowly at that. With a blazing upload speed of 800 bytes per second, on a good day, the CortexProg prototype served a very important function. It proved that an inexpensive device was possible. In fact, to commemorate this first attempt, the design and all the PC-side tools are still supported, so that any enthusiast could build one themselves.

CortexProg prototype programs a v0
CortexProg prototype programs a v0

While the prototype served as proof of concept, it was not yet a practical solution to the problem. It needed higher speed, more features and a real PCB. Each successive version of the CortexProg was programmed and debugged with its predecessor. Here is the first ARM-based CortexProg: the v0. Today a few v0 devices are around. They are supported by all the tools and firmware updates are still provided.  

CortexProg v1 programs a v3
CortexProg v1 programs a v3

Each iteration on the design added essential features. CortexProg v1 increased the speed three-fold. CortexProg v2 allowed for the debugging of targets with variable voltages and gave the option to supply 3.3 V to the target. Additionally, v2 included a built-in CDC serial functionality for easier data input/output to the target device.  

CortexProg v3
CortexProg v3

CortexProg v3 included the ability to supply variable voltages to the target up to 2.4 V, at currents up to 350mA.  

CortexProg v4
CortexProg v4

CortexProg v4 perfected the design by opening up the range of the supplied voltages to 0.7V - 3.3V, making the device usable for every potential target. As a bonus it now supports the debugging of multi-core chips and SWD clock speed control. 

CortexProg v4 pinout
CortexProg v4 pinout

CortexProg v4 is what this Kickstarter page is all about. What's after that? You decide. We're happy to hear your suggestions. Send them to [email protected].

Risks and challenges

With a bit of support from you to cover the initial manufacturing costs, CortexProg can become the go-to solution for Cortex-M debugging.

CortexProg itself will be used to mass-flash the firmware to the boards.

Learn about accountability on Kickstarter
Questions about this project? Check out the FAQ

Funding period

- (60 days)

Line icon alert icon Artboard Copy 8 arrow-down icon arrow-down arrow-left icon arrow-left arrow-point-left icon Fill 1 Copy 5 arrow-point-right icon Fill 1 arrow-right icon arrow-right arrow-up-right icon icon--arrow-up-right copy bar-chart icon Artboard Copy 6 bell icon Combined Shape Copy 5 book icon Artboard Copy 3 bookmark icon Fill 1 brand-assets icon Artboard Copy 13 cart icon Artboard Copy 4 chat icon chat check icon Fill 1 Copy 6 circle-back icon Fill 1 Copy 13 circle-forward icon Fill 1 Copy 16 circle-k icon circle-k circle-left icon circle-left circle-right icon circle-right clipboard icon Artboard Copy 12 clock icon Combined Shape close icon close closed-caption icon Fill 1 compass icon Combined Shape Copy 2 conversion icon conversion delta-down icon Fill 1 delta-left icon delta-right icon Fill 1 delta-up icon Fill 1 duplicate icon duplicate embed icon Combined Shape Copy 6 eye icon Combined Shape Copy 12 facebook-contained icon Facebook Contained facebook icon Facebook logo flag icon Fill 1 Copy 3 gear icon Fill 1 Copy 14 global-africa icon Fill 1 Copy 9 global-america icon Fill 1 Copy 10 global-asia icon Fill 1 Copy 17 graph-bar icon Combined Shape Copy 9 graph-line icon Combined Shape Copy 16 heart icon Fill 1 Copy 8 help icon human icon icon--human icon--activity-feed.kds icon icon--add-heading.kds icon icon--advanced-analytics.kds icon icon--alarm icon icon--alarm icon--alert icon icon--alert icon--alt-text.kds icon icon--arrow-down.kds icon icon--arrow-down icon icon--arrow-down icon--arrow-left-2 icon icon--arrow-left.kds icon icon--arrow-left icon icon--arrow-left icon--arrow-right.kds icon icon--arrow-right icon icon--arrow-right icon--arrow-up-right icon icon--arrow-up-right icon--arrow-up.kds icon icon--arrow-up icon icon--arrow-up icon--backer-badge icon icon--backer-badge icon--bar-graph.kds icon icon--bell.kds icon icon--bell icon icon--bell icon--bold.kds icon icon--bolt.kds icon icon--bolt icon icon--bolt icon--bookmark-filled.kds icon icon--bookmark-outline icon icon--bookmark-outline icon--bookmark.kds icon icon--bookmark icon icon--bookmark icon--bulleted-list.kds icon icon--calculator icon icon--calculator icon--calendar-check icon icon--calendar-check icon--calendar.kds icon icon--calendar.sm.kds icon icon--calendar icon icon--calendar icon--campaign-outline icon icon--campaign-outline icon--caption.kds icon icon--captions.kds icon icon--cart.kds icon icon--category.kds icon icon--category.sm.kds icon icon--chat.kds icon icon--check.kds icon icon--check.sm.kds icon icon--check icon icon--check icon--chevron-down.kds icon icon--chevron-down.sm.kds icon icon--chevron-down icon icon--chevron-down icon--chevron-left.kds icon icon--chevron-left.sm.kds icon icon--chevron-left icon icon--chevron-left icon--chevron-right.kds icon icon--chevron-right.sm.kds icon icon--chevron-right icon icon--chevron-right icon--chevron-up.kds icon icon--chevron-up.sm.kds icon icon--chevron-up icon icon--chevron-up icon--circle-around.kds icon icon--circle-around icon icon--circle-around icon--circle-back icon icon--circle-back icon--circle-backward.kds icon icon--circle-check icon icon--circle-empty icon icon--circle-forward.kds icon icon--circle-forward icon icon--circle-forward icon--circle-loader icon Page 1 icon--circle.kds icon icon--circle icon icon--clipboard icon icon--clipboard icon--clock.kds icon icon--clock.sm.kds icon icon--clock icon icon--clock icon--close.kds icon icon--close.sm.kds icon icon--closed-caption icon icon--closed-caption icon--code icon icon--code icon--collapse.kds icon icon--collapse icon icon--collapse icon--commissions icon icon--commissions icon--compass icon icon--compass icon--confirmation icon icon--confirmation icon--conversion.kds icon icon--conversion icon icon-conversion icon--copy.kds icon icon--cpu icon icon--credit-card.kds icon icon--credit-card icon icon--cross icon icon--cross icon--curve-right icon icon--curve-right icon--date-and-time.kds icon icon--date-and-time.sm.kds icon icon--delta-down icon icon--delta-down icon--delta-left icon icon--delta-left icon--delta-right icon icon--delta-right icon--delta-up icon icon--delta-up icon--download.kds icon icon--download icon icon--download icon--drag.kds icon icon--edit.kds icon icon--ellipsis.kds icon icon--ellipsis icon icon--error.kds icon icon--error.sm.kds icon icon--expand.kds icon icon--expand icon icon--expand icon--external.kds icon icon--external.sm.kds icon icon--external icon icon--external icon--eye icon icon--eye icon--facebook icon icon--facebook icon--filter icon icon--filter icon--filters.kds icon icon--flag-outline icon icon--flag.kds icon icon--flag.sm.kds icon icon--flag icon icon--flag icon--forward-fund icon icon--frown-filled icon icon--frown icon icon--fulfillment.kds icon icon--gear icon icon--gear icon--globe-africa icon icon--globe-africa icon--globe-america icon icon--globe-america icon--globe-asia icon icon--globe-asia icon--globe.kds icon icon--graph-bar icon icon--graph-bar icon--graph-line icon icon--graph-line icon--hamburger.kds icon icon--hamburger icon icon--happy-filled icon icon--happy icon icon--header-anchor icon icon--heading.kds icon icon--heading icon icon--heart-filled.kds icon icon--heart-filled.sm.kds icon icon--heart-outline icon icon--heart outline icon--heart-thin-outline icon Fill 1 icon--heart.kds icon icon--heart.sm.kds icon icon--heart icon icon--heart icon--heartstrings-and-hardbacks icon icon--hide.kds icon icon--home-with-door icon icon--home.kds icon icon--home icon icon--home icon--human.kds icon icon--human.sm.kds icon icon--human icon icon--human icon--humans.kds icon icon--humans icon icon--humans icon--image.kds icon icon--image icon icon--image icon--inbox.kds icon icon--inbox icon icon--inbox icon--indeterminate icon icon--info.kds icon icon--info.sm.kds icon icon--info icon icon--info icon--instagram icon icon/instagram icon--intermediate.kds icon icon--intermediate.sm.kds icon icon--italic.kds icon icon--late-pledges.kds icon icon--late-pledges.sm.kds icon icon--lightbulb.kds icon icon--lightbulb icon icon--lightbulb icon--line-graph.kds icon icon--link.kds icon icon--link icon icon--link icon--location.kds icon icon--location.sm.kds icon icon--lock-black-bg icon lock-icon icon--lock icon icon--lock icon--locked.kds icon icon--locked.sm.kds icon icon--log-out.kds icon icon--long-story-short icon icon--mail icon icon--mail icon--make-100 icon icon--media-embed.kds icon icon--meh-filled icon icon--meh icon icon--menu icon icon--menu icon--message.kds icon icon--message icon icon--message icon--milestone-dfm icon icon--milestone-idea icon icon--milestone-preprod icon icon--milestone-prod icon icon--milestone-proof-of-concept icon icon--milestone-working-prototype icon icon--minus.kds icon icon--mobile.kds icon icon--mobile icon icon--mobile icon--mute.kds icon icon--numbered-list.kds icon icon--order-management.kds icon icon--overflow icon icon--overflow icon--pause.kds icon icon--pause icon icon--pause icon--pencil icon icon--pencil icon--pie-chart icon icon--pin.kds icon icon--pin icon icon--pin icon--pinterest icon icon--pinterest icon--play-filled.kds icon icon--play.kds icon icon--play icon icon--play icon--pledges.kds icon icon--plus-human.kds icon icon--plus-human icon icon--plus-human icon--plus.kds icon icon--plus icon icon--plus icon--prohibit icon icon--prohibit icon--prohibited.kds icon icon--project-budget icon icon--project-we-love icon icon--pull-quote icon icon--pull-quote icon--pullquote.kds icon icon--question-filled icon icon--question-filled icon--question.kds icon icon--question icon icon--question icon--reorder icon icon-reorder icon--reply.kds icon icon--reply icon icon--reply icon--reward.kds icon icon--reward.sm.kds icon icon--reward icon icon--save icon icon--save icon--saved icon icon--saved icon--search.kds icon icon--search icon icon--search icon--section-break icon icon--section-break icon--sentiment-neutral-filled.kds icon icon--sentiment-neutral.kds icon icon--sentiment-satisfied-filled.kds icon icon--sentiment-satisfied.kds icon icon--sentiment-unsatisfied-filled.kds icon icon--sentiment-unsatisfied.kds icon icon--settings.kds icon icon--shipping.kds icon icon--show.kds icon icon--small-k icon icon--sound-hi icon icon--sound-hi icon--sound-lo icon icon--sound-lo icon--sound-mute icon icon--sound-mute icon--spinner.kds icon icon--star-outline icon Star Outline icon--star.kds icon icon--star.sm.kds icon icon--star icon icon--star icon--stopwatch.kds icon icon--subtitles-captions icon icon--subtitles-captions icon--success.kds icon icon--success.sm.kds icon icon--survey-multiple-choice.kds icon icon--survey-open-text.kds icon icon--survey-single-choice.kds icon icon--survey.kds icon icon--tax-documents.kds icon icon--text-bold icon icon--text-bold icon--text-bullet icon icon--text-bullet icon--text-italic icon icon--text-italic icon--textalign-centered icon icon--textalign-centered icon--textalign-right icon icon--textalign-right icon--thumbs-down icon icon--thumbs-down icon--thumbs-up icon icon--thumbs-up icon--thumbsdown-outline icon icon--thumbsdown-outline icon--thumbsup-outline icon icon--thumbsup-outline icon--timeline-to-do.kds icon icon--trash.kds icon icon--trash icon icon--trash icon--tumblr icon icon--tumblr icon--twitter icon icon--twitter icon--unlink.kds icon icon--unlink icon Artboard icon--unlock icon icon--unlock icon--unlocked.kds icon icon--unlocked.sm.kds icon icon--update-freeform-round icon icon--update-freeform-round icon--update-freeform icon icon--update-freeform icon--update-pinned icon Artboard icon--update-qa-round icon icon--update-qa-round icon--update-qa icon icon--update-qa icon--upload.kds icon icon--upload icon icon--upload icon--video.kds icon icon--video icon icon--video icon--volume-down.kds icon icon--volume-up.kds icon icon--warning.kds icon icon--warning.sm.kds icon icon--warning icon icon--witchstarter icon icon--youtube icon icon--youtube icon--zine-quest icon icon-imagealign-center icon icon-imagealign-center icon-imagealign-left icon icon-imagealign-left icon-imagealign-right icon icon-imagealign-right info icon Combined Shape Copy instagram icon instagram copy kickstarter icon Artboard Copy 5 leaf icon leaf lightbulb icon icon--lightbulb link icon Combined Shape Copy 8 loading-spin icon lock icon Combined Shape Copy 4 mail icon Combined Shape map-pin icon Fill 1 menu icon Group message icon Fill 1 Copy 12 mobile icon Page 1 Copy 2 pause icon pause copy pencil icon Combined Shape Copy 3 pin icon Combined Shape Copy 11 pinterest icon pinterest play icon play copy plus-human icon icon--plus-human plus icon Fill 1 Copy 7 question icon Combined Shape Copy 14 search icon Fill 1 Copy 11 shapeshift icon share icon Fill 1 Copy slash icon solid-arrow icon solid-arrow sound-hi icon Combined Shape sound-lo icon Combined Shape sound-mute icon Combined Shape star icon Fill 1 Copy 2 stopwatch icon Group 2 thumbs-up icon Shape tools icon Shape trash icon Combined Shape tumblr icon tumblr copy twitter icon twitter copy user icon Artboard Copy 10 volume-up icon Artboard Copy 9 warning icon Combined Shape Copy 10 write icon Artboard Copy 11 x icon Fill 1 Copy 4 youtube icon Combined Shape