Tips on using a BBGW in a consumer product

Jason Kridner,

Generally:

How do you incorporate a BBGW into a consumer product?

Does anybody do this, or do they design their own board

using BBGW as a base?

Reset/Upgrade:

How does a customer ‘factory reset’ a bricked BBGW? Swap

out the SD card? Provide an externally accessible slot

for the SD card, or allow customer to open and replace

the card? RMA?

How are field upgrades handled? Replace SD card? Over the

air upgrade procedure? Connect via serial port? RMA?

Jason, did I Cc this message properly as you requested? If so where do I go
to see this posting?

It arrived in the group posting.

Gerald

Jason Kridner,

Generally:

How do you incorporate a BBGW into a consumer product?

We are doing this in production now. I think the answer has a lot of dependencies, like what is the product and the build quantities. Also BBB does not have an RTC, so if you need reliable clock, you will need to figure out a solution for that. But if you can physically fit the BBGW in your application, i would suggest that as a time and cost saving that is worth pursuing.

For us, (see product at www.kuvee.com) , we Incorporated emmc on our custom board and are programming the image on the line using USB.

We put a lot of effort into creating a reliable scheme for over the air upgrades - if you can get away with swapping sd cards, that will save some time.

Geoff

Generally:

     How do you incorporate a BBGW into a consumer product?

     Does anybody do this, or do they design their own board

     using BBGW as a base?

I almost did not respond to your post. Because we are incorporating a
beaglebone into a product, but it's not wireless. Everyone on our team
feels that wireless is not a good option for our needs However, the boards
despite their connectivity differences are the same. Mostly.

Reset/Upgrade:

     How does a customer 'factory reset' a bricked BBGW? Swap

     out the SD card? Provide an externally accessible slot

     for the SD card, or allow customer to open and replace

     the card? RMA?

There really is no other way to reset the OS, other than using an sdcard.
You could setup serial, or USB like geoff, but honestly all that is a waste
of time IMHO. You still need to have physical contact with the board no
matter what. But, like I said, that's just my opinion.

     How are field upgrades handled? Replace SD card? Over the

     air upgrade procedure? Connect via serial port? RMA?

Field upgrades for what ? If you're talking about your custom software,
then that can be pretty simple. Or less simple if you wish. Like geoff and
his team, "we" invested a lot of time into over the air updating. By "we",
I mean me. In fact, I'm still sorting it out, but it's nearly done. I can
not get into details, but if you know Linux well, and think about what
needs doing. You may find out, after some considerable amount of time spent
experimenting. That such a feature can be very simple . . .

So kind of off topic to this subject, but I felt compelled to add this.

The beaglebones DO have a real-time clock. The problem with the real-time clock is that once the board powers down, the real-time clock is no longer functional. With no way to externally power the on die RTC, yes, there may as well be no RTC. Except for one thing. The RTC does function, and can be used to keep time while the system is up. If for nothing else - Experimentation. This also makes things very simple when it come to updating the system time. Which means you can have another RTC, with an I2C interface, or whatever. Pull the time into the system via ntpdate. Update the added RTC. Then at reboot, one of the things your system needs to do, or could do. Is update the processors RTC from the added one. Every time the system “boots” up. It really simple.

The rest of this is kind of the same theme as above, but does hit closer to the post topic.

There is also no functional watchdog on this board. I do believe there is one included on the processor, but it’s not functional for whatever reason I no longer remember. This means, you need to add a watchdog if you’re serious about your product. Along these lines, if you’re going to use a battery backup. You need to be able to toggle the boards reset, and completely disconnect power to the board… This is necessary because once in a while, the board will hang at boot. In order to fix this glitch, you’ll need to cut the input power, then toggle reset, reapply power. I think that’s the correct sequence( would need to double check my source code )Programmatically, this sequence can be fairly quick. I’ve tested this at around 50ms between “toggling” these pins. Your mileage may vary.

With the above in mind. It would probably be better to craft your own power management / watchdog “chip” from your MCU of choice. Something low power of course, that can run for months on end. From your source battery. There are also many other features you could design into this chip if you so wish. Making it more worthwhile.

There is also no functional watchdog on this board. I do believe there is one included on the processor, but it’s not functional for whatever reason I no longer remember. This means, you need to add a watchdog if you’re serious about your product.

Sorry for the resurrection. Post is from 2 months ago.

Why do you say the watchdog is not functional? I’m making use of it on all of my devices installed at various client locations. I found it works great. I also wrote some open-source code to manage it: https://www.ccoderun.ca/sg++/api/classSG_1_1BeagleBone_1_1Watchdog.html

Stéphane