Battle back an alien invasion in Quake II, customize your PocketC.H.I.P. desktop with Fluxbox, and control enormous machines with MachineKit on C.H.I.P., all thanks to the work of the community!
Community members Anthk, Bilejoni, and Machine Koder have you covered with all the details on how to install, configure, and use Quake II, Fluxbox, and MackineKit on C.H.I.P. and PocketC.H.I.P.!
Don’t wait until the next blog post, see it before it happens in the forum! It’s a vibrant community committed to sharing their knowledge of C.H.I.P. and PocketC.H.I.P., plus everyone is always happy to help when you have questions.
Released in 1997, Quake II, the 3D first-person shooter remains fun even today. It’s fast paced and runs well on all sorts of hardware –PocketC.H.I.P. included. Fighting as the marine Bitterman, your goal is to prevent the Strogg from successfully conquering Earth by attacking their homeworld Stroggos. It’s a near impossible mission, but that’s what makes it so much fun.
Follow Anthk’s instructions in the forum and you’ll be playing Quake II on PocketC.H.I.P. in no time. The process entails installing a few required packages from the Debian repository and compiling Quake II from source code. The compile time doesn’t take too long and the payoff is worth it!
Even though you need to compile the game from source code, this is an approachable first project with PocketC.H.I.P.. Anthk’s instructions are easy to follow and very clear. Plus, if you get stuck, just ask for help in the forum thread!
Bilejoni figured out how to install install Fluxbox, a light-weight window manager, on PocketC.H.I.P.. What you see in the image above is pretty much what you get with Fluxbox. It’s a minimal design and pretty easy to install.
The menu in the left of the image above is the root-menu. It shows installed applications and system options, all grouped in categories. While the menu auto-populate when you first launch Fluxbox, you can also tweak it by hand. Just open the configuration files stored in /home/chip/.fluxbox directory with your favorite text editor and customize away. Almost all of the config files are flat text files.
Along the bottom edge of the Fluxbox desktop is the toolbar and system tray. These show basic system information like date and time, WiFi status, what applications are running, and can also be customized a bit with applets.
See the forum thread for more information on how to customize Fluxbox and how to switch back to Pocket Home if you’re not digging the minimalism. Oh, and don’t forget to share your desktop screenshots!
MachineKit is professional grade machine control software that enables it, or other software programs, to control large fabrication machines like mills, robots, or even a single components like a servo, stepper motor, or relay to move in a determined manner, and thanks to Machine Koder it runs on C.H.I.P.! Though it’s a challenging process, Koder has written fantastic documentation on how to install MachineKit on C.H.I.P..
To get MachineKit running on C.H.I.P. does takes quite a bit of work. To better understand the process, it’s helpful to consult the block diagram of MachineKit’s architecture.
First, Machine Koder built a new Linux kernel with support for real time preemptive processing, which falls in the hardware block of the diagram. This new kernel changes the way that the Linux manages the order and timing of how computations are made on the system. This is required, since controlling large tools, gantries, motors, and spindles require precise, deterministic control.
Next, Koder wrote a hardware abstraction layer (HAL), which facilitates communication between the GPIO pins on C.H.I.P. and the MachineKit software. Though it’s called HAL, you can basically think of this as a specialized hardware driver for MachineKit. Koder provides commentary on writing the HAL for C.H.I.P. and multiple source code examples, which will be of interest to anyone looking to understand this low-level software integration.
After flashing C.H.I.P. with the RT-PREEMPT kernel, Koder compiled MachineKit from source, integrating the C.H.I.P. specific HAL layer into the build.
Which of these three projects are you most excited to try on your C.H.I.P. and PocketC.H.I.P.?
Make sure to let us know in the comments below. And if you’re working on a cool C.H.I.P. or PocketC.H.I.P. project, don’t forget to share your progress with the entire community in the forum and on twitter!