Tips on using a BBGW in a consumer product

199 views
Skip to first unread message

Steve Groen

unread,
Feb 21, 2017, 3:47:21 PM2/21/17
to Jason Kridner, Jason Kridner

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?

Gerald Coley

unread,
Feb 21, 2017, 4:08:47 PM2/21/17
to beagl...@googlegroups.com, Jason Kridner
It arrived in the group posting.

Gerald


--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/000b01d28c81%24a7a2f470%24f6e8dd50%24%40mchsi.com.
For more options, visit https://groups.google.com/d/optout.



--
Message has been deleted

Jason Kridner

unread,
Feb 24, 2017, 3:53:27 AM2/24/17
to Steve Groen, Jason Kridner, Jason Kridner


On Feb 21, 2017, at 1:32 PM, Steve Groen <s.g...@mchsi.com> wrote:

Jason Kridner,

 

Generally:

     How do you incorporate a BBGW into a consumer product?


Get an electrical engineer and an embedded Linux consultant to validate it in your application. Contact the hardware supplier (Seeed) and ask about a supplier agreement to make sure you can be guaranteed a continuity of supply and determine the most suitable contingency plans. I consider these prudent steps for working with any off-the-shelf hardware, even if it is promoted as "COTS". 

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

     using BBGW as a base?


They do this, they take it as a base and make their own design (and secure their own supply chain) and some simply buy off the shelf. Buying off the shelf can be risky, but if you take responsibility for the use and manage to track down supply when you need it, it might work. 

 

Reset/Upgrade:

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


The ROM code in the processor can always boot directly from a microSD card or even USB, depending on the power-on status of the BOOT pins. The BOOT button forces the board to skip the attempt to boot from the on-board eMMC, in case what does boot from there causes the system to lock up. 

Swap

     out the SD card? 


There isn't an SD card by default, you'd supply that, but yes, that's a simple way to provide an image to boot or to provide an image that will boot and reprogram the on-board eMMC. 

Provide an externally accessible slot

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

     the card?  RMA?


That's very application dependent. For our users, we provide images they can download at https://beagleboard.org/latest-images and suggest they use http://etcher.io to write them to a microSD card. 

Our images are not meant for product use as-is. They are highly insecure. They can *be* secured, but our goal is to enable easy development. 

 

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

     air upgrade procedure?  Connect via serial port?  RMA?


There are many solutions. Google for them. A few examples include Resin.io, Ubuntu Snappy, and Mender.io. I heard Fedora might also have some field update processes. 

If it is a field serviceable item, a field technician swapping an SD card is a sane approach. 

 

 

Jason, did I Cc this message properly as you requested?


Yes. 

  If so where do I go
to see this posting?


Geoff L.

unread,
Feb 24, 2017, 10:34:59 AM2/24/17
to BeagleBoard, s.g...@mchsi.com, jkri...@beagleboard.org
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

William Hermans

unread,
Feb 24, 2017, 2:06:37 PM2/24/17
to beagl...@googlegroups.com
On Tue, Feb 21, 2017 at 1:32 PM, Steve Groen <s.g...@mchsi.com> wrote:

 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 . . .

William Hermans

unread,
Feb 24, 2017, 2:41:37 PM2/24/17
to beagl...@googlegroups.com
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.

Stephane Charette

unread,
Apr 22, 2017, 12:23:59 AM4/22/17
to BeagleBoard
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
Reply all
Reply to author
Forward
0 new messages