We all owe [Richard Stallman] a large debt for his contributions to computing. With a career that began in MIT’s AI lab, [Stallman] was there for the creation of some of the most cutting edge technology of the time. He was there for some of the earliest Lisp machines, the birth of the Internet, and was a necessary contributor for Emacs, GCC, and was foundational in the creation of GPL, the license that made a toy OS from a Finnish CS student the most popular operating system on the planet. It’s not an exaggeration to say that without [Stallman], open source software wouldn’t exist.
Linux, Apache, PHP, Blender, Wikipedia and MySQL simply wouldn’t exist without open and permissive licenses, and we are all richer for [Stallman]’s insight that software should be free. Hardware, on the other hand, isn’t. Perhaps it was just a function of the time [Stallman] fomented his views, but until very recently open hardware has been a kludge of different licenses for different aspects of the design. Even in the most open devices, firmware uses GPLv3, hardware documentation uses the CERN license, and Creative Commons is sprinkled about various assets.
If [Stallman] made one mistake, it was his inability to anticipate everything would happen in hardware eventually. The first battle on this front was the Tivoization of hardware a decade ago, leading to the creation of GPLv3. Still, this license does not cover hardware, leading to an interesting thought experiment: what would it take to build a completely open source computer? Is it even possible?
Continue reading “Stallman’s One Mistake”
[Clifford] presented a fully open-source toolchain for programming FPGAs. If you don’t think that this is an impressive piece of work, you don’t really understand FPGAs.
The toolchain, or “flow” as the FPGA kids like to call it, consists of three parts: Project IceStorm, a low-level tool that can build the bitstreams that flip individual bits inside the FPGA, Arachne-pnr, a place-and-route tool that turns a symbolic netlist into the physical stuff that IceStorm needs, and Yosys which synthesizes Verilog code into the netlists needed by Arachne. [Clifford] developed both IceStorm and Yosys, so he knows what he’s talking about.
What’s most impressive is that FPGAs aren’t the only target for this flow. Because it’s all open source and modifiable, it has also been used for designing custom ASICs, good to know when you’re in need of your own custom silicon. [Clifford]’s main focus in Yosys is on formal verification — making sure that the FPGA will behave as intended in the Verilog code. A fully open-source toolchain makes working on this task possible.
If you’ve been following along with [Al Williams]’s FPGA posts, either this introduction or his more recent intermediate series that are also based on the relatively cheap Lattice iCEStick development kit, this video is a must-watch. It’s a fantastic introduction to the cutting-edge in free FPGA tools.
Every project starts off with an idea. Sometimes those ideas are bigger than one person, or even a small group of people. That was the position [Rory Aronson] found himself in with Farmbot, his finalist entry in the 2015 Hackaday Prize. Documentation was key for [Rory]. Farmbot first came into the world in the form of a white paper. The paper included a request for collaborators, making this an open source project from day 0. Documentation has been important throughout the Farmbot project, so it was naturally the topic of [Rory’s] talk at the 2015 Hackaday SuperConference.
Continue reading “Rory Aronson on Documenting Open Source Projects”
There’s a lot to be said for open source software. The ability to change code to suit one’s needs, the fact that security vulnerabilities can be easier to find, and the overall transparency are just the tip of the iceberg when it comes to the strengths of using open source software. And, while Microsoft is no Apple when it comes to locking down their source code, their operating system is still, unfortunately, closed.
Don’t despair, though! There is a project out there that aims to change this. No, they’re not stealing anything or breaking into any computers to obtain Microsoft’s code. They’re writing their own version of Windows called ReactOS that aims to be binary-compatible with Windows. The software has been in development for over a decade, but they’re ready to release version 0.4 which will bring USB, sound, networking, wireless, SATA, and many more features to the operating system.
While ReactOS isn’t yet complete for everyday use, the developers have made great strides in understanding how Windows itself works. There is a lot of documentation coming from the project regarding many previously unknown or undocumented parts of Windows, and with more developers there could be a drop-in replacement for Windows within a few years. It’s definitely worth a shot if you fondly remember the frontier days of Linux where doing things like reading information on a CD required extensive experience using the terminal. If this is a little too much, though, there are other unique operating systems out there to investigate.
Thanks for the tip, [Matt]!
Over on Hackaday.io, [Dave Vandenbout] has posted the CAT board, a Raspberry Pi
daughterboard hat that features a Lattice FPGA, 32 MB of RAM, EEPROM, and a few Grove and PMOD connectors. The CAT takes advantage of the open source tool chain available for Lattice including the Python-based MyHDL (although, you could just use Verilog directly, if you prefer) and Icestorm. One interesting point: you can run the tool chain on the Raspberry Pi, resulting in a self-contained and largely portable FPGA development environment.
Continue reading “Open Source FPGA Pi Hat”
The Novation Launchpad is a MIDI controller, most commonly used with the Ableton Live digital audio workstation. It’s an eight by eight grid of buttons with RGB LED backlights that sends MIDI commands to your PC over USB. It’s often used to trigger clips, which is demonstrated by the artist Madeon in this video.
The Launchpad is useful as a MIDI input device, but that’s about all it used to do. But now, Novation has released an open source API for the Novation Pro. This makes it possible to write your own code to run on the controller, which can be flashed using a USB bootloader. An API gives you access to the hardware, and example code is provided.
[Jason Hotchkiss], who gave us the tip on this, has been hacking around with the API. The Launchpad Pro has a good old 5 pin MIDI output, which can be connected directly to a synth. [Jason]’s custom firmware uses the Launchpad Pro as a standalone MIDI sequencer. You can check out a video of this after the break.
Unfortunately, Novation didn’t open source the factory firmware. However, this open API is a welcome change to the usual closed-source nature of audio devices.
Continue reading “Novation Launchpad MIDI Controller Moves Toward Open Source”
If you’ve ever been interested in what goes on inside a (roughly) $6000 DLP stereolithography printer, you might want to check out the recent announcement from Autodesk that open sources their electronics and firmware for their Ember 3D printer. The package includes the design files and code for their controller (which is more or less a BeagleBone black with a USB hub, and more memory. It also has two AVR controllers for motor and light control.
Continue reading “Autodesk Open Sources Ember 3D Printer”