Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think if you're a true hobbyist, the Raspberry Pi is the path of least resistance. I've done projects with both the RPI and the Beaglebone Black.

RPi is very aimed at taking some sort of existing project and modifying it, which sounds mean to say but actually lets you do some very powerful things. The average RPi user will never be compiling device tree overlays, screwing around with the bootloader, busting out the datasheet for the processor, etc. You find some project that is kind of like the one you want to do, use their hardware and low-level settings (involving device tree overlays, but so abstracted that you will never encounter that term), and then go to town on the software, probably written in something like Python.

The Beaglebone is more like a dev board for TI's SoC. You will configure every pin exactly as you want it with a device tree overlay. You will be reading the datasheet to figure out exactly how many CPU cycles a certain instruction takes on the PRU. The amount of power you have over IO and hooking them into Linux is infinite. As an example, you can control the clock signal for the entire board through an IO pin. If you are doing realtime processing and want to make something happen in the Beaglebone PRU at the exact same time as some external hardware, you have the power to make that happen. Most people do not need this.

The TLDR is that I would use the RPi for pretty much any "maker" project because it's so easy to get things working, but would use this new Beaglebone for something like a CNC machine. If you're making a CNC machine, you need a microcontroller to stop the motor instantly when it drives into the endstop (even if Linux is currently processing your mouse movement or a network packet), you need a realtime microcontroller to properly move the axes in unison (so you can cut a circle at your exact feedrate), and you need Linux to drive a monitor with the controls on it. This new board puts all the processing power you need on the same board, and has all the kernel hooks you need to communicate between your non-realtime Linux software and the microcontrollers. (It's been a couple years since I've used the PRUs, but they show up as a "remote CPU" under Linux and have APIs for bidirectional message passing, which is potentially more powerful than a serial port interface to an Arduino that does the realtime stuff.)

You can of course just plug an Arduino into a USB port to get the same effect... this is how pretty much every 3D printer ever works. I literally have this exact setup on my 3D printer; an RPi that controls my 3D printer over USB -- the RPi hosts a web interface, the microcontroller handles the realtime motor moves. If you are manufacturing something like this, having everything on one board will probably lower your costs. That is why the Beaglebone exists.

(What this has to do with AI? I don't know. Maybe it's for pick-and-place machines that need realtime motor moves and some computer vision.)



Yeah, I think robotics are a big focus with this board. Using the PRU for hard PWM and motor and encoder tasks is incredible, and it's just gonna be even more interesting with double the PRU resources.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: