Dear MCU vendors:

In my firm, I decide whether or not we use your kit. And sure, right now, we're an STM32 shop, but we're not married to that family. (We're not even married to the ARM architecture family!)

The last week and a bit I've been evaluating a Cortex-M0+ chip for a project. It's not going well. I'm sure the chip is just fine ... but I can't tell. In the end we're probably not going to go with it, even though it's cheaper than its alternatives.

Here's how to avoid this.

(1/n)

# Documentation

It needs to be available, even if it's beta quality. A data brief doesn't cut it. Your sample applications (for which q.v below!) don't cut it. I need documentation and I don't like having to fight for it. Supply it with your eval board, don't make me hassle you for it!

I get it: you're still ramping up this new chip and everything's in flux and in beta and the documentation is probably shit. But shit documentation is better than *no* documentation (if only barely)!

(2/n)

# Examples (I)

You need them. But don't give me example apps for Cortex-M core components. There's approximately 65 bajillion lines of code out there for that already.

What I need are example apps for each of your peripherals, and if there's inter-peripheral operations (timer triggering, say, or DMA) I need those as well.

And the examples have to work. Build them. Put them in your eval board. TEST THE GOD-DAMNED THINGS! Non-working examples are worse than no examples.

(3/n)

# Examples (II)

Your examples need to be documented. At least there should be a comment block before your mainline that explains what to expect. Better would be a README file that explains the application and gives a quick summary of what each file is for.

The example should also be well-commented (and by this I don't mean having random lines of code commented out!). If you set a register to 3, the comment should say what it means. Don't make me look it up!

(3/n)

# Conclusion

If you want me to select your kit, you have to motivate me to. Sometimes I'm looking for specific components and that's the motivation; most other times I'm doing a survey of possible alternatives to kit I'm happy with right now (in case of shortages, etc.).

Your job in this process is to make that decision as smooth and easy as possible. Every hurdle I have to jump increases the chance I write off the component because I have limited time to do evaluation.

(5/5)

Follow

@qqmrichter big list! How are datasheets these days BTW? I only dabbled in embedded long back, and a Realtek datasheet was plain wrong in many places ... got by reading some BSD driver's source code!

@tetrislife

Big list? It's got two items! "Have documentation" and "have examples". 🤣

Datasheets are highly variable in quality. Weirdly simple component datasheets tend to be more slapdash and inaccurate than complicated components like radios or MCUs.

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.