<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.kamamilabs.com/index.php?action=history&amp;feed=atom&amp;title=KAmod_SPI_Flash</id>
	<title>KAmod SPI Flash - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kamamilabs.com/index.php?action=history&amp;feed=atom&amp;title=KAmod_SPI_Flash"/>
	<link rel="alternate" type="text/html" href="https://wiki.kamamilabs.com/index.php?title=KAmod_SPI_Flash&amp;action=history"/>
	<updated>2026-04-28T16:05:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.kamamilabs.com/index.php?title=KAmod_SPI_Flash&amp;diff=6688&amp;oldid=prev</id>
		<title>Grzegorzbecker: Created page with &quot;__jzpdf__ ===== Description ===== &lt;b&gt;KAmod SPI Flash - Non-Volatile Flash Memory Module with SPI Interface&lt;/b&gt;&lt;br&gt; &lt;br&gt; The KAmod SPI Flash module contains Flash memory with an SPI interface. All control signals are routed as through-hole pads, arranged with a standard 2.54 mm pitch, close to the board edge and in a DIL8 through-hole package. The module is available with 1 MB (8 MB) or 16 MB (128 MB) memory capacities. &lt;center&gt; File:KAmod_SPI_Flash_1.jpg|none|900px|thu...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.kamamilabs.com/index.php?title=KAmod_SPI_Flash&amp;diff=6688&amp;oldid=prev"/>
		<updated>2025-10-17T11:34:45Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__jzpdf__ ===== Description ===== &amp;lt;b&amp;gt;KAmod SPI Flash - Non-Volatile Flash Memory Module with SPI Interface&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; The KAmod SPI Flash module contains Flash memory with an SPI interface. All control signals are routed as through-hole pads, arranged with a standard 2.54 mm pitch, close to the board edge and in a DIL8 through-hole package. The module is available with 1 MB (8 MB) or 16 MB (128 MB) memory capacities. &amp;lt;center&amp;gt; File:KAmod_SPI_Flash_1.jpg|none|900px|thu...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__jzpdf__&lt;br /&gt;
===== Description =====&lt;br /&gt;
&amp;lt;b&amp;gt;KAmod SPI Flash - Non-Volatile Flash Memory Module with SPI Interface&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
The KAmod SPI Flash module contains Flash memory with an SPI interface. All control signals are routed as through-hole pads, arranged with a standard 2.54 mm pitch, close to the board edge and in a DIL8 through-hole package. The module is available with 1 MB (8 MB) or 16 MB (128 MB) memory capacities.&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_SPI_Flash_1.jpg|none|900px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
===== Basic Features and Parameters =====&lt;br /&gt;
* Non-volatile Flash memory with a capacity of 1 MB (W25Q80) or 16 MB (W25Q128)&lt;br /&gt;
* SPI interface clocked at up to 50 MHz (operation at higher frequencies is possible, but depends on the quality/length of the SPI signal connections)&lt;br /&gt;
* Memory contents can be protected from erasure by installing the &amp;quot;Write protect&amp;quot; jumper&lt;br /&gt;
* Control signals are connected as solder pads with holes, arranged with a standard 2.54 mm pitch, right at the edge of the board&lt;br /&gt;
* Control signals are also connected as solder pads with holes, arranged with a standard 2.54 mm pitch, corresponding to a DIL8 through-hole package&lt;br /&gt;
* Power supply voltage: 2.7...3.6 V&lt;br /&gt;
* Board dimensions: 27 x 18.3 mm&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Standard Equipment =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 800px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|Code&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;KAmod SPI Flash&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
* Assembled and powered-up module&lt;br /&gt;
* 1 x straight 8-pin goldpin header, 2.54 mm pitch&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_SPI_Flash_2.jpg|none|900px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
===== Schemat elektryczny =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_SPI_Flash_sch.png|none|700px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Control Signals =====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 1000px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Marking (J1)&amp;lt;/b&amp;gt;&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;CS&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*CS (Chip Select) signal input (activates the SPI interface)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;SCK&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*Clock/Timer signal input&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;DI&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*Serial Data Input (Data In)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;DO&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*Serial Data Output (Data Out)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;GND&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*Power Supply – Negative Pole (Ground/GND)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;V+&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*Power Supply – Positive Pole, Voltage 2.7...3.6 V&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;WP&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*Write Protect Input (Write Protect) active low, connected to the Write Protect jumper&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;HOLD&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*Communication hold signal input&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Communication with the W25Q80/W25Q128 memories used in the KAmod SPI Flash is possible via the SPI interface. Some signals perform dual functions in Dual/Quad SPI communication modes. A detailed description of all signals, communication methods, procedures, and commands is included in the technical documentation for the devices.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The SPI interface of W25Qxxx memory devices can operate at very high clock speeds (signal at the SCK input) – even over 100 MHz. However, for a wired module, communication at clock speeds higher than 50 MHz is not recommended. If communication problems occur, reduce the SPI clock frequency.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The layout of the control signals is shown in the figures below. The signal markings are located on the bottom of the board, both for the edge connector and for the DIL8 package.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_SPI_Flash_r1.png|500px|]]&lt;br /&gt;
[[File:KAmod_SPI_Flash_r2.png|500px|]]&lt;br /&gt;
[[File:KAmod_SPI_Flash_r3.png|430px|]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
===== Memory Capacity Designation =====&lt;br /&gt;
The KAmod SPI Flash module is available with 1 MB (8 MB) or 16 MB (128 MB) memory capacities. Depending on the version, the board uses either the W25Q80 (1 MB) or W25Q128 (16 MB) chips.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The memory version is marked on the bottom of the board, as shown below. &amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_SPI_Flash_1MB.png|500px|]]&lt;br /&gt;
[[File:KAmod_SPI_Flash_1MB.jpg|600px|]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_SPI_Flash_16MB.png|500px|]]&lt;br /&gt;
[[File:KAmod_SPI_Flash_16MB.jpg|600px|]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Write protection &amp;quot;Write protect&amp;quot; =====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 1000px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Marking (J1)&amp;lt;/b&amp;gt;&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;WP (J1)&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*Sending a low state activates the write protection function.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Write protect&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*Installing the jumper/goldpins activates the write protection function.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The Write Protect function protects the memory from being erased or its contents changed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
To activate the protection function, apply a low state (logical 0) to the WP pin. Another method is to solder a drop of solder in place of the SMD jumper or solder the goldpins with the jumper mounted, as shown in the figure. Installing a jumper also forces a low state on the WP pin.&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_SPI_Flash_WP.png|none|600px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Power =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 1000px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Designation&amp;lt;/b&amp;gt;&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot;|&amp;lt;b&amp;gt;Function&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*&amp;lt;b&amp;gt;V+ (J1)&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;GND (J1)&amp;lt;/b&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: left;&amp;quot;|&lt;br /&gt;
*control circuit power input, positive pole&amp;lt;br&amp;gt;&lt;br /&gt;
*control circuit power input, negative pole (GND)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The KAmod SPI Flash module can be powered by a DC voltage of 2.7...3.6V, connected to the V+ and GND pins on the J1 connector.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 500px;background-color:#ffffcc;border-left:solid 2px red;border-right:solid 2px red;border-top:solid 2px red;border-bottom:solid 2px red;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt; &amp;lt;b&amp;gt;Do not connect 5V power supply!&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_SPI_Flash_PWR.png|none|500px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Dimensions =====&lt;br /&gt;
The KAmod SPI Flash board dimensions are 27x18.3 mm. There are two mounting holes on the board, each with a diameter of 3.2 mm.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:KAmod_SPI_Flash_wym.png|none|650px|thumb|center]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Test Program =====&lt;br /&gt;
The test program was written in the Arduino environment for the KAmodESP32 POW RS485 board.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;arduino&amp;quot; line&amp;gt;&lt;br /&gt;
//example code for KAmod SPI Flash 1MB (W25Q80)&lt;br /&gt;
//ino board: ESP32-WROOM-DA Module&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;quot;Kamod_SPIFlashBase.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//LED&lt;br /&gt;
#define LED_PIN       2 &lt;br /&gt;
#define MY_DELAY      2000&lt;br /&gt;
&lt;br /&gt;
//SPI&lt;br /&gt;
#define SPI_MOSI      13&lt;br /&gt;
#define SPI_MISO      12&lt;br /&gt;
#define SPI_SCK       14&lt;br /&gt;
#define SPI_CS        15&lt;br /&gt;
#define SPI_CLOCK     10000000&lt;br /&gt;
&lt;br /&gt;
//INIT&lt;br /&gt;
SPIClass spiFlashBus(HSPI);&lt;br /&gt;
Kamod_SPIFlashBase spiFlashBase(&amp;amp;spiFlashBus, SPI_CS, SPI_SCK, SPI_MOSI, SPI_MISO);&lt;br /&gt;
Kamod_SPIFlash_Device_t MY_W25Q80DV;&lt;br /&gt;
uint8_t *data_buff;&lt;br /&gt;
&lt;br /&gt;
int ledi;&lt;br /&gt;
int loops;&lt;br /&gt;
bool retstat;&lt;br /&gt;
bool verify;&lt;br /&gt;
int result;&lt;br /&gt;
&lt;br /&gt;
//-------------------------------------------&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  while (!Serial) {}&lt;br /&gt;
  delay(1000); // wait for native usb&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println(&amp;quot;Hello. KAmod SPI Flash test start&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_PIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_PIN, HIGH);&lt;br /&gt;
  ledi = 0;&lt;br /&gt;
&lt;br /&gt;
  retstat = false;&lt;br /&gt;
  while(retstat == false){&lt;br /&gt;
    spiFlashBus.begin(SPI_SCK, SPI_MISO, SPI_MOSI, SPI_CS);&lt;br /&gt;
    spiFlashBase.setClockSpeed(SPI_CLOCK, SPI_CLOCK);&lt;br /&gt;
    retstat = spiFlashBase.begin(&amp;amp;MY_W25Q80DV);&lt;br /&gt;
    if (!retstat){&lt;br /&gt;
      Serial.println(&amp;quot;Init fail &amp;quot;);&lt;br /&gt;
      delay(1000);&lt;br /&gt;
    } else {&lt;br /&gt;
      Serial.print(&amp;quot;JEDEC: &amp;quot;);&lt;br /&gt;
      Serial.println(spiFlashBase.getJEDECID(), HEX);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;Flash init...OK&amp;quot;);&lt;br /&gt;
  Serial.println(&amp;quot;--- First, erase sector ---&amp;quot;);&lt;br /&gt;
  spiFlashBase.eraseSector(0);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  loops = 0;&lt;br /&gt;
  result = 0;&lt;br /&gt;
&lt;br /&gt;
  Serial.println();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//-------------------------------------------&lt;br /&gt;
void loop() {  &lt;br /&gt;
  Serial.print(&amp;quot;### START at page: &amp;quot;);&lt;br /&gt;
  Serial.print(loops);&lt;br /&gt;
  Serial.println(&amp;quot; ###&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;--- Clear buff ---&amp;quot;);&lt;br /&gt;
  data_buff = spiFlashBase.buff();&lt;br /&gt;
  for(int n = 0; n&amp;lt;KAMOD_SFLASH80_PAGE_SIZE; n++){&lt;br /&gt;
    *data_buff = 0;&lt;br /&gt;
    data_buff++;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;--- Read mem ---&amp;quot;);&lt;br /&gt;
  spiFlashBase.readPageBuff(loops * KAMOD_SFLASH80_PAGE_SIZE);&lt;br /&gt;
  data_buff = spiFlashBase.buff();&lt;br /&gt;
  for(int n = 0; n&amp;lt;20; n++){&lt;br /&gt;
    Serial.print(*data_buff);&lt;br /&gt;
    Serial.print(&amp;quot;,&amp;quot;);&lt;br /&gt;
    data_buff++;&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;--- Prepare new buff ---&amp;quot;);&lt;br /&gt;
  data_buff = spiFlashBase.buff();&lt;br /&gt;
  for(int n = 0; n&amp;lt;20; n++){&lt;br /&gt;
    *data_buff = (uint8_t)(n + (loops*10));&lt;br /&gt;
    Serial.print(*data_buff);&lt;br /&gt;
    Serial.print(&amp;quot;,&amp;quot;);&lt;br /&gt;
    data_buff++;&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;--- Write mem ---&amp;quot;);&lt;br /&gt;
  //spiFlashBase.eraseSector(0);&lt;br /&gt;
  spiFlashBase.writePageBuff(loops * KAMOD_SFLASH80_PAGE_SIZE);&lt;br /&gt;
  &lt;br /&gt;
  Serial.println(&amp;quot;--- Clear buff ---&amp;quot;);&lt;br /&gt;
  data_buff = spiFlashBase.buff();&lt;br /&gt;
  for(int n = 0; n&amp;lt;KAMOD_SFLASH80_PAGE_SIZE; n++){&lt;br /&gt;
    *data_buff = 0;&lt;br /&gt;
    data_buff++;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;--- Read mem for check content ---&amp;quot;);&lt;br /&gt;
  spiFlashBase.readPageBuff(loops * KAMOD_SFLASH80_PAGE_SIZE);&lt;br /&gt;
  data_buff = spiFlashBase.buff();&lt;br /&gt;
  for(int n = 0; n&amp;lt;20; n++){&lt;br /&gt;
    Serial.print(*data_buff);&lt;br /&gt;
    Serial.print(&amp;quot;,&amp;quot;);&lt;br /&gt;
    data_buff++;&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;### Verify &amp;quot;);&lt;br /&gt;
  verify = true;&lt;br /&gt;
  data_buff = spiFlashBase.buff();&lt;br /&gt;
  for(int n = 0; n&amp;lt;20; n++){&lt;br /&gt;
    if (*data_buff != (uint8_t)(n + (loops*10))) verify = false;&lt;br /&gt;
    data_buff++;&lt;br /&gt;
  }&lt;br /&gt;
  if (verify) {&lt;br /&gt;
    result++;&lt;br /&gt;
    Serial.println(&amp;quot;OK ###&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  else Serial.println(&amp;quot;FAIL !!! ###&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  ledi++;&lt;br /&gt;
  digitalWrite(LED_PIN, (ledi&amp;amp;1)); &lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.println();&lt;br /&gt;
&lt;br /&gt;
  delay(500);&lt;br /&gt;
  loops++;&lt;br /&gt;
  if (loops &amp;gt;= 3) {&lt;br /&gt;
    if (result == 3) Serial.println(&amp;quot;### Verify OK 3 times ###&amp;quot;);&lt;br /&gt;
    else Serial.println(&amp;quot;!!! Some things are wrong, some verifications fail !!!!&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;### THATS ALL ###&amp;quot;);&lt;br /&gt;
    while(1){};&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
*[https://wiki.kamamilabs.com/images/6/64/W25Q80DV.pdf Data sheet W25Q80]&lt;br /&gt;
*[https://wiki.kamamilabs.com/images/4/4a/W25q128jv.pdf Data sheet W25Q128]&lt;br /&gt;
*[https://github.com/KAMAMI-Labs/KAmod-SPI-Flash.git Sample programs]&lt;br /&gt;
*[https://wiki.kamamilabs.com/images/9/91/KAmod-SPI_Flash.zip CAD Model (STEP)]&lt;/div&gt;</summary>
		<author><name>Grzegorzbecker</name></author>
	</entry>
</feed>