The schematics, PCB layouts, and other material is available from gitorious:
This is intended to be a USB-based device which can program, erase, and read/dump NAND flash chips.
- The design is based on the ST STM32 microcontroller (ARM Cortex-M3), which does USB and also the NAND protocol via its FSMC component.
- Alternatively, instead of using the FSMC it's also possible to use bitbanging to talk to the NAND flash chip.
- Specifically, it's planned to use the STM32F103VC (or STM32F103VD or STM32F103VE, which are the same except for more flash/SRAM).
- The board comes with a TSOP-48 socket where the NAND flash chip to be read/written/erased can be inserted.
- The firmware is written using libopencm3 (GPL, version 3 or later).
- The user-space host (PC) tool to control the device is written using libusb-1.0 (LGPL, version 2.1 or later), and is licensed under the GPL, version 2 or later.
- The board uses 2 layers, and all parts are SMD. Resistors and capacitors are 0603.
- The hardware is designed using the open-source Kicad EDA suite (GPL, version 2), and is released under the CC-BY-SA 3.0 license.
- Only chips in TSOP-48 package are supported, as the board has a TSOP-48 socket where you can insert your NAND flash chip.
- This means other packages are not directly supported, and that you have to desolder the NAND flash chip before using it with openbiosprog-nand.
- Only 3.3V NAND flash chips are supported (usually VCC min/max is 2.7V — 3.6V).
- 3.0V NAND flash chips should also work (usually VCC min/max is specified as 2.7V — 3.6V as well for these chips).
- 1.8V NAND chips are NOT supported in the 0.1 hardware revision (usually VCC min/max is 1.7V — 1.9V)!
- Support for chips requiring other VCC voltages might be added in later hardware revisions.
- A voltage regulator translates the 5V from USB to 3.3V, e.g. the TLV1117.
- A JTAG connector for flashing the SMT32 is planned (but also DFU support probably).
- Maybe serial will be available via pads (or even a connector), though this is optional.
- There will be a socket for the NAND flash chip so it can be easily placed into the device without the need for soldering.
- Most of this setup is based on Application note AN2586: STM32F10xxx hardware development: getting started.
- BOOT0 is tied to GND (so that we boot from flash). BOOT1 is not needed in this case, it can be used as GPIO.
- STM32F103xC, STM32F103xD, STM32F103xE: High-density performance line ARM-based 32-bit MCU with 256 to 512KB Flash, USB, CAN, 11 timers, 3 ADCs, 13 communication interfaces (PDF)
- RM0008: Reference Manual: STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced ARM-based 32-bit MCUs (PDF)
- Application note AN2586: STM32F10xxx hardware development: getting started (PDF)
- AN2784: Application note: Using the high-density STM32F10xxx FSMC peripheral to drive external memories (PDF)
- Documents and files for family STM32 (ARM Cortex M3) - 32-bit Microcontrollers
- Cortex-M3 Technical Reference Manual, r2p1 (PDF)
- Cortex-M3 Technical Reference Manual r2p0, 2010 (PDF)
- Cortex-M3 Technical Reference Manual r2p0, 2008 (PDF)
- ARM Cortex M3 - Reference Manual r1p1 (PDF)
- Errata: Cortex-M3/Cortex-M3 with ETM (AT420/AT425) (PDF)
Bill of materials
|1||NAND flash socket||TSOP48||—||IC?||11.20€||...||...|
|1||3.3V LDO||SOT-223||3.3V||U?||0.528€||1.25€ (223-1705)||TLV1117-33 info. TLV1117-33 datasheet. LM1117IMP-3.3 datasheet.|
|1|| Mini-USB B
|custom||—||U?||1.59€,||0.44€ (15761)||Female Mini-USB connector, Type B, 10mm x 3,95mm x 9,2mm. Mouser: Molex part no. 0548190572, Drawing. The CSD one has a slightly different footprint, but made the Kicad footprint generic enough to work for both.|
|1||Crystal||HC49/US||12MHz||X1||0.338€||0.15€ (14-4S12,000MHZ)||SMD part, +/- 30 ppm, 4.8mm x 11.5mm x 4.2mm (W x L x H). Sometimes the footprint/package is called HC49/US, HC49/U, HC49S, or HC49-S4. If in doubt, check the datasheet and make sure the land pattern / footprint matches. Mouser's ABLS-12.000MHZ-B4-T has 18pF load capacitance, CSD part no. 14-4S12,000MHZ has 30pF. Ideally you should use the matching capacitors, but the 27pF ones should be fine in most cases.|
|1||LED||0603||—||D?||Power LED. Choose any color you like. Play with the value of R? to make the LED more/less brighter.|
|2||Ceramic capacitor||0603||27pF||C?, C?||0.07€ (115-06N027)||—|
Note 1: All prices are for 1 piece. If you buy more, it gets a lot cheaper usually.
Note 2: Prices from Mouser do not include German VAT ("Umsatzsteuer"). Mouser offers free shipping for orders above 75€, otherwise it's 20€ shipping. Mouser handles customs fees for you, which means less hassle.
Note 3: CSD prices do include German VAT already. Shipping is 3.59€ usually, you get free shipping on orders above 100€. No customs fees involved if you're in Germany, of course.