# FTDI Chip

FTDI Chip develops innovative silicon solutions that enhance interaction with today’s technology. When a designer needs to add a USB port, rest assured that FTDI Chip has a full range of USB solutions to get the job done. Official reference can be found here.

Contents

- Configuration

- Drivers

- Platforms

- Frameworks

- Boards

## Configuration

You can configure debugging tool using debug_tool option in “platformio.ini” (Project Configuration File):

    [env:myenv]
    platform = ...
    board = ...
    debug_tool = ftdi

If you would like to use this tool for firmware uploading, please change upload protocol:

    [env:myenv]
    platform = ...
    board = ...
    debug_tool = ftdi
    upload_protocol = ftdi

More options:

- Debugging options

- Upload options

## Drivers

Windows

  - Step-by-step guide: Drivers, Zadig, Wiring

  - Video tutorial

Mac

  macOS contains default FTDIUSBSerialDriver driver which conflicts with debug tools which are based on this chip. FTDI Chip company recommends removing this default driver from a system. Everything should work after system rebooting. See detailed instruction in official application note (Page 16, Section 4: Uninstalling FTDI Drivers on OS X) AN134: FTDI Drivers Installation guide for MAC OS X

Linux

  Please install “udev” rules 99-platformio-udev.rules. If you already installed them before, please check that your rules are up-to-date or repeat steps.

## Platforms

Name | Description
--- | ---
Espressif 32 | Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
RISC-V GAP | GreenWaves GAP8 IoT application processor enables the cost-effective development, deployment and autonomous operation of intelligent sensing devices that capture, analyze, classify and act on the fusion of rich data sources such as images, sounds or vibrations.
Shakti | Shakti is an open-source initiative by the RISE group at IIT-Madras, which is not only building open source, production grade processors, but also associated components like interconnect fabrics, verification tools, storage controllers, peripheral IPs and SOC tools.
SiFive | SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

## Frameworks

Name | Description
--- | ---
Arduino | Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
ESP-IDF | Espressif IoT Development Framework. Official development framework for ESP32.
Freedom E SDK | Open Source Software for Developing on the SiFive Freedom E Platform

Mbed

The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.

PULP OS | PULP is a silicon-proven Parallel Ultra Low Power platform targeting high energy efficiencies. The platform is organized in clusters of RISC-V cores that share a tightly-coupled data memory.
Shakti SDK | A software development kit for developing applications on Shakti class of processors
Simba | Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
Zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

## Boards

Note

For more detailed `board` information please scroll tables below by horizontal.

Name | Platform | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | --- | ---
Artix-7 35T Arty FPGA Evaluation Kit | Shakti | On-board | E-CLASS | 50MHz | 0B | 128KB
Arty A7-100: Artix-7 FPGA Development Board | Shakti | On-board | C-CLASS | 50MHz | 0B | 128MB
Arty FPGA Dev Kit | SiFive | On-board | FE310 | 450MHz | 16MB | 256MB
Espressif ESP-WROVER-KIT | Espressif 32 | On-board | ESP32 | 240MHz | 4MB | 320KB
GAPuino GAP8 | RISC-V GAP | On-board | GAP8 | 250MHz | 64MB | 8MB
HiFive Unleashed | SiFive | On-board | FU540 | 1500MHz | 32MB | 8GB
HiFive1 | SiFive | On-board | FE310 | 320MHz | 16MB | 16KB