05-16-2021, 05:29 AM
Here's a brief summary of our IRC session...
As suggested by @barray, everything points at Teensy 4.1 being a really good choice for our first development board. It's relatively inexpensive, widely available (that is, not counting in the unfortunate effects of the pandemic), and provides a decent set of features. There are also other, less expensive Teensy models, but the features provided by Teensy 4.1 would fit the needs of a USB storage device very well.
Based on the IMXRT1062DVJ6A MCU, Teensy 4.1 provides a 600 MHz Cortex-M7 core, 1 MB or RAM (which can even be expanded) and about 8 MB of flash memory, a USB 2.0 high-speed (480 Mbit/s) interface capable of running as both host and device, support for SPI/QSPI flash, a microSD 4-bit card interface and slot, and even an Ethernet interface. Various datasheets are also available. Teensy 4.1 also has rather good, already existing software support.
Even better, TinyUSB officially supports the NXP iMX RT1062 series of MCUs, to which the IMXRT1062DVJ6A MCU found on Teensy 4.1 belongs to. As "an open-source cross-platform USB Host/Device stack for embedded systems", TinyUSB provides all that's needed to implement a USB Mass Storage device, even with multiple LUNs.
To sum it up, Teensy 4.1 would be a great choice for making a proof-of-concept open USB storage device. Based on the way it all works out, the implementation of the USB storage device firmware could be ported to other boards, at least in theory, to make the proof of concept more widely available. For example, the firmware implementation could be ported to some of the Pine64 boards (not running Linux in this case), which would also provide faster flash in form of an eMMC module.
Of course, comments and suggestions are more than welcome.
As suggested by @barray, everything points at Teensy 4.1 being a really good choice for our first development board. It's relatively inexpensive, widely available (that is, not counting in the unfortunate effects of the pandemic), and provides a decent set of features. There are also other, less expensive Teensy models, but the features provided by Teensy 4.1 would fit the needs of a USB storage device very well.
Based on the IMXRT1062DVJ6A MCU, Teensy 4.1 provides a 600 MHz Cortex-M7 core, 1 MB or RAM (which can even be expanded) and about 8 MB of flash memory, a USB 2.0 high-speed (480 Mbit/s) interface capable of running as both host and device, support for SPI/QSPI flash, a microSD 4-bit card interface and slot, and even an Ethernet interface. Various datasheets are also available. Teensy 4.1 also has rather good, already existing software support.
Even better, TinyUSB officially supports the NXP iMX RT1062 series of MCUs, to which the IMXRT1062DVJ6A MCU found on Teensy 4.1 belongs to. As "an open-source cross-platform USB Host/Device stack for embedded systems", TinyUSB provides all that's needed to implement a USB Mass Storage device, even with multiple LUNs.
To sum it up, Teensy 4.1 would be a great choice for making a proof-of-concept open USB storage device. Based on the way it all works out, the implementation of the USB storage device firmware could be ported to other boards, at least in theory, to make the proof of concept more widely available. For example, the firmware implementation could be ported to some of the Pine64 boards (not running Linux in this case), which would also provide faster flash in form of an eMMC module.
Of course, comments and suggestions are more than welcome.