How can i implement USB interface for an embedded flight controller to enable serial prints, parameter changes AND reading data from an SD card?

This page summarizes the projects mentioned and recommended in the original post on /r/embedded

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • atmel-software-package-samv7

    Discontinued Legacy software package for samv7, same70 and sams70 product families.

  • I highly recommend the book "USB Design by Example", and reading the source to existing drivers. As for the SD card, it's a bit of a mixed bag. The SD card native mode protocol is technically only available under NDA, but it's been leaked and reverse engineered ad nauseum. If you want to take a look at existing solutions, I'd go through the legacy software package for SAM*7 processors, or the source for FreeRTOS. Leveraging either of these will get you there much quicker than trying to write everything from scratch, which is a MUCH bigger task than I think you realize.

  • usb-vk-firmware

    Firmware for the USB Volume Knob

  • I have been through the development of a USB HID device recently using Libopencm3 (and I am not quite done!) It's on my GitHub if you are interested.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • libopencm3

    Open source ARM Cortex-M microcontroller library

  • TinyUSB or Libopencm3 are probably your best options (although check they support the SAME70).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts