RoboKit 1

Overview

The TDK RoboKit1 is a development board for use primarily with ROS2 and provides a large number of small ground robotics useful sensors including chirp sensors for time of flight (e.g. ultrasonic obstacle detection).

It pairs a 300MHz Cortex-M7 ATSAME70Q21 with an array of TDK sensors and pin headers useful for robotics.

Hardware

  • ATSAME70Q21 ARM Cortex-M7 Processor

  • 12 MHz crystal oscillator (Pres)

  • 32.768 kHz crystal oscillator

  • Micro-AB USB device

  • Micro-AB USB debug (Microchip EDBG) interface supporting CMSIS-DAP, Virtual COM Port and Data

  • JTAG interface connector

  • One reset pushbutton

  • One red user LED

  • TDK ICM 42688-P 6-Axis 32KHz IMU

  • TDK ICP-10111 Pressure Sensor

  • TDK NTC Thermistor for Temperature

  • AKM AK09918C Magnetometer

  • 2 TDK HVCi-4223 Cortex-M3 Dedicated Motor Controller

  • 3 TDK ICS-43434 Stereo Microphones

  • Connector for Industrial Dual IMU (TDK IIM-46230)

  • TDK CH101 Ultrasonic Range Sensor Array (9 Connectors, comes with 3)

Supported Features

The TDK RoboKit1 board supports the following hardware features:

: header-rows: 1

Peripheral

Kconfig option

Devicetree compatible

GPIO

CONFIG_GPIO_SAM

atmel,sam-gpio

USART

CONFIG_USART_SAM

atmel,sam-usart

UART

CONFIG_UART_SAM

atmel,sam-uart

SPI

CONFIG_SPI_SAM

atmel,sam-spi

I2C

CONFIG_I2C_SAM_TWIHS

atmel,sam-i2c-twihs

I2S

CONFIG_I2S_SAM_SSC

atmel,sam-ssc

ADC

CONFIG_ADC_SAM_AFEC

atmel,sam-afec

DAC

CONFIG_DAC_SAM

atmel,sam-dac

PWM

CONFIG_PWM_SAM

atmel,sam-pwm

CAN

CONFIG_CAN_SAM

atmel,sam-can

USB

CONFIG_USB_DC_SAM_USBHS

atmel,sam-usbhs

WATCHDOG

CONFIG_WDT_SAM

atmel,sam-watchdog

NVIC

N/A

arm,v7m-nvic

SYSTICK

N/A

N/A

COUNTER

CONFIG_COUNTER_SAM_TC

atmel,sam-tc

DMA

CONFIG_DMA_SAM_XDMAC

atmel,sam-xdmac

ENTROPY

CONFIG_ENTROPY_SAM_RNG

atmel,sam-trng

HWINFO (reset cause)

CONFIG_HWINFO_SAM_RSTC

atmel,sam-rstc

HWINFO (device id)

CONFIG_HWINFO_SAM

N/A

The default configuration can be found in the Kconfig boards/tdk/robokit1/robokit1_defconfig.

Connections and IOs

The TDK RoboKit Hardware Guide has detailed information about board connections.

System Clock

The SAM E70 MCU is configured to use the 12 MHz external oscillator on the board with the on-chip PLL to generate a 300 MHz system clock.

Serial Port

The ATSAME70Q21 MCU has five UARTs and three USARTs. One of the UARTs is configured for the console and is available as a Virtual COM Port via the USB2 connector.

Programming and Debugging

Flashing the Zephyr project onto SAM E70 MCU requires the OpenOCD tool. Both west flash and west debug commands should correctly work with both USB0 and USB1 connected and the board powered.

Flashing

  1. Run your favorite terminal program to listen for output. Under Linux the terminal should be /dev/ttyACM0. For example:

    $ minicom -D /dev/ttyUSB0 -o
    

    The -o option tells minicom not to send the modem initialization string. Connection should be configured as follows:

    • Speed: 115200

    • Data: 8 bits

    • Parity: None

    • Stop bits: 1

  2. Connect the TDK RoboKit1 board to your host computer using the USB debug port (USB1), USB2 for a serial console, and remaining micro USB for power. Then build and flash the Hello World application.

    # From the root of the zephyr repository
    west build -b robokit1 samples/hello_world
    west flash
    

    You should see “Hello World! robokit1” in your terminal.

Debugging

You can debug an application in the usual way. Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b robokit1 samples/hello_world
west debug

References

TDK RoboKit1 Product Page:

https://invensense.tdk.com/products/robokit1-dk/