This section explains the initial setup steps required to prepare the Gemstone development board for use and demonstrates how to connect to Gemstone from your computer. In later sections of the documentation, software/hardware development processes and various project examples will be examined.

By the end of this section, you will gain experience in the following topics:

  • Downloading and using the Gemstone Imager software installation application.
  • Preparing a new Gemstone development board by installing the necessary software.
  • Connecting to Gemstone and exploring the system.

Package Contents

Todo: Image of the package and its contents

The hardware required for setup is listed below.

After the initial setup, you can connect to your Gemstone board using an Ethernet cable or use the board directly as a computer with the following hardware.

Todo: Image showing all hardware and requirements

1. Setup

Your board will be prepared by performing the following four main steps.

The term “image” generally refers to a file with the .img extension, containing Linux operating system files, drivers, and everything necessary for the board to function. You can download and examine the minimal image from https://packages.t3gemstone.org/images/ubuntu/jammy/t3-gem-o1.
1

Download the image writing application

This is the process of downloading the desktop application used to install and customize the operating system on the board.

2

Write the image to the development board

This is the process of installing software on the board and preparing it for use using the Gemstone Imager application.

3

Change the Bootmode switch to boot the development board from the SD card

The development board can optionally be used with SD card or eMMC. This step shows how to make this selection.

4

Establish a connection between the computer and the development board

These are the steps to connect to the development board and access the system inside it.

1.1. Image Writing Application

All core software on Gemstone, such as the Operating System, Bootloader, and Firmware, is installed using the Gemstone Image Writer (GemImager or Gemstone Imager) application. Download the appropriate application (Linux, Windows, or macOS) for your computer from http://www.t3gemstone.org/software.

Throughout the documentation, the terms Gemstone Imager and Gemstone Image Writer will be used for the image/operating system writing application.

1.2. Image Writing Process

1.2.1. Connect the SD card and reader to the computer

The Product does not include an SD card. After connecting any brand and model of SD card with at least 32GB capacity to your computer using a suitable SD card reader, launch the Gemstone Imager application.

Todo: Connecting the SD card and reader to the computer

1.2.2. Launch the Gemstone Imager application

If you are using the Windows operating system, double-click the downloaded .exe file to install and launch the application from the Desktop.

When you launch the application from the downloaded file path, you will see the following screen.

Gemstone Imager welcome screen (Note: version number may vary)

1.2.3. Select the development board

Click the “Gemstone board / Choose Device” button to select the development board you own.

This example is for the T3-GEM-O1 model.

1.2.4. Select the operating system to install on the board

After selecting the development board (Gemstone board / Choose Device), click the Operating System / Choose OS button for the next step.

Operating system image type

Gemstone uses a Ubuntu/Debian-based operating system, with different variations available depending on project needs. While the later sections of the documentation explain which version to use for which projects, a summary is provided below:

  • Desktop: An image containing applications such as a browser (Firefox), text editor, code development environment (VSCode), and video player (VLC), allowing the board to be used as a computer. This image is larger than the other two types and is mostly used for prototyping, testing, and development activities. (For robotics projects, the “Minimal” image is more suitable.)

  • Kiosk: An image that does not include the applications or desktop environment found in the Desktop image, primarily used for touch panel purposes. (For example, the touch media control panel in Tesla vehicles or the control screen in passenger vehicles during Teknofest competitions.)

  • Minimal: This image contains a real-time Linux kernel and is optimized for IoT, robotics, and autopilot applications. It is a powerful and deterministic structure suitable for embedded software system development projects.

1.2.5. Select the storage device (SD card/eMMC)

After connecting your SD card and reader to your computer, the Gemstone Imager application will list the relevant device as shown in the screenshot below.

SD card or eMMC selection

After completing all three options, click the Next button as shown below.

1.2.6. Customize the system

After completing the above selections, clicking the Next button will automatically open the System Customization screen. This screen is used to set the board’s login password and enable certain services to start automatically.

After customization, click the Save button to proceed to the next step.

1.2.7. Start the writing process

After completing all the above steps, you will be asked to confirm before starting the image writing process, and the copying process will begin.

1.2.8. Insert the SD card

After the writing process is successfully completed, remove the SD card from the reader, insert it into Gemstone, and set the Bootmode pins to “SD card” as explained in the next section.

Todo: Insert the SD card

1.3. Bootmode Switch

is used to determine how and from where (which disk the operating system boots from) the system will start when power is first applied to the board, or for purposes such as during software development.

The table and screenshot below list all Boot modes available on the Gemstone O1 development board. This section explains the installation process for the SD card, while the eMMC (embedded disk on the board) usage will be covered in later sections.

The SD card is often preferred for quick testing and development activities due to its convenience, but data loss can occur in moving systems where vibration may occur. If you plan to use your the board on a moving platform, eMMC is a more suitable choice.

Todo: Bootmode switch image

Boot modeImageDescription
SD card
eMMC
Network
NULL

1.4. Connect the board to the computer

After connecting the USB Type-C and Ethernet cables from the package to your computer and the development board as shown in the photo below, you are ready to explore the board!

Todo: Connecting the SD card and reader to the computer

2. Exploring Gemstone

The following steps are for using your Gemstone development board via your computer. (For example, connecting to your Gemstone board’s desktop via a browser or performing operations via Serial Port/Terminal from the command line). If you have the option to connect a monitor, keyboard, and mouse, you can also explore the board using this method!

After setup, you can determine whether the board has a network connection via the connected Ethernet and USB Type-C or Wi-Fi settings (as explained in the Customize System section) by checking if the .

Todo: Connecting the SD card and reader to the computer

1

Serial Port

Connect to the board using a USB TTL Serial converter.

2

VNC

Connect to the board via a browser (Firefox/Chrome).

3

SSH

Connect to the board via a Terminal/Console application.

2.1. Serial Port

The USB TTL converter cable is mostly used to connect to the board via serial port when an Ethernet connection is unavailable. Normally, when you connect your Gemstone board to your computer via a USB Type-C cable, if the “Gadgets” option under Services in the Customize System section is checked, you can connect via serial port without needing a TTL cable. However, if an unexpected issue arises during development and these features do not work, you can still connect to the board using a USB TTL cable.

An advantage of this method is that it allows you to view the console outputs of U-Boot, the preloader (Bootloader) on Gemstone boards. While network initialization must complete before outputs appear when connecting over Ethernet, outputs are visible from the start when using TTL.

2.1.1. Terminal/Console Application

For Terminal/Console operations, you can use Putty on Windows, Gnome Terminal on Linux, or Terminal on macOS. This document will use the Tabby.sh application, which works on all three operating systems.

2.1.2. Download the application

Go to the Tabby.sh website, click the Download button, and download the software suitable for your operating system.

https://github.com/Eugeny/tabby/releases

After completing the installation, run it and select the Serial port as shown in the screenshot below.

Todo: Tabby terminal and serial port

2.2. Remote Desktop Connection via Browser with VNC

Browser

2.3. Network Connection via SSH

Ethernet

2.4. Update the Gemstone Operating System

Gemstone development boards include a customized real-time Linux kernel-based Debian/Ubuntu operating system. While the version you installed via GemImager is up-to-date, you can update any existing Ubuntu/Debian packages using the method below.

The following operations should be performed on the board via the command line by clicking the Terminal icon in the top menu when connected via remote desktop from a browser or via SSH/Console from your computer’s Terminal. If you have no prior experience using Linux, you can gain experience by reading the Beginner’s Guide in the Training Guides.

sudo apt update && sudo apt upgrade

3. Conclusion

This document will provide explanations about Gemstone Development boards’ entire software and hardware ecosystem, along with rich project examples, and will explain how to specialize in topics such as the operating system and hardware architecture. For example, if you are interested in the Real-Time Ubuntu/Debian-based Linux distribution used for Gemstone and wonder how these systems are assembled or how robotic projects are safely implemented in C++, we encourage you to complete all the resources mentioned throughout the document to develop yourself and join the community with your contributions!