In Manufacturing, How Do They Program the Onboard Flash Memory

The production level of the BeagleBoard Black must be in lots of many thousands of boards and it would be not be feasible (IMO) to program them like we users do using a removable flash card with a special image that boots and then copies to the on-board flash (and takes 45 minutes). So, how do they do it for a production run?

The reason I am interested is I am looking at an application where several thousand of these board would be deployed and they would need a custom OS image for the application. This image would be very similar to the one shipped with the new boards but where the IP address and ALSA configuration for an external ADC would be preset along with account passwords, and specific limits on how big the journal logs can grow. I would need a way to flash them fast and in large numbers.

Using an external flash card as the primary image is not desired since I want to use the flash on the board and not require an additional part in the design.

We use the same flashing card that everyone else does. We insert the card, hold the button, plug them into burn in racks and then go to the next one. W come back 24 hours later and remove them, and take them to test. We have racks and racks of burn in in fixtures.

Total technician time for flash, maybe 1 minute.

Other option for you would be to pay someone to pr-eflash it for you.I dare say it will cost more than 1 minute of technicians time. Of course that assumes that you never need to update the SW ever. There is a method where you can boot over USB or serial and flash it. Of course it would still take a while to flash the eMMC. But at least you have a way to update your SW. You would need to be able to make sure that the boot pins are set for such an option.

We use automated testers. You could have a fixture that provides and SD card to do the flashing without adding cost to the board. But again, it will still take some time to flash the NAND.

We need to burn the products in anyway, so the net impact from a cost and time standpoint is, basically, zero, Sounds like you have no plan to burn your products in.


Hi Gerald,

Actually, I am assuming the boards are burned in before I open the box :slight_smile:

How many boards do you flash and burn-in at a time?

Do you have a picture of this setup? I would love to have one to show my team so they know I am serious when I tell them we have to flash them the old fashion way.



Right now we have about 1500. That is because that is currently the space we have. That should be expanding here in the next week or so. They just doubled the size of their building.
Let me see if I can get a picture of it. Warning however, there are a lot of bright blue LEDS!


Yeah I love the blue LEDs. In a way they seem much brigher than the green ones.

is it possible to boot the BBB directly from Ethernet ? Maybe set in the SYSBOOT pin configuration as the second Boot mode, so if the eMMC is empty then it boot from Ethernet, download the firmware and Burn it on the eMMC.
The next boot will be then booting from eMMC.

Can someone help answer these question and guide me about what types of parts to order

What are the footprints of the parts? - The BOM has them as “DNI”. Are all the resistors and caps 0402?

Sort of. You will have to add jumpers to the expansion headers to change the boot selection.

But, the flashing process is what takes time. Speeding up the deliver of the code does not really help all that much.


I have no idea.



how about these parts ? and a recommended place to get these added?

Well, that is not one the BeagleBoards so I hesitate to add it.


> Hi Gerald
> the Samtec JTAG header are the same for the EVM and Beaglebone no?
> If not what is the correct part/parts for the bone
> I have 2 Bones arriving today and 1 evm335x in hand
> I want to use JTAG and CCS with at least one of these
> I assumed since this group also covers the bone I could ask here if not I just need to know where to ask what form factor these parts are and anyone that might do that mod.
> If any of these mods are not recommended or possible please let me know
> from
> ### Optional JTAG Header
> It is possible to modify the BeagleBone to use an optional 20 pin CTI JTAG header.
> If done by the user, it is done at their own risk and should only be done by those that know what they are doing.
> If the board is damaged or the change does not function, there will be a charge to make it work. An RMA can be requested to provide this repair service.
> To perform the change yourself:
> 1) Remove R164,R165,R166,R168,R169,R170,R171,and R172.
> 2) Install R178,R180,R182,R183,R185,R177,R184,and P7.
> P7 is a Samtec FTR-110-03-G-D-06 connector and can be purchased from Samtec or any of their distributors.
> — On Wed, 5/15/13, Gerald Coley wrote:
> > From: Gerald Coley
> > Subject: Re: [beagleboard] Ordering these HW parts for JTAG
> > To: “
> > Date: Wednesday, May 15, 2013, 11:07 AM
> >
> > Well, that is not one the BeagleBoards so I hesitate to add it.
> >
> > Gerald


Yes. I know. I wrote it!

But I have no idea about the Starter Kit. I have nothing at all to do with it.


Ohh good then you can tell me what kind of parts I need to order for the BeagleBone

That was the BeagleBone. All resistors are 0402.





Hi Gerald

Thanks!. sorry I was not clear
last time I ordered any parts was in 86 when board layout was done on a table.
Resistors were very large and capacitors could blow I was confused by the question on the wiki page

What are the footprints of the parts? DNI". Are all the resistors and caps 0402?

Its frustrating enough I didnt read enough before I ordered these 3 boards and now I get to wait for these parts and I just wanted to get everything correct before ordering


All resistors are 0402 just like it says at

There are no caps.