Electric Brewing Supply 30A BCS Giveaway!


Home Brew Forums > Home Brewing Beer > Automated Brewing Forum > Can someone explain the BBB a bit more?
Reply
 
LinkBack Thread Tools
Old 12-04-2013, 09:26 PM   #1
mattd2
Feedback Score: 0 reviews
Recipes 
 
Join Date: Sep 2009
Location: Papamoa, New Zealand
Posts: 3,561
Liked 258 Times on 210 Posts
Likes Given: 45

Default Can someone explain the BBB a bit more?

So looking at all the options for DIY contollers. Currently I am working with an Arduino Mega. I like the fact that with a microcontroller everything basically happens in a distinct flow path - no management of processes holding things back to allow others to perform better. But the arduino are somewhat slow compared the micro-computer alternatives, and I have faced the fact that even though you can get a more powerful Arduino some of the other features of the BBB are interesting.
Most interesting is the comment I saw that the BBB actually has 2x microcontrollers built in... is this the best of both worlds... there must be a catch? And I guess that catch is I can't find any information on how one would "unlock" these microcontrollers to do you bidding.

So can anyone with some knowledge of the BBB tell me a bit more information about it and how to use it both as a minicomputer and a microcontroller?

Cheers

mattd2 is offline
 
Reply With Quote Quick reply to this message
Old 12-12-2013, 05:26 AM   #2
naemlss
Feedback Score: 0 reviews
Recipes 
 
Join Date: Nov 2010
Location: Ontario, ca
Posts: 59
Liked 1 Times on 1 Posts

Default

I am curious to hear what people have to say too.

__________________
naemlss is offline
 
Reply With Quote Quick reply to this message
Old 12-12-2013, 07:00 PM   #3
alien
Feedback Score: 1 reviews
Recipes 
 
Join Date: Apr 2012
Location: Philadelphia, PA
Posts: 1,235
Liked 65 Times on 58 Posts
Likes Given: 61

Default

BBB is a linux computer. Computer processors (CPUs) are generally not cut out for tasks which need to be processed within strict time limits e.g. refreshing the screen is passed off to a dedicated graphics chip. BBB contains two fast processors called "PRU"s which can be programmed to do that kind of stuff. But it's hard to get your head around, and also not really necessary for out purposes. Computers also tend to crash (unlike Arduinos which basically run forever) but this is not so much an issue for mashing where you are likely to be standing nearby. It could be a problem for fermenting though which is why having a separate Arduino type board to control the hardware side of things is often a good idea, leaving the Linux side of things free for the touchscreen, webserver etc.

alien is offline
 
Reply With Quote Quick reply to this message
Old 12-12-2013, 07:35 PM   #4
mattd2
Feedback Score: 0 reviews
Recipes 
 
Join Date: Sep 2009
Location: Papamoa, New Zealand
Posts: 3,561
Liked 258 Times on 210 Posts
Likes Given: 45

Default

Quote:
Originally Posted by alien View Post
BBB is a linux computer. Computer processors (CPUs) are generally not cut out for tasks which need to be processed within strict time limits e.g. refreshing the screen is passed off to a dedicated graphics chip. BBB contains two fast processors called "PRU"s which can be programmed to do that kind of stuff. But it's hard to get your head around, and also not really necessary for out purposes. Computers also tend to crash (unlike Arduinos which basically run forever) but this is not so much an issue for mashing where you are likely to be standing nearby. It could be a problem for fermenting though which is why having a separate Arduino type board to control the hardware side of things is often a good idea, leaving the Linux side of things free for the touchscreen, webserver etc.
Thanks alien, so am I correct in reading your comment as - nobody has really worked on using the PRUs and so there is not much info about how to go about it, i.e. it would be starting from scratch.
And if the CPU crashes do the PRU go down too?
Cheers.
mattd2 is offline
 
Reply With Quote Quick reply to this message
Old 12-12-2013, 07:51 PM   #5
alien
Feedback Score: 1 reviews
Recipes 
 
Join Date: Apr 2012
Location: Philadelphia, PA
Posts: 1,235
Liked 65 Times on 58 Posts
Likes Given: 61

Default

Quote:
Originally Posted by mattd2 View Post
Thanks alien, so am I correct in reading your comment as - nobody has really worked on using the PRUs and so there is not much info about how to go about it, i.e. it would be starting from scratch.
And if the CPU crashes do the PRU go down too?
Cheers.
Programming the PRU just looks bloody hard. There's no C compiler so you have to do it in assembly language. The technical manual is more than 4000 pages (not a typo). There are some code examples but not a huge user base like with Arduinos.

As for the second question, good point, it might be possible to use the PRU as a fallback processor in case the CPU crashes. Someone has done something similar for motor control http://www.embedded-things.com/bbb/w...servo-control/

I think there is some code out there for reading 1wire devices too, and the PID loop (in its most basic form) shouldn't be that much of an ask, but it's not a weekend project.

Just coding up a Python or C script to do the PID on the CPU should be pretty straightforward and perfectly adequate if it doesn't need to be bomb proof.

IMO Arduino Mega is pretty much ideal unless you want internet capability and/or a fancy screen.
alien is offline
 
Reply With Quote Quick reply to this message
Old 12-12-2013, 08:22 PM   #6
mattd2
Feedback Score: 0 reviews
Recipes 
 
Join Date: Sep 2009
Location: Papamoa, New Zealand
Posts: 3,561
Liked 258 Times on 210 Posts
Likes Given: 45

Default

Quote:
Originally Posted by alien View Post
Programming the PRU just looks bloody hard. There's no C compiler so you have to do it in assembly language. The technical manual is more than 4000 pages (not a typo). There are some code examples but not a huge user base like with Arduinos.

As for the second question, good point, it might be possible to use the PRU as a fallback processor in case the CPU crashes. Someone has done something similar for motor control http://www.embedded-things.com/bbb/w...servo-control/

I think there is some code out there for reading 1wire devices too, and the PID loop (in its most basic form) shouldn't be that much of an ask, but it's not a weekend project.

Just coding up a Python or C script to do the PID on the CPU should be pretty straightforward and perfectly adequate if it doesn't need to be bomb proof.

IMO Arduino Mega is pretty much ideal unless you want internet capability and/or a fancy screen.
Yep no compliler means that I would be way out of my depth (considering I would probably be just treading water with a compiler )
It would be a nice to have, even though it is not really needed as getting a BBB to brew beer is not exactly taxing it, to have the best parts of the hardware handle what they are good at - CPU for HMI and PRU(s) for process control.
Maybe I'll give it a year or so and it might catch on and I can stand on the shoulders of giants!
In the meantime maybe I'll look at getting a BBB just for the beagleSNES
__________________
My DIY grain mill
First AG mini-BIAB
mattd2 is offline
 
Reply With Quote Quick reply to this message
Old 12-12-2013, 08:48 PM   #7
alien
Feedback Score: 1 reviews
Recipes 
 
Join Date: Apr 2012
Location: Philadelphia, PA
Posts: 1,235
Liked 65 Times on 58 Posts
Likes Given: 61

Default

Yeah plenty of other reasons to get a BB.

It's a better product than the RPi but not as popular so there is less in the way of published projects.

Last time I coded assembly language was on a BBC micro in the mid 80s, with 8 bit registers A X and Y...

__________________
Magic Smoke brewhouse and grill

Arduino PID controller - Automatic Smoker - Cooler MLT - Counterflow Chiller - SSR demo - PWM timer - Folding Brew Table
alien is offline
 
Reply With Quote Quick reply to this message
Old 12-12-2013, 09:09 PM   #8
mattd2
Feedback Score: 0 reviews
Recipes 
 
Join Date: Sep 2009
Location: Papamoa, New Zealand
Posts: 3,561
Liked 258 Times on 210 Posts
Likes Given: 45

Default

Quote:
Originally Posted by alien View Post
Yeah plenty of other reasons to get a BB.

It's a better product than the RPi but not as popular so there is less in the way of published projects.

Last time I coded assembly language was on a BBC micro in the mid 80s, with 8 bit registers A X and Y...
I definately see the potential in the BBB, maybe just the time between release is the factor here... hopefully more and more people pick up the BBB over the RPi now and things take off.
I can't remember what I was doing in the mid 80s, but that is probably because i had just been born!
cheers!
__________________
My DIY grain mill
First AG mini-BIAB
mattd2 is offline
 
Reply With Quote Quick reply to this message
Old 12-17-2013, 09:23 PM   #9
mattd2
Feedback Score: 0 reviews
Recipes 
 
Join Date: Sep 2009
Location: Papamoa, New Zealand
Posts: 3,561
Liked 258 Times on 210 Posts
Likes Given: 45

Default

OK another question on the BBB. The expansion headers, these are the boards I/O right. But am I correct in my understanding that most of these pins also have a specific feature - driving a LCD for example. My question is generally speaking are any of the IO pins also connected to other connections on the board - HDMI?

__________________
My DIY grain mill
First AG mini-BIAB
mattd2 is offline
 
Reply With Quote Quick reply to this message
Old 12-18-2013, 04:25 PM   #10
alien
Feedback Score: 1 reviews
Recipes 
 
Join Date: Apr 2012
Location: Philadelphia, PA
Posts: 1,235
Liked 65 Times on 58 Posts
Likes Given: 61

Default

Many of the pins have multiple hardware uses as well as being general purpose I/O pins. This is called multiplexing. So for example the HDMI pins also overlap with pins used for one of the SPI ports.

More here: http://learn.adafruit.com/introducti...-tree/overview

__________________
Magic Smoke brewhouse and grill

Arduino PID controller - Automatic Smoker - Cooler MLT - Counterflow Chiller - SSR demo - PWM timer - Folding Brew Table
alien is offline
 
Reply With Quote Quick reply to this message
Reply



Quick Reply
Message:
Options
Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
please explain my og and fg tservice Beginners Beer Brewing Forum 8 10-28-2012 06:16 PM
Explain this one DirtyHaus General Beer Discussion 6 01-19-2012 09:21 PM
Can someone explain how... dirty_martini Brew Science 66 08-09-2011 11:05 AM
Can someone explain this please JasonToews Lambic & Wild Brewing 5 06-12-2011 01:01 PM
Explain this to me... neumann Fermentation & Yeast 25 11-04-2009 12:21 AM