How to batch program MCUs in reels and re-reel them? - Page 1
Forum section: electronics / general

author: weinbergerc
author_rank: Contributor
timestamp: December 23, 2023, 10:37:39 am
content: I'm ordering thousands of MCUs in reels.Are there any automated tools to program the MCUs and (ideally) re-reel them?Why?1. my MCUs have OTP encryption keys that I don't want to share with the assembler2. would simplify the assembly & flashing process

author: Kean
author_rank: Unknown
timestamp: December 23, 2023, 11:50:46 am
content: They exist, but are typically custom made and very expensive.Maybe use a third party that doesn't have access to other parts of your design, and get them to sign an NDA.Also, depending on the MCU manufacturer, some have the option to do this for you - e.g. Microchip.Seehttps://www.epsprogramming.com/services/ic-programming- I've never used them, it was just one that came up with a search.I seem to recall Digikey also offer this service...

author: ataradov
author_rank: Super Contributor
timestamp: December 23, 2023, 05:13:32 pm
content: This is absolutely the territory of letting the vendor or distributor do that.There are machines to do that, but they start at $250k. Not something you get for a single use.

author: coppice
author_rank: Super Contributor
timestamp: December 23, 2023, 05:23:20 pm
content: I've seem major manufacturers have people slide 8 MCUs from a tube into 8 ZIF sockets. Program them with a gang programmer. Put the 8 MCUs into another tube. Rinse, repeat all day long. I don't know if this reflects on the reliability of the automated semi-custom approaches, using some combination of pick and place with gang programmer. Its obviously labour intensive, but unless the package is leadless it also results in some amount of bent legs, which if not caught result in a failing assembly. Most, if not all, programming done to order by the chip vendors happens during A&T, so there are no extra handling steps. However, some vendors work with their distributors to problem quick turn around programming of sizeable batches. I wonder what those places use?

author: Kean
author_rank: Unknown
timestamp: December 23, 2023, 06:59:07 pm
content: Digikey offer a lot of customisation services, including device programminghttps://www.digikey.com.au/en/resources/product-servicesHere is the announcement video from 10 years ago of the servicehttps://www.digikey.com.au/en/videos/d/digi-key-electronics/custom-programmingThey use (or at least did back in 2012) equipment from BPM Microsystemshttps://bpmmicro.com/

author: Siwastaja
author_rank: Super Contributor
timestamp: December 26, 2023, 07:31:37 am
content: Quote from: weinbergerc on December 23, 2023, 10:37:39 amWhat's wrong with adding a programming footprint on the PCB, make a jig, and program after assembly, as part of testing?

author: JPortici
author_rank: Super Contributor
timestamp: December 27, 2023, 06:34:27 am
content: Or having the manufacturer program just the bootloader, then at your place program the OTP keys from the bootloader and the application firmware during assembly testing

author: coppice
author_rank: Super Contributor
timestamp: December 27, 2023, 02:36:04 pm
content: Quote from: Siwastaja on December 26, 2023, 07:31:37 amThis is generally the cheapest approach, and has no extra physical damage issues, like bent legs. A lot of people are resistant to it, though, because their flow is assembly house, to test house, to packaging, to distribution and they do not expect to ever see an assembled board to be able to program it in a secure environment, where they have 100% control over the secret information.

author: Siwastaja
author_rank: Super Contributor
timestamp: December 31, 2023, 08:00:23 pm
content: Quote from: coppice on December 27, 2023, 02:36:04 pmThis is something I struggle to understand. Testing requires physical connections plus special firmware (or special mode) anyway. Programming encryption keys obviously happens in the same step. You either find a partner who will do this for you and build the trust they won't leak your information; or you do it in-house. I don't see any other options. If you get someone to program the chips before assembly, then you are adding two unnecessary sensitive layers to manage: the chip programmer, the assembly house, and the test house. Seems much worse to me, compared to test-and-program-in-one-step with only one sensitive step.

author: ataradov
author_rank: Super Contributor
timestamp: December 31, 2023, 08:40:52 pm
content: If you have a secure bootloader programmed at the distributor or IC vendor, then you can have assembly house use encrypted firmware for testing. There is no need to trust them at all.

author: Smokey
author_rank: Super Contributor
timestamp: December 31, 2023, 10:03:09 pm
content: Ok. I got it.Step 1 = Make the OTP keys at least 32 bits.Step 2 = Have the chip manufacturer burn the first 16bits.Step 3 = Have your assembly/test house burn the next 16bits.Step 4 = ...Step 5 = Profit!That way neither place has access to the whole key. You could split it up even more and give 8 bits each to 4 different groups. 32 different groups each program 1 bit?If you had to de-reel them to program before hand, loading them in trays would probably be easier than re-reeling maybe.

author: ataradov
author_rank: Super Contributor
timestamp: December 31, 2023, 11:49:17 pm
content: There are not a lot of MCUs that support partial locking. So, you will need the bootloader be able to program the second half of the keys. But yes, this would add extra layer of protection. Although in practice it may be an overkill.

author: Siwastaja
author_rank: Super Contributor
timestamp: January 03, 2024, 04:26:06 pm
content: Remember, the "locking" modes of nearly every MCU have been broken, many in matter of weeks of a new MCU coming out. And it's not some NSA level technology looking bits on electron microscope, the procedures tend to be much simpler, such as supply voltage glitching. Just don't trust the locking, not even as a slow-down mechanism. Well maybe slow-down for a regular end user, but nothing else.

author: Aspartame
author_rank: Contributor
timestamp: January 04, 2024, 09:18:57 am
content: I saw this machine when i was googleing your request.It looks like you are not the first one to request it.https://www.deciphe-it.com/chip-module-processing-machine-cpm/

author: peter-h
author_rank: Super Contributor
timestamp: January 04, 2024, 11:33:26 am
content: It should be a lot easier to unreel them, program them, and then put them onto trays. Any contract assembler can pick stuff off trays.

author: ajb
author_rank: Super Contributor
timestamp: January 05, 2024, 11:41:57 pm
content: Quote from: peter-h on January 04, 2024, 11:33:26 amCould be an interesting project to build on top of one of the open-source PNP projects, or a cheap desktop machine with some software hackery. Only needing to deal with a single feeder and part at a time, and not needing to be very fast (since presumably programming time is the limiting factor) would avoid a lot of the headaches that typically come with using those sorts of machines for production, but you still have the vision system available for aligning the part to a programming socket.Of course it's still a nontrivial project that you could probably avoid by solving the underlying problem another way.

author: cearlobe
author_rank: Newbie
timestamp: January 12, 2024, 01:13:47 am
content: https://www.xeltek.com/automated-programmers/

author: NorthGuy
author_rank: Super Contributor
timestamp: January 23, 2024, 08:21:22 pm
content: Quote from: ataradov on December 23, 2023, 05:13:32 pmNot sure about $250k, but expensive they are. I had to build my own tube-to-tube programming machines. They're relatively easy to design, but take long time to tune-up and make them work reliably. I wouldn't recommend this route.