The new Gizmo II from Gizmosphere is absolutely oozing with power:
- dual-core 64-bit AMD SoC Jaguar II processor, with built-in GPU
- 1GB of DDR3L RAM; on-board USB3.0 ports
- a PCI-Express card slot
- HDMI out; gigabit Ethernet
- And, as a bonus, a real-time clock that is battery-backed, something sorely lacking on many other single-board computers out there.
You may think from the specs that it's a modern computer – it's hard to believe that Gizmosphere have managed to pack so much into something the size of a slice of bread.
When presented with the opportunity to write an article about this board, my mind was reeling. How could I possibly pick something that would highlight all the features of this board? Of course, using all of the features is impossible; so I decided to do something that will take advantage of the processing power and portability inherent in a small, single-board computer. This is something that would be almost impossible to do with any other single board computers currently on the market.
Recording music takes a lot of CPU power – the incoming sound needs to be digitized and put into RAM in real-time, or else the resultant recording will have 'skips' and errors. I've used both a MIDI to USB bridge, and a TASCAM USB recording console, which does the digitizing part for the inputs (guitar & microphone). The MIDI bridge is to control a synthesizer program with a MIDI keyboard. However, with the proper cable, the audio input circuitry is more than adequate for digitizing high-quality music. Using a more modern, USB3.0-based console would have even better results.
While 2GB of RAM may not seem like a lot of memory, remember that we're running Linux. The beauty of this board is that your favourite x86 or x64 distro will run with no modifications! The memory management and real-time features of the kernel are essential to a project like this. I've used Linux to record more than a few times, and I find the latency between when I play a note and when it's recorded is almost non-existent – those familiar with recording on other OS's, Windows in particular, will know what I'm referring to. This is especially important when using software plugins, like the Linux program Guitarix, to add effects and processing.
A few notes on using different distributions of Linux – I have booted into and used both Lubuntu and Fedora successfully. The boot process of this board still remains a bit of a mystery to me, but I'm sure that AMD will release details on the boot process. The Gizmo boots from the micro SD card slot, unless there's a USB stick with a bootloader in the USB 2.0 slots. My original goal was to boot to a live version of Fedora and then install to the SD card. However, though the installation completes successfully, rebooting after the install ends with it locking up after attempting to boot from the SD card. So, it seems the best way to run this is from a live USB stick with persistent storage across reboots. I had mixed results using LiLo. The Fedora Live USB Creator from the Fedora website works well. Also, Unetbootin, which is available as a repository package in most distributions seems to work well. For this article, I used Fedora 20 x86_64 with the stock GNOME desktop environment.
Getting JACK working can be tricky, no matter which distribution you use, and no matter what hardware you have. I found out quickly that my TASCAM USB recording console has absolutely no support at all in Linux. This is because TASCAM (owned by TEAC) has refused to work with the Linux driver developers. Suffice it to say, I wasn't up to writing a device driver for this article!
So, for the sake of example, I've stuck to using my MIDI keyboard to write a few tunes. It is immediately apparent just how much horsepower this little board has! I installed Ardour, one of the bigger digital audio workstations, as well as a few other useful pieces of software, including Hydrogen, a drum machine, qSynth, which we'll control with our keyboard, and Audacity, for some audio editing and final compression. If you're having trouble getting things set up, ArchWiki has a great article on Pro Audio with Linux. A few of the tips there, such as installing the 'real-time' kernel, aren't necessary with newer versions of the Linux kernel. However, Arch Linux is an excellent choice for Pro Audio applications, and if you're ready to take the plunge into a more DIY distro, then Arch is definitely an excellent choice.
The keyboard I'm using is an Alesis Q49. Linux recognizes this as a MIDI device if you plug it in via USB directly. This is a great choice if you don't have MIDI equipment and want to get up and running right away. The Q49 also has a MIDI out, which is useful for controlling other MIDI devices, like synthesizers and recording devices. Also, you are free to use a MIDI-to-USB bridge. I've got a Midisport 2x2 Anniversary Edition, which has two MIDI in and out pairs. It is detected and automatically configured with most distributions I've used.
Once you've got it all set up, start making some tunes! Almost every piece of music software that works under Linux has tons of documentation, making getting set up and recording a breeze. The Gizmo II has more than enough power under its hood for audio recording, and while using MIDI it worked excellently.
The reason this project appealed to me is that I've always wanted a small, easy-to-use recording setup. There are many commercial digital recording boards available, but they don't have the power of using embedded Linux. While JACK can sometimes be a pain, the flexibility and power that you get from a good recording setup is invaluable. I really wanted to be able to just toss a mic or two and a recording board into my bag whenever I go to jam with friends. Once cases are commercially available (or you could even 3D print your own!), you can just grab the Gizmo, your mics and/or MIDI equipment, and take it with you. Setting up the Gizmo to use VLC would also make it possible to control it from a tablet or smartphone, which means you don't need to drag around a monitor either.
I'm looking forward to getting a prototyping board for the Gizmo, because I love soldering and hacking on my dev kits. If the community and projects surrounding the original Gizmo are any indication, this board is going to have a lot of excellent support and accessories available. AMD have certainly gotten this one right – if you're looking for a board with more horsepower (by orders of magnitude) than any of the other single-board computers on the market, but you still want to be able to hack it and use GPIO, then this board could certainly be the answer. While the price tag might seem hefty, realize that this board has more power than many recent laptops and PCs do. It's certainly more powerful than most tablets and smartphones, and the form factor is amazing. Add in the ability to connect to it via USB3.0, HDMI, PCI-Express, SATA, and Ethernet, and you've got a unique platform for interesting and exciting IoT projects.
As a final thought, I was recently considering buying or building a small home server, to host my Git repositories locally, and to stream media across my home network. The Gizmo II fits this role comfortably as well, using less power and creating much less noise than most home servers. With a commercial case and a USB3.0 hard drive (or even a RAID array!) you've got an instant, powerful home server.
The range of products and projects that are bound to start evolving around the Gizmo II are worth watching out for. Keep an eye out for more projects from me using this board in the near future! Maybe we'll be able to get the soldering iron out and make something awesome!