Brain Boost
How it works
Super-edge-computing on a 30 gram flying platform is now available!
Thanks to the GAP8 IoT application processor from GreenWaves Technologies and the ULP camera, the Crazyflie is able to capture, analyze and classify its environment, as previously presented by ETH Zurich on the initial PULP-Shield PCB design from IIS-ETHZ. This lightweight and low-power combination opens up many research and development areas for the micro-sized Crazyflie 2.x UAV.
The AI deck 1.1 extends the computational capabilities and will enable complex artificial intelligence-based workloads to run onboard, with the possibility to achieve fully autonomous navigation capabilities. The ESP32 adds WiFi connectivity with the possibility to stream images as well as handling control.
To set up this board a compatible JTAG programmer/debugger is needed, see GAP8 bootloader in getting stated guide and flashing documentation.
The AI deck 1.1 version only has minor updates compared to the AI deck 1.0. The Himax camera module is now the greyscale version and the GAP8 is now revision C instead of B. For more details read this blog post and if the Bayer RGB version camera is wanted it can be bought stand alone here.
Specifications
Features
- GAP8 – Ultra low power 8+1 core RISC-V MCU
- Himax HM01B0 – Ultra low power 320×320 monochrome camera.
- 512 Mbit HyperFlash and 64 Mbit HyperRAM
- ESP32 for WiFi and more (NINA-W102)
- 2 x Cortex-M 10-pin JTAG for GAP8 and ESP32
- Button connected to ESP32 for UART bootloader or other action
- 1 x green LED connected to GAP8 (A2)
- 1 x green LED connected to ESP32 (GPIO_24)
- Can work stand alone. Power board on VCOM.
Mechanical specifications
- Weight: 4.4g
- Size (WxHxD): 30x52x8mm
- Designed for mounting over/under the Crazyflie 2.X
Electrical specification
- Power supply 3V-5V @ VCOM up to 300mA
- 1-wire memory for automatic expansion board detection
- UART connected between GAP8 and Crazyflie (RX1, TX1)
- UART connected between ESP32 (RX2, TX2)
- ESP32 sysboot pin connected to Crazyflie (IO_1)
- Reset to GAP8 and ESP32 connected to Crazyflie (IO_4)
- SPI between GAP8 and ESP32
- GAP8 (B1) -> ESP32 (GPIO_5) io
- ESP32 (GPIO_25) -> GAP8 (A13) io
Usage
The AI deck adds WiFi connectivity to the Crazyflie, which can be used for communication with the Crazyflie and the AI deck . For the camera and the GAP8 no out-of-the-box functionality is added, instead these resources are left for users to fully use as they see fit.
The AI deck can be mounted on top or on the bottom of the Crazyflie 2.x.
The AI deck ESP32 antenna is a bit fragile and can be damaged during crashes. For better resilience, mount the AI-deck at the bottom, or put a peace of hot-glue as shown in the picture below.
To get up and running with the deck see our getting started guide after which you will be able to either try out the pre-made examples or start making your own AI powered applications.
Development
The main purpose of the AI deck is to be used to try out our examples and to develop your own AI powered applications. To be able to get going you will need to complete the Getting started with the AI deck tutorial, then you can jump over to our examples or get started right away developing something of your own.
Although it’s possible to flash the GAP8 over-the-air, it’s mandatory to first flash the bootloader onto the GAP8 using a JTAG adapter, see GAP8 bootloader in getting stated guide and flashing documentation.
Using the Crazyflie Packet eXchange protocol (CPX) you will be able to communicate between your host computer, the ESP32, the GAP8 and the STM32 on the Crazyflie. This will enable you to easily send data from the GAP8 to your host computer via WiFi or to the STM32 on the Crazyflie, and back again. This is also used for console printing from the ESP32 and GAP8 which will be sent to the Crazyflie and displayed in the Crazyflie client.
Workshop
Make sure to check out the workshop PULP platform about the AI deck ! Note that some of the instructions have been updated, refer to the getting started guide for the latest procedures.
If you have any further questions please contact support@bitcraze.io