Product Idea: USB Flash Drives
#81
FYI for anybody following, @dsimic and I spoke in IRC. We will post back here/in the wiki depending on the results of our discussions.

Please also feel free to join us there: https://kiwiirc.com/nextclient/coffeespa...#pineflash
  Reply
#82
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.
  Reply
#83
The Teensy 4.1 board does look like a good development platform. The only real thing to add is a QSPI flash chip or 2 for data storage. If the code size exceeds the 8MB built in program flash, it does appear you can use another, separate SPI.

Of course, during development the Micro SD card comes in quite handy.
--
Arwen Evenstar
Princess of Rivendale
  Reply
#84
Support for FIDO2 authentication would be cool to add, similar to this: https://github.com/solokeys/solo
  Reply
#85
Thanks for typing that up @dsimic - and to others I recommend popping into IRC to chat Smile It's a little bit quicker to throw some ideas forwards and backwards, then write them up here.

I think the Cortex-M7 is maybe even slightly too powerful - but that offers exciting future possibilities too. I also believe the Cortex-M7 will be continued to be produced for quite some time as yet, so we should be safe from EOL.

(05-16-2021, 11:32 AM)Arwen Wrote: The Teensy 4.1 board does look like a good development platform. The only real thing to add is a QSPI flash chip or 2 for data storage. If the code size exceeds the 8MB built in program flash, it does appear you can use another, separate SPI.

Of course, during development the Micro SD card comes in quite handy.

I think we would be initially looking to just use the micro-SD for storage as we prove out the USB firmware, then look to expand the storage. Probably as a Teensy hat or something - then we can look to build a proper board.

(05-16-2021, 05:25 PM)poVoq Wrote: Support for FIDO2 authentication would be cool to add, similar to this: https://github.com/solokeys/solo

For sure in future versions we would be very much interested in such things. Creating an open source flash platform also allows for other people to experiment with such things Smile
  Reply
#86
@dsimic I put in an order for a Teensy 4.1 - I looked online and my options are rapidly evaporating given the chip shortages. I'm not even really sure if this one will arrive or not. Seems like Europe still has a reasonably good supply due to stock piling, but would cost me a lot to get here. Worst case we don't use it and I will think of another task for it.

I think it is a good option though - we should be able to get the basics up and running relatively fast and at a good speed too. If there isn't enough speed using this chip then we are definitely doing something wrong, especially for USB 2.0.
  Reply
#87
I haven't placed an order yet, but will do.  If the one you've ordered eventually doesn't arrive, I can buy one for you from a reseller in Germany, for example, and send it over.  As we've already seen, international shipping rates are rather low in my country. Smile

Teensy 4.1 is a great option for the first development board.  The Cortex-M7 CPU core should be fast enough to saturate the high-speed USB 2.0 interface even without resorting to some DMA "trickery", which opens up a whole bunch of possibilities.
  Reply
#88
(05-17-2021, 11:59 PM)dsimic Wrote: I haven't placed an order yet, but will do.  If the one you've ordered eventually doesn't arrive, I can buy one for you from a reseller in Germany, for example, and send it over.  As we've already seen, international shipping rates are rather low in my country. Smile

We'll see, I suspect it will take some time anyway. That's a kind off hopefully we don't have to explore!

(05-17-2021, 11:59 PM)dsimic Wrote: Teensy 4.1 is a great option for the first development board.  The Cortex-M7 CPU core should be fast enough to saturate the high-speed USB 2.0 interface even without resorting to some DMA "trickery", which opens up a whole bunch of possibilities.

I think it's a great starting point. It should have plenty of speed for our purposes and enough left over for some cool applications.

It would be great to go RISC-V, but it's just going to be a pain. It doesn't appear to quite be there for what we want just yet.

Made some changes to the wiki to indicate that we are now looking to use the Teensy 4.1 board.
  Reply
#89
@dsimic This chip is worth checking out: https://www.raspberrypi.org/blog/raspber...0-on-sale/

Apparently has XIP and USB physical support, 6 DMA. $1 a chip!
  Reply
#90
Sadly, I don't think that the RL2040 would be a good choice for a USB storage device...  Here's a quotation from page 11 of the RP2040 datasheet:

Quote:A USB controller with embedded PHY can be used to provide FS/LS Host or Device connectivity under software control.

Full-speed (FS) USB 1.1, which runs at 12 Mbit/s, would be just too slow for a USB storage device. Undecided
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Possible new Pine64 product - Pine Blue Ray DVD Linux tv box Omnios 5 1,394 07-24-2023, 03:21 PM
Last Post: Omnios
  QuartzPro64 SPI flash Melab 1 869 03-16-2023, 07:50 PM
Last Post: Melab
  Modular product design Zotax 0 830 01-28-2023, 11:50 AM
Last Post: Zotax
  Product Idea: PineTracker EternityForest 0 760 01-12-2023, 10:33 PM
Last Post: EternityForest
  New product idea: Pine Glasses Blathers 2 2,716 12-02-2022, 09:51 PM
Last Post: erikzoltan
Lightbulb Product Idea: Pine Graphics Tablet israel 10 8,105 04-19-2022, 04:12 AM
Last Post: Houstand345
  Article: Auto Flash and Test NuttX on RISC-V BL602 (PineCone) lupyuen 0 1,256 01-24-2022, 05:41 PM
Last Post: lupyuen
  Rackmount cluster case as a Pine Store product? dfr 3 3,293 09-30-2021, 04:52 PM
Last Post: poVoq
  E-Note Device (E-Ink, E-Paper, Project Idea) Sirius 9 8,970 08-18-2021, 08:28 AM
Last Post: biketool
  PineVR as a new product? poVoq 11 11,271 05-31-2021, 09:33 AM
Last Post: MirceaKitsune

Forum Jump:


Users browsing this thread: 1 Guest(s)