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 robokit1
board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo
-
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
robokit1/same70q21b
target
Type |
Location |
Description |
Compatible |
---|---|---|---|
CPU |
on-chip |
ARM Cortex-M7 CPU1 |
|
ADC |
on-board |
Texas Instrument Single Channel SPI ADC1 |
|
on-chip |
|||
ARM architecture |
on-chip |
Atmel SAM SSC (Synchronous Serial Controller) controller1 |
|
CAN |
on-chip |
Specialization of Bosch m_can CAN FD controller for Atmel SAM2 |
|
Clock control |
on-chip |
Atmel Power Management Controller (PMC)1 |
|
Counter |
on-chip |
Atmel SAM Timer Counter (TC) node4 |
|
DAC |
on-chip |
Atmel SAM family DAC1 |
|
DMA |
on-chip |
Atmel SAM XDMAC controller1 |
|
Ethernet |
on-chip |
Atmel SAM-family GMAC Ethernet1 |
|
Flash controller |
on-chip |
Atmel SAM Enhanced Embedded Flash Controller (EEFC)1 |
|
GPIO & Headers |
on-chip |
SAM GPIO Port5 |
|
Hardware information |
on-chip |
ATMEL SAM Reset controller1 |
|
I2C |
on-chip |
Atmel SAM Family I2C (TWIHS)3 |
|
Interrupt controller |
on-chip |
ARMv7-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
MDIO |
on-chip |
Atmel SAM Family MDIO Driver node1 |
|
MMU / MPU |
on-chip |
ARMv7-M Memory Protection Unit (MPU)1 |
|
MTD |
on-chip |
This binding describes the Atmel SAM flash area layout1 |
|
on-board |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
||
Pin control |
on-chip |
Atmel SAM Pinctrl Container1 |
|
Power management |
on-chip |
Atmel SAM SUPC (Supply-Controller) controller1 |
|
PWM |
on-chip |
||
RNG |
on-chip |
Atmel SAM RNG1 |
|
RTC |
on-chip |
Atmel SAM family RTC device1 |
|
Sensors |
on-board |
ICM-42688 motion tracking device1 |
|
on-chip |
Atmel SAM Timer Counter (TC) QDEC mode4 |
||
on-board |
Asahi Kasei AKM09918C Magnetometer1 |
||
on-board |
EPCOS B57861S0103A039 thermistor1 |
||
Serial controller |
on-chip |
||
on-chip |
|||
SPI |
on-chip |
Atmel SAM SPI controller2 |
|
SRAM |
on-chip |
Generic on-chip SRAM description1 |
|
Timer |
on-chip |
ARMv7-M System Tick1 |
|
USB |
on-chip |
Atmel SAM Family USB (USBHS) in device mode1 |
|
Watchdog |
on-chip |
ATMEL SAM0 watchdog1 |
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
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
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: