The Novena is designed to be as free-software friendly as possible, Cross said. All of the schematics and hardware designs are publicly available, and the software is free of binary blobs. “Well,” he added, “there is a small asterisk to that, depending on how you define ‘blob.'” The device’s WiFi module has free software drivers, he explained, but there are always other places where “blobs” can remain. The Novena board has a smart DMA controller and boot ROM, both of which do not have free firmware available. The Vivante video chip also needs non-free drivers to do 2D and 3D acceleration, at present, although progress is being made on reverse-engineering both cores (“it already plays Quake; the community is close to getting Wayland running,” he said). Finally, there is hardware video core that requires a blob to accelerate certain codecs, though these are optional.
Whether these bits disqualify Novena as a “free hardware” device is a matter of contention, apparently; on his blog, Huang commented that the FSF would not certify the Novena in its “Respects Your Freedom” program, even though the laptop can be used with the binary-only units turned off and unloaded. Cross also asked, rhetorically, “what is a blob?” The Xilinx FPGA can only be programmed with Xilinx’s IDE, he observed. You program it yourself, but it generates a binary—is that binary considered a “blob” or not, he asked.
Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.