4
\$\begingroup\$

In the past I used toy processors like Arduinos which have convenient development boards. But say I want to use a more industrial-strength chip like the STM32F777.

I know some versions like the STM32F411 have a development board. But for the ones that don't (or if the dev board is out of stock), what are you meant to do? What do professionals do?

Do you just solder onto some pins and stick it in a breadboard? Do you order a PCB?

\$\endgroup\$
5
  • 1
    \$\begingroup\$ Generally you would buy an eval board with nearest match. Manufacturer has no F777 boards but F767 boards are available. The chips should be identical except for not having the crypto accelerator which may be the reason that F777 eval boards don't exist - it might be forbidden to have such technology exported in some cases, so best to stick with non-crypto models on generic eval boards. \$\endgroup\$
    – Justme
    Commented Oct 1, 2022 at 19:14
  • 1
    \$\begingroup\$ Buy the next board up from what you need, you can still test software intended for the 2MB ROM version on the 8MB version of the chip. once you're close you'll probably be ordering some boards. \$\endgroup\$ Commented Oct 1, 2022 at 20:54
  • 4
    \$\begingroup\$ @Justme It might be possible to get a bare PCB for the F767 and then put the F777 on it yourself, too, if you need the extra features of the F777 for prototyping. I wouldn't be surprised if the two chips are in an identical package. \$\endgroup\$
    – Hearth
    Commented Oct 1, 2022 at 21:12
  • 1
    \$\begingroup\$ You have to study the family tree and pick a processor that is very similar that you can get a dev board for. In some cases, if you already have experience with the processor, you might just design a board and skip the dev board. \$\endgroup\$
    – user57037
    Commented Oct 2, 2022 at 2:31
  • \$\begingroup\$ Attaching a micro controller board to a breadboard or a throughhole board is not easy. If the MCU has 32 or 74 or 128 pins, you need to make a PCB.. Any MCU which has over 16 to 32 pins needs a PCB. Most MCU's dont fit on breadboars if they have a square shape. \$\endgroup\$
    – Amit M
    Commented Oct 2, 2022 at 5:34

4 Answers 4

5
\$\begingroup\$

If the urge to start tinkering is too strong, I would get a couple of those MCUs from eBay (at a higher cost, surely), and I would start coding some experiments. I have done this with some PIC32 MCUs mounting them on a generic multi-package PCBs from AliExpress on cheapo breadboards.

As you may be aware, evaluation or development boards can be prohibitively expensive. However, I have been lucky to find some of these boards on sale for as low as £30. For instance, some time ago I got this one for that price on a flash sale.

While this approach can be tedious and not precisely cost-effective, it might save you a headache or two. I strongly believe in prototyping before committing to real batch production. One small mistake as an inverted UART TX/RX pair or a wrong footprint can be very expensive mistakes. Don't ask me why I know this ¬¬

In the end, that is the purpose of tinkering and prototyping: understanding the circuit, its limitations and how far you can push your skills and, clearly, acquire new ones.

It might surprise you (or not), but the Original Pebble Watch, was actually prototyped using an Arduino and the initial test circuit didn't particularly look like a circuit project worth 10+ million USD.

Finally, I must add that nowadays, getting high-quality PCBs for the initial revisions from your custom circuits has become easier and cheaper than ever before. Imagine 10 years ago telling someone that you can get 10 PCBs (up to 4-layers) for less than 2 USD* (plus shipping from China). They would not believe you.

*Not sponsored. I am purely talking from personal experience.

\$\endgroup\$
6
\$\begingroup\$

Lots of options:

  • Order the nearest compatible dev board and replace the chip. You'll need to check for pin compatibility (at least for the things that are hard wired; usually VCC/GND are the hardest to rewire). Any peripherals you need to rewire, you can at least rewire from breakout headers to them by cutting the original traces.
  • Get a breakout board for the package, wire up VCC/GND as best you can, and then everything else you need to use. Mostly, pins will be broken out to pads or headers, where larger wires (with pins/plugs, or soldered) do the rest. Tedious, especially on 100+ pin packages. But if you're only doing one... might be about as much time spent as laying out a board.
  • Make your own dev board, more or less combining the above two: get the pinout correct, wire up VCC/GND, whatever other peripherals you expect to need, and lots of breakout pads/headers for things you don't know you need. This can be as simple as a breakout board without the general-purpose footprint, to a tentatively complete design that just needs to be tested, and maybe revised once you figure out what devices do and don't work, remapping of pins, etc.
\$\endgroup\$
5
\$\begingroup\$

I'm not sure it's wise to build your product around a component that currently has lead times in excess of a year.. (Newark website).

enter image description here

For something like that Cortex M7 processor with >100 pins, I would probably start with a dev board (usually they're available at one price or another, and if they are not then it would certainly be worth considering whether the chips will be available when necessary for a professional application). It might be a somewhat more powerful micro than the likely eventual target, but that's not very important, the important thing is to get the firmware up and running on the hardware such as Ethernet, USB, LCD, sensors, various other communications interfaces and so on. So in this case, maybe the STM32F769I-DISCO, which is currently available off the shelf for a reasonable price. There's also an STM32F735 board. If you mostly need the double precision FPU + Cortex M7 core running at high speed, either should do you. It might be possible, as others have noted, to swap chips to a pin-compatible similar type. If you are in the electronics business you probably have a trusted local supplier to whom that job could be outsourced for a nominal fee.

At that point you're probably more concerned with the toolchain, external IP you might need like communications stacks, graphics libraries, RTOS, the available peripherals, debugging pods, and so on, than the minutia.

Of course if you're just needing a few connections to the chip, or if you're eager to uncover early whatever issues will arise with things that are not easily connected to a dev board nothing is stopping you from laying out a multilayer board and having it populated, and you'll have to do that eventually. However, I would suggest doing it in parallel with getting up to speed on the dev board, debugging tools and related software. That way if you plug the assembled board in and nothing good happens you'll have a way forward and you're likely weeks ahead of where you would otherwise be even if things go swimmingly. Often the same people are not doing both jobs. But don't do it to save money, it will not likely do that.

\$\endgroup\$
1
  • \$\begingroup\$ I might add, that one irritating thing you may find with the ST parts is that the examples are not necessarily created with the tools they expect you to use (such as STM32CubeMX) or the libraries they recommend. Probably a result of the parallel development of the tools (which are infinitely better than just a few years ago). You don't necessarily discover this kind of thing until you dive into something with a bit of complexity. \$\endgroup\$ Commented Oct 2, 2022 at 5:31
1
\$\begingroup\$

Thus far I have looked to test out development boards offered by the chip vendor primarily, this takes out the question of bad hardware design config for the most part if a new board doesn’t work. Usually I don’t find the exact chip but one that is in the same PIC XX family and closely related to my device. They can be expensive though but I found $100 or so can save hours and hours of my time, well worth the trade off.

Look at MCC’s Harmony’s project applications for code examples, code flow. I do usually whip up my own board at start of a project so I can have that in hand too alongside the development board, using my board is the 2nd step in messing around with a new chip typically after I try to get through any unfamiliar device requirements. These are not usually huge complex boards though so it doesn’t take a ton of time to do, if they were I would do a custom breakout board with minimal extra hardware so that you can simplify some of your test code if you have specific chips like ADCs you want to use. I have found being able to separate out your circuits piecewise, so that you can test sub circuits, whether that be individual PCBs or lots of headers and signal taps on your main board are very helpful.

At the beginning of your coding, setup a good terminal debugging interface so you can use something like Tera Term and interact with the device and read status, get past stuck states, things like that as you build up an application. Sometimes other electronics makers make their own development boards too that might use a chipset you are interested in. For example, I found that vendors like Murata had a couple dec boards using TI chips to test some of their RFID tags. These are just a couple of things that come to mind.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.