Last year’s Hackaday Superconference badge was an electronic tour de force, packing an ECP5 FPGA shoehorned into a Game Boy-like form factor and shipping with a RISC-V core installed that together gave an almost infinite badge hacking potential. It did not however run Linux, and that’s something [Greg Davill] has addressed, as he’s not only running Linux on his badge, but also a framebuffer that allows him to use the badge screen as the Linux terminal screen. Finally you can watch Linux boot on your Superconference badge itself, rather than over its serial port.
Now you can enjoy watching Linux boot while outside!! 😁
He’s achieved this by changing essentially everything: from the new VexRiscv CPU core, to new video drivers and a VGA terminal courtesy of Frank Buss, now part of the LiteVideo project. It’s not quite a fully fledged Linux powerhouse yet, but you can find it in a GitHub repository should you have a mind to try it yourself. Paging back through his Twitter feed reveals the effort he’s put into this work over the last few months, and shows that it’s been no easy task.
For those keeping score at home, this is an open hardware design, running an open CPU core, with community-designed open-source peripherals, compiled by an open-source toolchain, running an open-source operating system. And it’s simply a fantastic demo for the badge, showing off how flexible the entire system is. One of the best parts of writing for Hackaday is that our community is capable of a huge breadth of amazing pieces of work, and this is an exemplar of that energy. We can’t wait to see what Greg and any other readers tempted to try it will come up with.
Want to run Linux on open hardware? This talk will explore Open Source Hardware projects capable of that task, and explore how RISC-V and free software FPGA projects can be leveraged to create libre systems.
And finally, receiving the biggest applause was Linux-on-Badge: this team used all the badge hacking tricks in the book. The hardware component was a 32 MiB SDRAM cartridge by [Jacob Creedon]. The default badge SOC FPGA bitstream was entirely replaced in order to support a minimalist Linux. Much of the development was done on [Michael Welling]’s computer, guided by the precedence of a LiteX project putting Linux on the Radiona ULX3S. This is a true success story of Supercon collaboration as the team (including [Drew Fustini], [Tim Ansell], [Sean Cross], and many others) came together and worked late into nights, drawing from the massive body of collective expertise of the community.
The BeagleDrone is fixed-wing autopilot project based on the BeagleBone and the IMU cape. The IMU cape provides a 3-axis magnetometer, accelerometer, gyro and a barometer on the BeagleBone’s I2C bus. There is also an AVR micro on the I2C bus that handles output pulse timing of the 8 servo channels and input pulse timing on the 4 radio signal channels. Two of the BeagleBone’s UARTs are exposed via FTDI-compatible connectors to allow connection of external modules like GPS and telemetry. It also has a regulator that provides 5VDC for the BeagleBone, AVR, and servos from the RC battery.
The BeagleBone provides the power of Linux in a footprint that is acceptable for RC and the Black has now made the platform even more affordable. With Linux’s extensive libraries and utilities almost any feature should be quickly realizable and development enjoyable. And unlike an autopilot powered by an 8 or 16 bit micro-controller, there is no need to worry about code and data size or overloading the processor with whatever crazy navigation features you can dream up.
I enjoy flying electric RC planes whenever I get the chance and building a fixed-wing autopilot for the BeagleBone has been on my list for a while now. Of course, there’s no reason that the BeagleBone couldn’t also control a multi-rotor aircraft. A flying Linux box is going to have very few limitations!
It’s understood that 3D printers and CNC machines need to control motors, but there are a few other niceties that are always good to have. It would be great if the controller board ran Linux, had support for a nice display, and had some sort of networking. The usual way of going about this is either driving a CNC machine from a desktop, or by adding a Raspberry Pi to a 3D printer.
The best solution to this problem is to just drive everything from a BeagleBone. This will give you Linux, and with a few motor drivers you can have access to the fancy PRUs in the BeagleBone giving you fast precise control. For the last few years, the Replicape has been the board you need to plug a BeagleBone into a few motors. Now, there’s a better, cheaper solution. At the Midwest RepRap Festival this weekend, [Elias Bakken] has unveiled the Revolve, a single board that combines Octavo Systems’ OSD3358 ‘BeagleBone On A Chip’ with silent TMC2130 motor drivers from Trinamic. It’s an all-in-one 3D printer controller board that runs Linux.
The specs for the Revolve are more or less exactly what you would expect for a BeagleBone with a 3D printer controller. The main chip is the Octavo Systems OSB3358, there are six TMC2130 stepper drivers from Trinamic connected directly to the PRUs, 4 GB of eMMC, 4 USB host ports, 10/100 Ethernet, 1080p HDMI out, and enough headers for all the weird and wonderful 3D printers out there. The software is based on Redeem, a daemon that simply turns G-code into spinning motors and switching MOSFETs.
The price hasn’t been set, but [Elias] expects it to be somewhere north of $100, and a bit south of $150. That’s not bad for a board that effectively does everything from online printer monitoring to real-time motion control. There’s no date for the release of this board, but as with most things involving 3D printer, the best place to check for updates is Google+.
You can also checkout the official product page for more info:
The PocketBeagle single-board computer is now a few months old, and growing fast like its biological namesake. An affordable and available offering in the field of embedded Linux computing, many of us picked one up as an impulse buy. For some, the sheer breadth of possibilities can be paralyzing. (“What do I do first?”) Perhaps a development board can serve as a starting point for training this young puppy? Enter the BaconBits cape.
When paired with a PocketBeagle, everything necessary to start learning embedded computing is on hand. It covers the simple basics of buttons for digital input, potentiometer for analog input, LEDs for visible output. Then grow beyond the basics with an accelerometer for I²C communication and 7-segment displays accessible via SPI. Those digging into system internals will appreciate the USB-to-serial bridge that connects to PocketBeagle’s serial console. This low-level communication will be required if any experimentation manages to (accidentally or deliberately) stop PocketBeagle’s standard USB network communication channels.
BaconBits were introduced in conjunction with the E-ALE (embedded apprentice Linux engineer) training program for use in hands-on modules. The inaugural E-ALE session at SCaLE 16X this past weekend had to deal with some last-minute hiccups, but the course material is informative and we’re confident it’ll be refined into a smooth operation in the near future. While paying for the class will receive built hardware and in-person tutorials to use it, all information – from instructor slides to the BaconBits design – is available on Github. Some of us will choose to learn by reading the slides, others will want their own BaconBits for independent experimentation. And of course E-ALE is not the only way to learn more about PocketBeagle. Whichever way people choose to go, the embedded Linux ecosystem will grow, and we like the sound of that!