Linux on Open Source Hardware with Open Source chip design

I attended the 36th Chaos Communication Congress (36c3) during the last
week of 2019 in Leipzig, Germany.  It was an amazing event and Hackaday has good coverage.  All the talks are available online including my talk:

Screenshot from 2020-01-10 14-59-10

Linux on Open Source Hardware with Open Source chip design

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.

The video is also available on YouTube:

My slides are on SlideShare:

Screenshot from 2020-01-12 13-13-03.png

The slides are also available as a PDF on GitHub.

Linux on Open Source Hardware with Open Source chip design

The first Adafruit Show ‘n Tell of 2020

Joining Adafruit Show ‘n Tell with Helen Leigh was a fun way to start 2020!

Helen embroidered the CircuitPython-powered Serpente board from Arturo at Chaos Communication Congress (36c3):

I showed Linux running on a RISC-V core in the ECP5 FPGA on the Hackaday Supercon badge:

I gave a shout-out to Greg Davill who got Linux booting the OrangeCrab while at 36c3:

ENPYQGaWwAAWLX9

Greg’s open hardware OrangeCrab board features the ECP5 FPGA in an Adafruit Feather form factor and is capable of running a RISC-V “soft” core using LiteX.

Find out more about Linux on RISC-V using open source FPGA toolchains in the slides from my 36c3 talk

The first Adafruit Show ‘n Tell of 2020

Hackaday Supercon badge boots Linux using SDRAM cartridge

Jacob Creedon designed an a cartridge board that adds 32MB of SDRAM to the Hackaday Supercon badgeMichael Welling just assembled a version of the PCB made with the OSH Park “After Dark” black FR-4 service:

The addition of SDRAM provides enough memory to boot Linux on a RISC-V soft-core in the ECP5 FPGA on the badge.  Here’s a screenshot of Linux running:

Read more about “Team Linux on Badge” in this Hackaday post:

Badge-hacking-2019-13-Linux-on-badge-team.jpg

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.

Watch the demo during the Badge Hacking ceremony (jump to 17m 35s):

Resources:

ad-sdram
Note: click the “After Dark” checkbox if you want clear solder mask on black substrate

UPDATE:

Demo of Linux-on-LiteX booting on the badge:

Wondering what LiteX is?

LiteX is a FPGA design/SoC builder that can be used to build cores, create SoCs and full FPGA designs

Hackaday Supercon badge boots Linux using SDRAM cartridge

BeagleDrone fixed-wing autopilot

AndiceLabs writes about a fixed-wing autopilot project:

IMG_0823s.jpg

BeagleDrone

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.

IMG_0822s.jpg

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!

BeagleDrone fixed-wing autopilot

Turning The Beaglebone On A Chip Into A 3D Printer Controller

UPDATE: Thomas Sanladerer interviews Elias Bakken about the Revolve board

writes on the Hackaday blog:

Turning The Beaglebone On A Chip Into A 3D Printer Controller

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.

IMG_20180323_172921

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:

Revolve: Replicape has evolved

Turning The Beaglebone On A Chip Into A 3D Printer Controller

Introduce Yourself To a PocketBeagle With BaconBits

From  on the Hackaday blog:

Introduce Yourself To a PocketBeagle With BaconBits

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!

Introduce Yourself To a PocketBeagle With BaconBits

Embedded Linux workshop coming to Pasadena and Portland

Screenshot from 2018-03-06 11-38-46.png

Embedded Apprentice Linux Engineer (E-ALE) is a series of 9 seminars over 3 days at existing Embedded Linux conferences:

Are you an Embedded Engineer who is transitioning to using Linux? Attend seminars on how to start with using Linux for Embedded Applications. The Embedded Apprentice Linux Engineer program provides a place at existing Embedded conferences where you can get your questions answered.

Embedded Apprentice Linux Engineer Hands on Workshops at SCALE 16x in Pasadena from Thursday, March 8th to Saturday, March 10th:

scale

Embedded Apprentice Linux Engineer track at The Linux Foundation’sEmbedded Linux Conference in Portlandfrom Monday, March 12 to Wednesday, March 14

Screenshot from 2018-02-08 14-59-02

All the Embedded Apprentice Linux Engineer classes will involve using embedded hardware during the hands-on labs with the PocketBeagle and a BaconBits cape which are included with the $75 USD registration fee for E-ALE at SCaLE61x and ELC.

Screenshot from 2018-03-06 11-00-31.png

Embedded Linux workshop coming to Pasadena and Portland