Portable Forest Box: Build Tutorial
Portable Forest Box: Build Tutorial
Last updated: 15.06.2026
Towards our goal of scaling up our distributed interactive systems, we built a custom "portable Forest box" for plug-and-play sensing inputs, interaction modalities, audio and LED outputs. The box is designed to be modular - one of many in a distributed system - and robust for extended runtime (tested for up to 8 hours continuous runtime).
The following are the details for building and setting up your own portable Forest box. If you do build your own, let us know! We're keen to see custom builds and implementations!
Overview
Capabilities....
What are the intended inputs? or possible inputs? e.g. we added an ESP32 connected via USB port for the Entangled Biome
What are the outputs? or possible outputs? LEDs, speakers.
Components
Raspberry Pi (ver?)
Pi HAT
Arduino
Power supply - more detail about power requirements
Build Tutorial
Complete list of components/parts and estimated costing
Diagram of components and connections
Example of implementation for a previous installation (diagram showing speaker output, button input, LEDs etc)
Suggested network setup
Setup router and connect Raspberry Pi to router via WiFi
Connect to router from PC - you can then find the Pi's IP address on the router network and use that to ssh into the Pi from PC
You can connect additional Pi's associated to other boxes in the same way. This allows all Pi's to communicate with each other
Software
Flash SD card with Raspberry Pi OS
Clone the github repository
Main repo: https://github.com/CA-VE-STUDIO/TheForest
Select subrepo e.g. ANTS2026 to clone
Installation:
Dependencies
scamp_extensions
pyserial
matplotlib
paho_mqtt
requests
supercollider: install from source - https://github.com/supercollider/supercollider/blob/develop/README_LINUX.md
Configuration
To read serial from Arduino, you need to find the port name that the Pi has assigned to it in /dev (you can disconnect the Arduino and reconnect to see which name appears/disappears). The name is typically ttyACM0 or ttyACM1 etc.
If ttyACM0 (or whichever name it is assigned) is not open:
Add user to dialout group + restart the Pi to activate
sudo adduser dialout
HiFiBerry: the Pi may not automatically find the HiFiBerry soundcard (on Pi HAT). To do so, the HiFiBerry needs to be configured: see here https://www.hifiberry.com/docs/software/configuring-linux-3-18-x/
aplay -l
If the soundcard is detected you should see:
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry AMP4 Pro HiFi pcm512x-hifi-0 [HiFiBerry AMP4 Pro HiFi pcm512x-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
Need to change /boot/firmware/config.txt
See below
Now if you run "aplay -l" or "alsamixer" you should see the HiFiBerry on top