Dump contents from a Flash circuit

Hi everyone! First post but I am been here for a while, reading and experimenting.

I am a good programmer and almost a little better then a newb when it comes to hardwares and programing such. Alright enough about me and lets get to the case.

I opened up my old broken printer, because I read an forensic article about evidence (files etc) stored in a memory which was inside the printer.
I localized what I think is the memory

Winbond
25Q128bvfg
1031

And I found, not exactly my device, a datasheet which is here http://www.nexflash.com/NR/rdonlyres/1C7E7EF8-ACBF-47EC-BE16-D668A7933A21/0/W25Q128BV.pdf
Attached a picture to this post, a put a USB device in it just so that you could compare the size of the USB and the circuit.

I want to get inside of this flash memory and somehow dump it's content to my computer. I have an Arduino Uno btw.
Could you guys be so kind and point me in the right direction and hopefully I will learn a lot of different things while experimenting with this little project.

Regards and sorry my bad English :slight_smile:

Sounds pretty straightforward - you appear to have the correct datasheet, it supports "standard" SPI for which you can use the Arduino libraries, you only need three data connections.

Notes: Tie the ~WP line high to ensure you do not accidentally alter any of the data whilst experimenting.

It is a 3.3V device, so you need to arrange for it to be supplied with that voltage from the Uno and you need to level convert the SPI signals unless the Uno is running at 3.3V already.

I think it is probably going to be up to you to negotiate all the registers in the device and code to read out the data. Because the USB interface on the Uno is implemented through a serial UART, data extraction will not be deadly quick either.

Thank you so much Paul__B for the answer!

I have worked a little with SPI before. Experimented with write/read (Arduino <> SD card).

So I wired the cables today, forgot the CS but that's not a problem. Will fix it later. But anyway, I attached a picture with my wiring. Is it correct?

VCC > VCC 2
CS > CS 7
MOSI > DO 8

CLK > CLK 16
MISO > DI 15
GND > GND 10
WP > WP 9

Btw, thank you so much for the WP suggestion. Had no thoughts at all about the write protection option.
Best regards and thank you for the help!

Sounds good, but I really did not examine the datasheet in that much detail.

Frankly, I am going to leave it to you!

knegare:
MOSI > DO 8
MISO > DI 15

You got these two wrong... The In/Out directions are relative to the respective chips.

MOSI (Master Out / Slave In) should go to DI (Data In) while MISO (Master In / Slave Out) should go to DO (Data Out).
In this setup the Master would be the MCU and the flash chip is the Slave.

/Henning