All About BeagleBoard HackChat Transcript

A event log for All About BeagleBoard

We'll be talking about BeagleBoard projects, communities, and hacks!

Shulie TornelShulie Tornel 10/13/2017 at 19:420 Comments

Jason Kridner Gerald Coley and I started up as a lunch conversation in 2007. Both of us were TI employees at the time (I still am), but we wanted to make OMAPs (mobile phone chips) more accessible and I suggested making something that helped the Linux community was the way to go about that. I started programming when I was 8 when my mom got a TRS-80 to run her home business. I then spent every dollar I could get at Radio Shack building "Electronics Mini-notebook" projects. This little skunkworks project seemed like a great chance for me to help make sure other people had that kind of experience.

Shayna Thank you for joining us @Jason Kridner !

DrivenMadz Love it when general lunchtime convos turn into products!! good job sticking with it!!

Shayna Just a reminder to all that we're prioritizing the questions on the sheet -- off-topic discussion can start once those are through, time permitting :)

Norse @Jason Kridner Does TI provide any help or resources for you, or did you do this the two of you on your own?

Shayna Ready to get started, @Jason Kridner ?

Jason Kridner @Shayna sure.

Garrett Mace Jason are you me?

zakqwy Those mini-notebooks were GREAT!

Shayna Hehe

Shayna First one's from @Daren Schwenke "Why oh why are not more people using the beaglebone?"

Jason Kridner @Norse I got my boss to put up $25k for the first board layout and prototypes.

Jason Kridner Gerald and I had a theme in the early days....

Jason Kridner it was "keep TI out of TI's way"

Jason Kridner so, we always tried to keep it independent.

Jason Kridner Starting funding came when Digi-Key placed a purchase order for the first 10k boards, and the TI reputation obviously helped with that a lot.

Jason Kridner Over time, we launched the non-profit Foundation....

Shayna Reminder that additional questions should go on the sheet or saved for open discussion. Don't forget your project ideas!

Jason Kridner then, we eventually altered the leadership and now I'm the only TI employee on the board.

Jason Kridner we have a 5 member board (all volunteers) and a paid executive director.

Garrett Mace Good way to prevent tunnel vision

Jason Kridner pretty much everything else is either paid for by TI contributions to the community, manufacturer contributions to projects or Foundation sponsored contracts.

Jason Kridner My role is as the community manager, website hack and general product definition.

Jason Kridner Ultimately, the less of me the better and I really do try to make this a community project.

Shayna Any thoughts on @Daren Schwenke 's Q?

Jason Kridner Activities like the Google Summer of Code and contributions from community members like @Kumar, Abhishek and @Michael Welling really keep things going.

Jason Kridner Anything else I should say about me before going into questions?

mumi Yes, favorite color?

Daren Schwenke You could layout the virtues of the platform, such as PRU's and such.

Jason Kridner Guess I could say I'm a 25 year veteran of TI and have done everything from ASIC design, product engineering, audio/video codec software, board design and I dunno.

Jason Kridner @Daren Schwenke k, I can try to give an intro to what makes "products" interesting.

Jason Kridner We started with mobile phone chips, but moved to more industrial chips over time.

Jason Kridner The most popular board is BeagleBone Black that features an AM3358. That's an industrial focused ARM processor with a good mix of peripherals that makes it nice for building electronics prototypes and products. the PRUs are the generally killer feature that keeps it really relevant today, even after it has been out since 2013. they are 2 200-MHz RISC microcontrollers with a subsystem optimized for creating software-based peripherals. that means I can interface up to the types of things I'd connect other microcontrollers to, but they are faster than most and provide direct access to shared memory with the ARM processor. things like @Kumar, Abhishek 's BeagleLogic logic analyzer done in software show off a bit of what is possible. people make products enabled by the PRUs to do things like machine control (3d printers, CNCs, etc.), LED control (see LEDscape) and many others. having everything in one chip lets you do things you can't do in an R-Pi + Arduino configuration. 

Garrett Mace Springboarding of Daren's question/observation, does that mean the BBB is really popular from Jason's perspective (industrial apps) but doesn't get as much exposure in hobby circles?

Radomir Dopieralski @Jason Kridner so I could do a lot of PWM with them, for instance?

Jason Kridner @Garrett Mace that was going to be part of my answer to one of the first questions.

specialed08 Hey Jason, I'm new to the beagleboard group. Could you tell us what's up next for beagleboard? I have been on an esp kick lately, any multi core units coming out?

Daren Schwenke basically every pin could be PWM at crazy speeds. Yes.

zakqwy GET IN LINE BUDDY :-)

Shayna Hi @specialed08, please put it on the question sheet  Hah, what @zakqwy said

Jason Kridner @Radomir Dopieralski in addition to having 8 pure-hardware PWMs exposed on BeagleBone Black, people have added another 25 done on the PRUs to give you 32 PWM outputs on just that board.

Jason Kridner /me thinks he got the math wrong above.

Jason Kridner k, I'll start with the Qs.

Shayna Yes, I hate to cut off good discussion but let's stick to the sheet for guidance for now.

Jason Kridner So, "Why oh why are not more people using the beaglebone?"

Jason Kridner I think we lost a bit of mindshare with Pi marketing, but a lot more people use them than is commonly known.

Jason Kridner The manufacturing licensees of BeagleBone Black (we license the brand, but the design is open hardware) make more now than ever. The monthly production figures float between 12k and 20k units. over 1 million BeagleBone Blacks have been sold.

zakqwy !! that is an amazing achievement!

Jason Kridner By estimates, about half of those are going into small volume industrial automation activities. Larger volume stuff would just end up respinning the board.

morgan wow, that is really amazing

Jason Kridner For some reason, people like to talk about using Pi, but use Beagles to get things done quietly.

Soul_Est That is a huge win

Jason Kridner I noticed the latest Dremel laser cutter embeds a SeeedStudio BeagleBone Green. Several 3D printer companies embed BeagleBones.

Shayna Right

Jason Kridner (apparently there is a big one in China... don't even know who) We get put into things like the JPL prototype Mars rover that they drove under the polar ice cap.

dd Perhaps it's because (besides the pocketBeagle) the price vs Pi just seemed that much higher?

Shayna very cool. mind if we move on to the next?

Garrett Mace I would hesitate to embed a Pi due to availability, and tenuous nature of depending on a heavily subsidized product. Good reason to use Beaglebone

Jason Kridner I think the price perception matters, but I think more importantly we are perceived as a more serious tool.

Shayna From @Blecky : "Where do you see the future of end user SBCs going? Would you consider putting an FPGA on board like the Technologic Systems boards?"

Frank Buss Mars rover means that you have radiation hardened versions?

Jason Kridner Thanks @Shayna

Soul_Est That and feature set and computational power. The BeagleBones will always have better I/O and control.

Jason Kridner From the PocketBeagle, you can see that I think a big part of the future of SBCs is making them as easy to use as microcontrollers..... 

Paul The BBB's on-board storage of the OS pulled me over from RPs.

Jason Kridner part of that is in the packaging.... working with high-speed DDR, etc. is a PITA. I think we are going to see better software for people on top of Linux that makes Linux less visible, but also more people starting to do things in Linux rather than hacking around with userspace oddities. So, ease of use improvements, but also more creative integration to look more like "something".

Frank Buss what I don't like about Linux is that it is not hard realtime, or does RTLinux run on it?

Jason Kridner General purpose SBCs are great, but integration takes work. I think it is a nice feature of all the BeagleBone "clones" that you can have a common software base, but also a greater level of integration into some kind of activity. (referencing mostly Blue)

ason Kridner @Frank Buss yes, we run RT Linux as an option.

Frank Buss nice

Jason Kridner anyway, FPGAs... I have a love/hate relationship with FPGAs. There is a project @Michael Welling did called "BeagleWire".... and that is one of at least a dozen efforts to tie an FPGA to a BeagleBone. There's an SDR focused one (Kiwi) and others.... names coming slow to my head. I'd be open to the idea of doing more, but I think we have to figure out the "why" that includes as much community as possible. As of now, the cape add-on boards make a nice approach. @Shayna next Q?

Shayna Next up from Marc : "Any chance the octavo chip is going to be cheaper than say a regular beaglebone green? Because for a commercial product it currently does not really make sense to me to use the octavo solution."

Frank Buss put a nice big FPGA in the micocontroller, like the Zynq 7000

Jason Kridner The Octavo Systems guys have their own pricing strategy.... as of now, they publish pricing on the OSD3358-SM used on PocketBeagle as $26.5 in 1000 unit quantity. I've heard Greg over there say that they will be "competitive with discrete pricing"... so I'd take that as a positive of making the price more accessible.

Todd yeah, I'd noticed that weird pricing.

Shayna From @Bharbour : "Is the I/O management / Cape Manager scheme stabilizing? I designed and built several capes, but after 3 major revisions in a couple of years, I walked away rather then spend all my time tracking the I/O definitions."

Bharbour Is the Octavo stuff connected with TI or is it a separate company?

Jason Kridner My strategy for BeagleBoard is to try to get really competitive prices on components (yes, it helps to work for TI, but I try to help other community projects too), but I never want to source anything for that the community can't get on their own in some rational way.

son Kridner Octavo Systems is a start-up from ex-TIers that I know and admire.

Garrett Mace It looks like a hard product to set up. I'd bet the price comes down as setup costs are paid off and yield rates improve

on Kridner @Garrett Mace sounds like a good appraisal.

Jason Kridner I think the real possibility there is to actually make something much cheaper, since you are only packaging once instead of 4 times.

Jason Kridner Did I answer the Octavo Systems pricing question well enough? I mean, it is approachable, but start with a PocketBeagle and see what you can do with that first. At least for me, I think we've put something compelling together. Anyway, SeeedStudio BeagleBone Green is around $39 and PocketBeagle is around $25, so you can get started pretty cheap.

Shayna says:12:34 PM
Next up was @Bharbour And that is: "Is the I/O management / Cape Manager scheme stabilizing? I designed and built several capes, but after 3 major revisions in a couple of years, I walked away rather then spend all my time tracking the I/O definitions."

Jason Kridner @Bharbour the stabilizing approach is to utilize device tree overlays in the u-boot bootloader. for folks that don't know.... device tree is a way to describe to Linux your system. Linux for ARM systems used to be dominated by these C files that had to be rewritten for every chip and every board. and they had to figure out how to work together without breaking. Device tree was a mechanism already in use by PowerPC systems and Linus Torvalds said he was done bringing in all these crazy C files for all these ARM boards. BeagleBoard was already there before device tree, but we've always tried to be good mainline citizens. And when cape add-on boards needed to change the configuration based on having different hardware....

Frank Buss creating your own device tree and configuring and compiling a custom kernel version, is not easy

Jason Kridner well, we decided that overlays that modified the live-running device tree was a good way to go. @Frank Buss exactly. For those not too familiar with the kernel, it was both a confusing syntax as well as they didn't know what they should be configuring (because they couldn't read the kernel source well).

Shayna From @hansober : "Any plans for moving the standard BB boards to a faster CPU? Any chances of a Beaglebone 'breakout board' that breaks out ALL of the pins of the Octavo SIP? Any boards in the pipeline with an FPGA or auxillary MCU for more PRU-like realtime control?"

Jason Kridner So, Charles Steinkuhler, who did a lot of the LinuxCNC/Machinekit development, started to use a tool that Pantellis Antoniou had developed called "Pinmux helpers" to give control back to userspace and not require device tree overlays for something simple like enabling a peripheral that could be enabled by default and then setting the pinmux. guess I should wrap device tree up and say, yes, it is stabilizing. use pinmux helpers and do the overlays in the bootloader if you need them, rather than with CapeMgr. @hansober: we already have BeagleBoard-X15 ( which is a much faster processor with some pretty amazing specs on I/O.

gh78731 But there seems to be a lack of readable examples for how to use the device trees. Obscure syntax needs some explanations and 'how to use' examples.

Jason Kridner The price point puts it at more "serious" developers and I don't think it is much of a secret that we'd like to do some things to make it more accessible. howdy @MarkAYoder !  BTW, @MarkAYoder is one of our board members. :-) 

Jason Kridner @gh78731 let't talk more device tree later.

zakqwy four PRUs! wow!

Bharbour Something like an explanation of what is going on and what the options are to fill in fields for the device tree would be a big help too.

Shayna Hi @MarkAYoder

Jason Kridner I'd like to try to start being more open with our development process and our community. We already get a good amount of development on both software and hardware coming from the community... and it helps to be open hardware for that.

Sai Yamanoor How can one get involved? I find the mailing list to be cumbersome?

Jason Kridner@Sai Yamanoor the github repos are another interface point that can be more directed. @Sai Yamanoor there's also the IRC.

Kumar, Abhishek @Bharbour there's a folder called dt-bindings in the Linux kernel that contains useful information about the device tree.

Jason Kridner For those really serious and clearly not needing hand-holding, there's also some more private developer lists. Only serious users need apply.

Shayna Ready for next did you have more to add for @hans-ober ?

Frank Buss is the BeagleBone all open, so every register etc. is documented? Raspberry Pi had a bad history for this, only recently opened their GPU registers for hobbyists

Jason Kridner ie., I don't want to answer "how do I create a device tree overlay" on our developer list.

Jason Kridner @Shayna ready.

Sai Yamanoor agreed

Shayna From @Soul_Est : "How was the decision made to include the 

Jason Kridner All BeagleBoards/BeagleBones are 100% open hardware with full non-NDA technical reference manuals on the processors used.

Frank Buss cool

jtrip Hi Jason! sorry I am just lurking while at work, but I'm pretty excited about the tiny Octavo ... really hope to roll my own Beagle at some point :D

Jason Kridner @Soul_Est the process I went through on the PocketBeagle was mostly to leave the LCD lines used for bootmode selection and the Ethernet MII pins alone and then grab as many spare PRU pins as available. The folks at GHI also encouraged me to provide mikroBUS Click compatibility, so we support 2 of those modules on PocketBeagle. Robert and I now have stacks of mikroBUS Click boards we are going through the process of testing. Oh, I also left the eMMC pins untouched.

Cornix Shelford Is the Pocket Beagle similar to the CHIP Microcontroller?

Jason Kridner @Soul_Est my goal was to try to expose the pins that someone would have likely chosen to use on a BeagleBone Black cape.

Shayna Just a reminder that discussion questions can be found on this sheet. There are quite a few, so we'll have to keep things moving :)

Jason Kridner@Soul_Est did a quick check with the cape and we should be able to support it with a single-line software change on PocketBeagle!

Jason Kridner @Cornix Shelford see @Shayna 's comment, because I want to answer.

Shayna Next up from @zakqwy : 'I grabbed a couple of the 256-ball Octavo SiPs with my last Digi-Key order. Assuming I get all the bits wired up correctly (that is a big 'if') is getting the thing working really as simple as explained at ?'

Jason Kridner oh, wow, the question list grew quickly at the end...

Soul_Est Ah understood. Thank you for answering that for me.

morgan (he's going to dead bug it too)

Jason Kridner I was pacing myself on the 6 or so questions that were there this morning.

Shayna Yes, folks are rightfully very excited. So forgive me for being pushy ;)

Sophi Kravitz @Jason Kridner you can come back for part 2 and @Kumar, Abhishek is also going to host a chat pretty soon :)

Jason Kridner @zakqwy the on-chip EEPROM is a thing to remember....

Shayna Yeah, that would be super

Jason Kridner u-boot looks for the EEPROM to specify which device tree to load at boot. You need to write to it before you can just grab-and-run a latest-images release. n PocketBeagle, we tied a GPIO to the EEPROM write-protect line. I've got a hacked version of u-boot that defaults to PocketBeagle, ignoring the EEPROM.

Kumar, Abhishek I've got the same for BeagleLogic standalone as well

zakqwy Hmm.. but I assume writing the EEPROM is fairly straightforward if you have its pins broken out?

Jason Kridner we then program the board ID and serial number over USB.

Jason Kridner @zakqwy I just write it using the processor and the hacked u-boot.

Jason Kridner next Q.

zakqwy Ah, I see. Thanks !!

Shayna From @Norse : "What modes can the SPI busses communicate with? (Raspberry Pi has two SPI, but only SPI0 can communicate over all four modes)"

Jason Kridner @Norse pretty sure it all modes. ve seen a quirk with SPI0 that some devices kinda look like SPI flash devices.... and because the SPI flash boot mode is enabled, you can hang the board on boot if it looks like flash, but doesn't have a good boot image. I'd have to look up the different modes, but it is a very flexible SPI module.

Frank Buss on a Parallella board I just memory mapped an IO area in a custom driver to access my FPGA functions from user space, no need to do complicated device trees etc., but of course, that's not the Linux way of doing things :-)

Shayna From @DrivenMadz : "Would a beagleboard work for a mobile kismet/gps/debug logger?"

Norse Thanks! WIth open docs this seems easy.

Jason Kridner I've been hacking a fair bit with SPI TFT displays and the FLIR Lepton 3.

Norse uh, thats what I'm doing =)

DrivenMadz cool :)

Jason Kridner @DrivenMadz yes. I mean, you'd need to be more specific, but connecting to a GPS and then connecting to a cellular modem are, from my perspective, fairly simple tasks. ...and that would be for any of the boards for that matter, even PocketBeagle.   tried first with the Nova without problems. <-- Nova

DrivenMadz Perfect, i was shooting for super mobile :)

Shayna Next up is from @Hulkco, though you may have touched on this with the first question : "Do you have any plans to make the Beagleboard as well known and used as the Raspberry Pi?"

DrivenMadz Perfect link , Thank You !

Frank Buss I guess would need some marketing joke to make it more known, like the unobtainable Pi Zero

Jason Kridner@Gustavo Reynaga I think it is important for the community to have a big stage, so, to some extent, yes. Certainly at least bigger. I think we have to look at where we bring real solutions to real problems. I think robotics is one of those areas where very many people can get engaged and we provide a superior solution.

Garrett MacePi Null

Jason Kridner:-D I love what R-Pi has done for our community, but it has made some false promises or expectations.  My personal plan is to outlive the hype. nd do have fun doing it.

Shayna Okay, @Christopher G. Stanton wants to know why you prefer IRC over other chat mediums, but I think that might be a better one for later ;)

Shayna From @mumi : "What's your favorite way to build embedded linux for the Beaglebone? Buildroot? Yocto? Other?"

Jason Kridner There is something real there and I'd like to be part of the real solution to making embedded systems accessible and make programming/electronics part of everyday literacy. @mumi my favorite build system for Linux is Gentoo.  but, for Beagle, easy answer is Debian. and the Free Electons guys are pretty much genius caliber folks, so I won't argue with them. :-)

Garrett Mace I think massive, concentrated focus on the PRU is the best way to outshine the Pi. BeagleBone really is better for hardware projects

Benchoff  ^

Jason Kridner The Ubuntu how-tos pretty much work on Debian and it has a great community.

Jason Kridner @Garrett Mace , @Benchoff +1 :-D

Sai Yamanoor Yes. I +1 on the PRUs

morgan the LD Graphy project shows a good use of BBB PRU where a lot of other projects would use SBC + Micro

Jason Kridner 
Yocto is great for pro projects where reproducibility and license management are paramount. I personally plan to do much more with Buildroot for ram-based, 100% volatile systems.  but, for the every-person, Debian is an easy answer.

Shayna From @Robert Marosi : "Can the UART/encoder/servo/DC motor/etc. pins of the BBBlue be repurposed as GPIOs?"

Jason Kridner @Robert Marosi yes. I'm not sure if we've put the config-pin/cape-universal/pinmux-helper hooks in for all of them to be done trivially, but, if you need help enabling any of them as GPIO, we can help you do that.  except for DC motor... those aren't processor pins, they go through motor drivers.  the others, yes. next Q? 

Jason Kridner I'm losing my place in the spreadsheet.

Shayna From @ottoragam : "I've been using beaglebones to make custom CNC machine controllers with machinekit. Now I want to develop my own motherboard with integrated servo drives using the Octavo Systems thingie. Some general advice? Would it be better to use one of the prebuilt BBs (due to pricing, board assembly cost at the low 100s of units, etc)?"

Jason Kridner Low 100s is kinda borderline. The PocketBeagle is a bit of an attempt to span the gap. but, if you make enough, you do get a lot more flexibility with the SIP... and a bit more control. but, if you buy PocketBeagle, the Foundation gets a small royalty. ;-) I'd say get some basic schematic done and share with the community if it won't hurt you. You can get a fair amount of help if you are willing to share.  Or not. :-D

Shayna From @Jacob Creedon "Besides a battery, what is the best way to prevent eMMC corruption from unexpected pwoeroff? Read only root file system?"

ottoragam excellent, thanks for the advice, Jason!

Frank Buss maybe a docker image would be useful

Jason Kridner 
@Jacob Creedon ext4 is fairly robust. Doing some kind of union file system would be ideal, but is difficult to configure. It really depends on how sensitive your project is. I pull power randomly on BeagleBone Black and BeagleBone Blues many times a day and never see issues outside of occasionally longer-than-usual fsck's.

Seth BeagleBone!

Shayna @Jason Kridner there are about 6 questions left. Are you still okay on time?

Jason Kridner yup, still an hour or so before I need to leave to catch a plane home.

Shayna From @Todd : "PocketBeagle: I noticed there's a SGX530 3D graphics chip.... but there's no video out, so how is it used?"

Jason Kridner @Todd you can use SPI TFT displays and still accelerate with the SGX... at least that is my architecture argument... yet to be played out with software integration. the SGX530 does a memory-to-memory render and isn't tied to the LCDC in specific.

Jason Kridner This is in I believe some contrast to some SoCs, TI and other, that do more integration with richer on-screen-display subsystems. I think OMAP falls into that camp. Anyway, from a hardware perspective, it just renders to RAM, so we should be able to still use it.

Shayna Also from @Todd : "PocketBeagle: what's the difference between the Cortex 64KB RAM and the DD3? I suppose the on-chip is faster?"

Garrett Mace Apparently the gpu has OpenCL capability but I don't know if it's usable

Jason Kridner @Garrett Mace I wasn't aware. pointers?!?! @Garrett Mace not sure if that is only for newer generation GPUs or not. I don't have an inside contact at Imagination. :-(

Jason Kridner I'd love it to be true.

Garrett Mace

Jason Kridner Anyway, we are working on the X, Wayland and framebuffer rendering. @Garrett Mace does that not imply only for SGX545?

Garrett Mace Not sure :)

Shayna From @Tux Lab : "Are BBB still being made domestically or in other free countries? and where to buy them? thanks."

Jason Kridner I want it so bad!! ;-)

arrett Mace Clay Montgomery says TI didn't license the OpenCL drivers for the SGX530 Sorry, back to questions :)

ason Kridner @Tux Lab we have 3 current " logo" licensed manufacturers (and several other "BeagleBoard Compatible". Direct logo: PTI in Texas (xM and X15), GHI in Michigan (Black, Black Wireless, PocketBeagle) and Element14/Embest in China (Black, Blue) Some of those listed above are planning to also make other board moving forward.... like Embest will eventually make PocketBeagle as well as GHI. I like having both US domestic as well as China manufacturing.  The cost of production really isn't that different as machines to most of the work. However, having good contacts for sourcing in China is critical for embedded electronics at scale these days.

Jason Kridner (even if you assemble in the US)  we try to make sure our BOMs support US sourcing, but we don't always have our manufacturers do so.  it is best effort, but we will spend resources to prototype and verify local component suppliers.

Seth It is hard to find good prices for mfg. in the US.

Shayna From @AdityaPrakash23 : "I'm presently working on my final year project for undergrad. I'm designing a structure surveillance robot in Gazebo SIM. I intend to use my BBB rev c for controlling the robot in the simulator using ROS. Also I am supposed to run a Machine Learning program on the Beaglebone for image classification (images taken in the simulation). So my question is, is it possible to run ROS with a very basic ML program at the same time?"

Tux Lab thanks for giving us a choice on the country of origin :)

Jason Kridner @Seth in my perspective, it is mostly about prevailing market forces and not labor costs.

Seth Oh.

Tux Lab yup, China is push for automation faster than we are.