The BeagleBoneBlack is a SoC of choice for many hackers – and quite rightly so – given its powerful features. [abhishek] is majoring in E&E from IIT-Kharagpur, India and in 2014 applied for a project at beagleboard.org via the Google Summer of Code project (GSoC). His project, BeagleLogic aims to realize a logic analyzer using the Programmable Real-Time units on board the AM335X SoC family that powers the BeagleBone and the BeagleBone Black.
The project helps create bindings of the PRU with sigrok, and also provides a web-based front-end so that the logic analyzer can be accessed in much the same way as one would use the Cloud9 IDE on the BeagleBone/BeagleBone Black to create a new application with BoneScript.
Besides it’s obvious use as a debugging tool, the logic analyzer can also be a learning tool that can be used to understand digital signals. BeagleLogic turns the BeagleBone Black into a 14-channel, 100Msps Logic Analyzer. Once loaded, it presents itself as a character device node /dev/beaglelogic. In stand-alone mode, it can do binary captures without any special client software. And when used in conjunction with the sigrok library, BeagleLogic supports software triggers and decoding for over 30 different digital protocols.
The analyzer can sample signals from 10Hz upto 100MHz, in 8 or 16 bits and up to a maximum of 14 channels. Sample depth depends on free RAM, and upto 320MB can be reserved for BeagleLogic. There’s also a web interface, which, once installed on the BeagleBone, can be accessed from port 4000 and can be used for low-volume captures (up to 3K samples).
[abhishek] recently added the BeagleLogic Cape which can be used to debug logic circuits up to 5V safely. Source files for BeagleLogic as well as the Cape are available via his github repos. [abhishek] blogged about his project on his website where there’s a lot more information and links to be found. Catch a video of BeagleLogic after the break.
Continue reading “Turn your BeagleBoneBlack in to a 14-channel, 100Msps Logic Analyzer”
The BeagleBone Black has a powerful featureset: decent clock speed, analog inputs, multiple UART, SPI and I2C channels and on-board memory, to name a few. One missing feature seems to be the lack of support for the two on-board Programmable Real-time Units (PRU’s). Each of these 32-bit processors run independently of the main processor, but are able to interface with the main processor through the use of shared RAM and some interrupts. Unfortunately, PRU’s are not supported and in the absence of information, difficult to program. Enabling the PRU’s will allow them direct access to external sensors via the GPIO pins, for example. Perhaps most enticing is the idea that the PRU’s add real-time processing capability to the BBB.
[Thomas Freiherr] is working on the libpruio project to allow PRU support on the BBB. It is “designed for easy configuration and data handling at high speed. libpruio software runs on the host (ARM) and in parallel on a Programmable Realtime Unit SubSystem (= PRUSS or just PRU) and controls the subsystems”. Additional information about the project is available on the libpruio wiki, and files can be downloaded from here (German Page).
This paper presented at inter.noise2014 (PDF) a couple of months ago has a nice comparison of various small computer/controller boards and outlines the advantages of the BBB once its PRUs are enabled. If readers come across applications of the BBB with PRUs enabled, let us know in the comments. If you want to work your way into the world of the PRU we highly recommend this tutorial series.
Thanks for sending in the tip, [Patrick]
[Image Source: libpruio stepper motor example]
So you want to play some retro games on your BeagleBone, just load up Linux and start your favorite emulator right? Not if you’re serious about it. [Andrew Henderson] started down this path with the BeagleBoard-xM (predecessor of the BeagleBone Black) and discovered that the performance with Snes9X wasn’t quite what he had in mind. He got the itch and created a full-blown distro called BeagleSNES which includes bootloader and kernel hacks for better peformance, a custom GUI, and is in the process of developing hardware for the embedded gaming rig. Check out the documentation that goes along with the project (PDF); it’s a blueprint for how open source project guides should be presented!
The hardware he’s currently working on is a Cape (what add-on boards for the BBB are called) that adds connectors for original Nintendo and Super Nintendo controllers. It also includes an RTC which will stand in for the real-time clock features included in some cartridges (Pokemon Yellow). Also in the works is a 3D printed enclosure which would turn it into a portable, something like this other BBB portable hack.
Check out a demo of what BeagleSNES can do in the video after the break.
Continue reading “Passion Project Turns BeagleBone into Standalone Super NES”
[Texane] built a low-cost software defined radio rig which could be remotely controlled. This allows the hardware to be placed outside for better reception, while being controlled from any PC that can connect over TCP. To do this, he created a fork of librtlsdr, the library used to turn cheap TV tuners into software defined radios.
The official release of rtl-sdr includes the rtl_tcp utility, which is meant for this purpose. Unfortunately, not all of the SDR tools for Linux support this. By modifying the library itself, remote devices interact with software in the same way as local devices. This means that any software that supports librtlsdr should work.
The outdoor rig contains a BeagleBone Black and the SDR hardware, sealed up in a weather-resistant box. This connects to [Texane]’s home network over ethernet, and allows SDR utilities to be run elsewhere.
This feature is quite experimental, but the source for the fork is provided for those who want to build the code and try it out.
Kickstarter isn’t the solution to every manufacturing hurdle, you know? Crowdsourcing—everybody’s favorite cliché to invoke after sharing their less-than-half-baked merchandise idea—has expanded to include yet another variation, and is currently rocking [Max Thrun’s] BeagleBone GamingCape thanks to [Jason Kridner]. If the cape looks familiar, it’s because we featured it earlier this summer, when [Max] created it as part of TI’s Intern Design Challenge.
Here’s how it works. Rather than asking strangers to place pre-orders (let’s admit it, that’s ultimately how Kickstarter functions), CircuitHub campaigns work as a group-buy: upload your KiCad, Eagle or Altium design and a BOM, and you’re on your way to bulk-order savings. As [Kridner] explains in his blog post, you’ll have some finagling to do for your campaign to be successful, such as choosing between prices at different volumes, projecting how many people need to buy in as a group, etc. When he sourced the parts on his own, [Kridner] spent nearly $1000 for a single GamingCape. The CircuitHub campaign, if successful, would land everyone a board for under $100 each—and it’s assembled.
Who needs Kickstarter; that’s hard to beat.
A few weeks ago, Anonabox, the ill-conceived router with custom firmware that would protect you from ‘hackers’ and ‘legitimate governments’ drew the ire of tech media. It was discovered that this was simply an off-the-shelf router with an installation of OpenWrt, and the single common thread in the controversy was that, ‘anyone can build that. This guy isn’t doing anything new.’
Finally, someone who didn’t have the terrible idea of grabbing another off the shelf router and putting it up on Kickstarter is doing just that. [Adam] didn’t like the shortcomings of the Anonabox and looked at the best practices of staying anonymous online. He created a Tor dongle in response to this with a Beaglebone Black.
Instead of using wireless like the Anonabox and dozens of other projects, [Andy] is using the Beaglebone as a dongle/Ethernet adapter with all data passed to the computer through the USB port. No, it doesn’t protect your entire network; only a single device and only when it’s plugged in.
The installation process is as simple as installing all the relevent software, uninstalling all the cruft, and configuring a browser. [Adam] was able to get 7Mb/sec down and 250kb/sec up through his Tor-ified Ethernet adapter while only using 40% of the BBB’s CPU.
Pour-over coffee brewing is a simple and cheap hands-on alternative to using an automatic coffee maker. Although coffee aficionados often choose pour-over just for the manual brewing experience, this didn’t stop [Elias] from automating his pour-over coffee setup with an elaborate delta-robot: the DeBrew.
The coffee-brewing robot is built around a delta assembly from a 3d printer controlled by a BeagleBone Black. The BeagleBone drives stepper motors, displays information on a small open-source hardware HDMI LCD display, and serves up a web interface to control the machine. The radius of the pouring pattern, water temperature, and grind coarseness of the DeBrew can all be customized though its web interface.
For those who want to build their own pour-over robot, [Elias] has made a SketchUp drawing of the design and all of his Python source code available as open-source. Check out the video after the break where [Elias] explains how his delta pour-over bot works.
Continue reading “Delta Coffee-Brewing Bot”