Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

usbnfc - USB NAND flash controller

This project strives to build an open-source design for a USB NAND flash controller adapter board.

Components

All components are open-source. The project includes:

  • An open source hardware design, based on schematics and PCB files for the actual board manufacturing process.
  • An open source firmware, for each microcontroller on the board.
  • An open source Linux kernel module to integrate this as a product in a Linux kernel-based OS.

Brief design overview

Everything is tightly coupled in this project; here's how -

  • A custom printed circuit board contains two MCUs - one as the USB (master) controller and a (slave) controller connected to a NAND flash chip.
  • A custom-made firmware for both microcontrollers (STM32-based ones) is programmed on each chip to serve its purpose.
  • A custom-made Linux kernel module registers a new USB driver & attach a "matching" board.

USB Product ID registration

Once this project is in its final stage and there's no longer a need to change USB descriptors or endpoints, a request will be sent to pid.codes repository to allocate a USB product ID.

Licensing

  • The entire hw directory is licensed CERN-OHL-W-2.0 - including metadata, schematics, PCB files, etc.
  • Any other software components, except the Linux kernel module, is and will licensed under the MIT license.
  • The Linux kernel module (will be) licensed under the known GPLv2-only license to keep it compatible with the rest of the Linux development ecosystem.

About

USB NAND flash controller adapter board

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors