terra-nova

Public

@jamesmendel

Download board files

Files for version 1. Pick what you came for.

Share terra-nova

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading…

README

TERRA is a companion for mindful wandering

⭐️ This is the working repository for the second generation of TERRA hardware and software. ⭐️





Designed with the science of AI and the wisdom of mindfulness, TERRA is the incredible, pocket-sized compass that lets you wander without getting lost. Leave your phone behind and reconnect with your surroundings.


Features

  • Improvised Trails, Powered by AI: Every journey begins with a prompt. TERRA’s sophisticated AI translates your intentions, available time, and precise location into a tailored trail of GPS coordinates. Users don't know where TERRA will take them; the only certainty is finding their way back to the starting point.
  • Wander Without Your Phone: TERRA invites users to leave their smartphones behind and reconnect with their surroundings. The standalone device boasts a minimalist interface, featuring a tranquil compass needle and gentle haptic feedback to ensure users remain engaged with the present moment.
  • Open-Source by Design: TERRA is designed with a DIY mindset. Anyone can download the open-source software, 3D print the CAD designs, assemble the necessary hardware, and start wandering.


⚠️ NOTICE: This project is currently in an experimental phase and is undergoing rapid developments ⚠️


Software

The TERRA App generates coordinates or checkpoints from a starting point and an ideal trail length using the ChatGPT API.

Running TERRA App Locally

Prerequisites

  • Node.js v21.5
  • body-parser v1.20.2
  • cors v2.8.5
  • express v4.19.0
  • node-fetch v3.3.2

To run the TERRA App locally, follow these steps:

  1. Implement ChatGPT API Key: Obtain a ChatGPT API key and replace YOUR_OPENAI_API_KEY with it in the server.js file.
  2. Implement Google Maps API Key: Obtain a Google Places API key and replace YOUR_MAPS_KEY with it in the index.js file.
  3. Run Locally: To run the application, use the command:
    node server.js
    
  4. Load Application: Open index.html in a browser to use the app for generating a route.
  5. Download config.h File: Download the config.h file which contains the generated route configuration.
  6. Update Arduino Code: Replace the config.h file in the Arduino code directory with the newly downloaded file.

Hardware

The hardware for the TERRA project is based on an ESP32 device, equipped with a range of sensors for navigation and interaction.

Components

The main components required are:

  • ESP32 Feather V2 link
  • Waveshare 1.28" Round LCD Display Module with GC9A01 Driver link
  • Adafruit Push-button Power Switch link
  • Beitian BN 880 GPS module link
  • Adafruit DRV2605L Haptic Controller Breakout link
  • CMPS12 Compass link
  • Round Battery
  • USB C charging port extender

Wiring

Connect the components together in the following order:

ESP32 PinScreenMotor DriverCompassGPSPush Button
3VVCCVINVINVIN
GNDGNDGNDGNDGNDGND
19 (MOSI)DIN
4 (A5)RST
5 (SCK)CLK
12BL
15CS
32 (A7)OFF
33DC
SDASDASDA
SCLSCLSCL
RXTX
TXRX

Arduino Code

To run the Arduino code, you will need to set up the ESP32 board and install the necessary libraries.

Setup Steps

  1. ESP32 Arduino Setup: Add the ESP32 board to the Arduino IDE.

    • Go to Arduino > Preferences.
    • Add the following URL to the Additional Boards Manager URLs:
      https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
      
    • Select Adafruit Feather ESP32 V2 as the board.
  2. Install Libraries: Install the following libraries through the Library Manager in the Arduino IDE.

    • TinyGPSPlus.h
    • TFT_eSPI.h
    • Adafruit_DRV2605.h
  3. Upload the Code: After installing the libraries and updating the config.h file with new coordinates, upload the code to the ESP32 device. The device should work without further adjustments.

  4. Debug Mode: A debugMode flag is available in the code. To test the device with manual coordinates, set this flag to true and input coordinates into the serial monitor.

Further Customizations

You can use your own checkpoint files by converting black and white images into a compatible format.

Using Your Own Checkpoint Files

  • Convert static black and white, 240x240PX .bmp images to .XBM format using this online tool.
  • Open the XBM file in a text editor and copy the hexadecimal values included in the curly brackets.
  • Replace the existing files in the images/checkpoints directory with your customized .h file.

Contributors

Vision + Concept: Modem
Industrial Design: Panter&Tourron
Software + Hardware: Alice Stewart
Product Renderings: Côme Lart
Illustrations: Hugo Bernier
Campaign Teaser: Michael Willis

License

TERRA is licensed under the GNU General Public License v3.0 © 2024 Modem

Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.