One particularly exciting feature of Giant Board is its ability to load device tree overlays at boot time. We've patched U-Boot so that you can tell it what overlays to load simply by editing a text file. This feature is not only great for developers, it also provides an easier, less error-prone way to enable and use common FeatherWings.
The boot directory partition is FAT formatted, so you can view and edit its contents using your own computer rather than having to do so from within the Giant Board itself. This makes it easy to add or customize overlays. If you want to use Adafruit's Ethernet FeatherWing, for instance, you can simply edit the file at
/boot/uboot/uEnv.txt so that it resembles the image below:
After saving the modified
uEnv.txt file, you just need to add some basic network information to
/etc/network/interfaces and reboot. Below is a sample
auto eth0 iface eth0 inet dhcp # iface eth0 inet static # address 192.168.1.100 # netmask 255.255.255.0 # gateway 192.168.1.1
U-boot will take care of setting up the SPI interface and other pins, as well as loading the appropriate driver for the Ethernet FeatherWing (wiznet w5500), on every boot. Now you can connect to the Internet and use the full Linux network stack to download updates and packages or send data to your favorite MQTT server.
We have put together a number of overlays to support common FeatherWings in Linux, and they are all similarly easy to use: just edit
uEnv.txt and reboot. We currently maintain overlays that add compatibility for displays, Ethernet adapters, and Wi-Fi adapters, including:
By default, most of the interfaces on the Giant Board are disabled, which allows you to use the pins as normal GPIO. In addition to the FeatherWing overlays described above, we have also added support for common interfaces such as SPI, I²C, PWM, a second UART, and many more. These overlays, which can be enabled either in Linux or through CircuitPython, include:
We want to make it as easy as possible for users to jump into new projects without getting stuck on device trees and drivers, so we plan to expand Giant Board's FeatherWing compatibility as needed. If you would like to request support for a particular FeatherWing – or for any other device that might add key functionality to Giant Board – please feel free to stop by our forums and let us know. We actively monitor the forums for suggestions and feedback, and we greatly appreciate your input.
It's amazing to see the level of support this campaign is getting! After just two weeks, we are over half way to our funding goal. We look forward to seeing where things go in the coming weeks. And to hitting that goal, of course! We are beyond grateful for everyone's help and support, and we want to thank you all for what is already a great campaign!