Help with reading NAND chips on a breadboard

For discussing the 65xx hardware itself or electronics projects.
WCMiller
Posts: 33
Joined: 28 Oct 2023
Location: Missouri

Help with reading NAND chips on a breadboard

Post by WCMiller »

I've finally started taking steps to move my designs beyond paper to actual breadboard implementations... and I'm running into issues immediately. I'm a complete breadboard noob, so I apologize if my issue turns out to be overly basic.

Right now, I'm trying to build a simple NAND flash chip reader. Specifically, I'm trying to read this chip, an ST39SF020A 256K chip. I've written data to the chip, and want to send the 8 data outputs through a bank of LEDs. Unfortunately, I'm getting no output from the data lines, and I'm not sure what's going wrong. Here are the troubleshooting steps I've taken:
  • I have checked that all the LEDs are wired up correctly, and when connected to the 5V rail they light up
  • I have no floating pins. All address pins are wired to the ground rail (so I would expect it to be fetching the data at address $00000), as are the #CE and #OE lines, while the #WE is wired to 5V. The NC pin is also wired to 5V.
  • I have triple checked the power and ground pins.
  • I have read the chips after writing to them, to ensure that the data is correctly set.
  • I have tried two different NAND chips, with no changes.
I've simplified things about as much as I can and tried to eliminate as many complicating variables as I can. Am I missing anything obvious?
User avatar
BigDumbDinosaur
Posts: 9426
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Help with reading NAND chips on a breadboard

Post by BigDumbDinosaur »

WCMiller wrote:
I've finally started taking steps to move my designs beyond paper to actual breadboard implementations...Am I missing anything obvious?

Yes.  :D  Where’s your schematic for us to view?
x86?  We ain't got no x86.  We don't NEED no stinking x86!
WCMiller
Posts: 33
Joined: 28 Oct 2023
Location: Missouri

Re: Help with reading NAND chips on a breadboard

Post by WCMiller »

Rough schematic. How's that?
Attachments
schematic.png
User avatar
Yuri
Posts: 371
Joined: 28 Feb 2023
Location: Texas

Re: Help with reading NAND chips on a breadboard

Post by Yuri »

WCMiller wrote:
Rough schematic. How's that?
* NC pins should be left unconnected.
* You have OE# and CE# connected to +5V which means they are disabled, they use low level logic according to the datasheet you linked.

Additionally some folks are color blind here, and it is easier for them to read your schematic if you post them in black & white.
User avatar
gilhad
Posts: 86
Joined: 26 Jan 2024
Location: Prague; Czech Republic; Europe; Earth
Contact:

Re: Help with reading NAND chips on a breadboard

Post by gilhad »

Also I would add resistor (1 kOhm, or anything from 330 Ohm higher) in serie of each LED to limit the maximal current and not burn the LED.
WCMiller
Posts: 33
Joined: 28 Oct 2023
Location: Missouri

Re: Help with reading NAND chips on a breadboard

Post by WCMiller »

Yuri wrote:
* NC pins should be left unconnected.
Disconnected it, no change
Yuri wrote:
* You have OE# and CE# connected to +5V which means they are disabled, they use low level logic according to the datasheet you linked.

Additionally some folks are color blind here, and it is easier for them to read your schematic if you post them in black & white.
Whoops (on both regards). #OE and #CE are connected to Ground, not +5V; that was just a "typo" in my schematic. Also forgot about the colorblind issue; I've included an updated schematic that I believe is now accurate.

As for the resistors for the LED, I believe the LED bar I've got has built in current limiting resistors, so that's not a problem.
Attachments
schematic2.jpg
barnacle
Posts: 1831
Joined: 19 Jan 2004
Location: Potsdam, DE
Contact:

Re: Help with reading NAND chips on a breadboard

Post by barnacle »

The obvious question: is there anything actually _in_ that rom? Or rather, does it have 0x00 at address 0x00000?

Neil
WCMiller
Posts: 33
Joined: 28 Oct 2023
Location: Missouri

Re: Help with reading NAND chips on a breadboard

Post by WCMiller »

barnacle wrote:
The obvious question: is there anything actually _in_ that rom? Or rather, does it have 0x00 at address 0x00000?

Neil
When I read it on my computer, it says that the value at 0x00000 is 0x19 (or 00011001), and that is what I wrote to it when I set it up initially.
barnacle
Posts: 1831
Joined: 19 Jan 2004
Location: Potsdam, DE
Contact:

Re: Help with reading NAND chips on a breadboard

Post by barnacle »

Well somebody had to ask :mrgreen:

In that case, and assuming that the wiring is actually as you have in the diagram, I would remove the LED block and measure the voltages at the pins _without_ any load. You may well find that the output there is exactly as expected, but that the chip is unable to drive into the low impedance of a LED. In which case, to drive the LEDs, you'll need buffers of some sort.

Neil

edit: you mention your LED pack has internal resistors, but are you sure? Do you have a datasheet for the part you can provide (a link to) here? Or a manufacturer and part number?
John West
Posts: 383
Joined: 03 Sep 2002

Re: Help with reading NAND chips on a breadboard

Post by John West »

Have you checked that pins 16 and 32 are actually connected to GND and 5V? Traditional breadboards have a trap - the rails along the top and bottom are actually broken in the middle. If you connect the left hand side to the power supply, and the right hand side to the chip, they won't be connected.
barnacle
Posts: 1831
Joined: 19 Jan 2004
Location: Potsdam, DE
Contact:

Re: Help with reading NAND chips on a breadboard

Post by barnacle »

Look at the datasheet for the part: here are the relevant specifications for the outputs:
Screenshot from 2025-07-07 10-55-59.png
The output level (a) may be as low as 2.4v,[1] and (b) that's assuming a 400uA load. There is nothing in the spec to indicate what the maximum supply current might be (apart from the overall supply current) but it's quite possible that your LEDs are pulling so much current (relative to 400uA) that they're dragging the output below the 2.1-2.2v required for the LED to light. Even worse if some of the voltage is being dropped across the internal resistors you mention; that leaves even less for the LEDs.

So to repeat my earlier suggestion: measure the voltage at the output pins, both without and with the LEDs attached.

Neil

[1] Why? Because that's high enough for a TTL-equivalent[2] logic high level. There's probably a totem-pole output transistor pair with either the high rail or the low rail connected to the output at the junction of the two transistors; they will dissipate heat (and lose voltage across) their internal resistance.
[2] Which implies it's marginal at best for a CMOS design at 5v, except for HCT parts. I've never used the part so I don't know how it copes... anybody?
User avatar
BigDumbDinosaur
Posts: 9426
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Help with reading NAND chips on a breadboard

Post by BigDumbDinosaur »

barnacle wrote:
You may well find that the output there is exactly as expected, but that the chip is unable to drive into the low impedance of a LED. In which case, to drive the LEDs, you'll need buffers of some sort.
Quote:
Look at the datasheet for the part: here are the relevant specifications for the outputs...

Yep!  That ROM is incapable of driving all those LEDs.  As is typical for ROMs, its outputs are TTL levels, and the 400 µA sourcing capacity is too low.  Something such as a 74ACT541 is needed to produce the necessary voltage and current.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
BigDumbDinosaur
Posts: 9426
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Help with reading NAND chips on a breadboard

Post by BigDumbDinosaur »

WCMiller wrote:
As for the resistors for the LED, I believe the LED bar I've got has built in current limiting resistors, so that's not a problem.

You shouldn’t make such an assumption.  Read the data sheet to verify that there are such resistors, as well as to find out what their ohmic values are.  Lacking dropping resistors, your LEDs will be grossly overdriven and will lead very bright, short lives.

In any case, as Neil explained, the ROM’s output capabilities are limited to TTL levels and a small amount of current.  A ROM is not intended to drive a significant load.  What you should do is insert a 74ACT541 in between the ROM and the LED array...AFTER you have determined that the LED array has dropping resistors.  The ACT541 will produce up to 24 mA of drive per output—more than sufficient to drive an LED, and will be compatible with the ROM’s TTL-level outputs.

74act541_buffer_driver_8bit.pdf
74ACT541 Buffer/Driver
(1004.9 KiB) Downloaded 80 times
x86?  We ain't got no x86.  We don't NEED no stinking x86!
barnacle
Posts: 1831
Joined: 19 Jan 2004
Location: Potsdam, DE
Contact:

Re: Help with reading NAND chips on a breadboard

Post by barnacle »

But note even so that the 541 can only supply a _total_ of 100mA, so best keep your current under 10mA per leg - 1mA is enough for most current LEDs.

Neil
GlennSmith
Posts: 162
Joined: 26 Dec 2002
Location: Occitanie, France

Re: Help with reading NAND chips on a breadboard

Post by GlennSmith »

barnacle wrote:
But note even so that the 541 can only supply a _total_ of 100mA, so best keep your current under 10mA per leg - 1mA is enough for most current LEDs.
Also remember that, like their TTL predecessors, most of the 74xx family can sink more current than they can source. Wire the LED so that the cathode is connected to the chip's output and invert the logic (ie. 0 = 'on'). Still needs a series resistor, however.
Glenn-in-France
Post Reply