# Can't receive data more than 64byte

**URL:** <https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949>\
**Category:** General Guidance\
**Created:** [September 5, 2014, 1:14am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949 "2014-09-05T01:14:58Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [September 5, 2014, 1:14am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/1 "2014-09-05T01:14:58Z")

</div>

Dear Sir

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [September 5, 2014, 1:26am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/2 "2014-09-05T01:26:31Z")

</div>

Sir,

I've just found some problem when i use Arduino uno r3 for getting data from another micro

it cant receive all data (just 64byte i got) ,actually another micro is going to send data 512byte

when it receive some ascii from Arduino

a....please help me to sovle this problem  
b....how can i receive data morethan 64bytes by arduino

thank you

---

<div class="post-metadata">

**Author:** ![graynomad](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/graynomad/32/213871_2.png) [@graynomad](https://forum.arduino.cc/u/graynomad)\
**Post date:** [September 5, 2014, 1:53am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/3 "2014-09-05T01:53:02Z")

</div>

**Post your code.**

But it sounds like you are filling the receive buffer (which quite by chance is 64 bytes in size) and not clearing the data in time so the remaining bytes are discarded.

* * *

Rob

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [September 5, 2014, 2:13am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/4 "2014-09-05T02:13:29Z")

</div>

can you help me how to do to receive data morethan 64bytes

---

<div class="post-metadata">

**Author:** ![BulldogLowell](https://avatars.discourse-cdn.com/v4/letter/b/22d042/32.png) [@BulldogLowell](https://forum.arduino.cc/u/BulldogLowell)\
**Post date:** [September 5, 2014, 3:07am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/5 "2014-09-05T03:07:58Z")

</div>

> Sittipong:  
> can you help me how to do to receive data morethan 64bytes

yes.

post what code you have.

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [September 5, 2014, 3:32am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/6 "2014-09-05T03:32:36Z")

</div>

> Sittipong:  
> Dear Sir

You there in the front row. You have a question?

---

<div class="post-metadata">

**Author:** ![econjack](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/econjack/32/1105255_2.png) [@econjack](https://forum.arduino.cc/u/econjack)\
**Post date:** [September 5, 2014, 4:09am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/7 "2014-09-05T04:09:58Z")

</div>

I'm guessing:

Look at the HardwareSerial.h header file found in your IDE directory:

hardware\arduino\avr\cores\arduino

and you will see that the transmit and receive buffers are set to 64 bytes.

---

<div class="post-metadata">

**Author:** ![econjack](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/econjack/32/1105255_2.png) [@econjack](https://forum.arduino.cc/u/econjack)\
**Post date:** [September 5, 2014, 4:25am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/8 "2014-09-05T04:25:04Z")

</div>

Does this give you any ideas? While running the Serial monitor, type in 80 characters (or so) and click Send.

```cpp
void setup() {
  Serial.begin(115200);
}

void loop() {
  int bytesRead;
  char buff[101];
  
  if (Serial.available() > 0) {
    bytesRead = Serial.readBytesUntil('\n', buff, 100);
    buff[bytesRead] = '\0';
    Serial.print("bytesRead = ");
    Serial.println(bytesRead);
    Serial.print("buff = ");
    Serial.println(buff);
  }
}

```

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [September 5, 2014, 4:28am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/9 "2014-09-05T04:28:33Z")

</div>

i just send ascii N to another micro to active command

if another micro got ascii N it will send data 512bytes back to arduino

but..i've just receive only 64bytes

This is my code

```cpp
char asciiN(char N)
{
  unsigned char RevBuffer[512];
  unsigned int Lenght;
 
  delay(500);
  lcd.clear();
  lcd.setCursor(0,1);
  lcd.print (" send Ascii N.");
  delay(200);
  lcd.setCursor(0,1);
  lcd.print (" send Ascii N...");
  Serial.write(N); 
  delay(200);
  
  if(Serial.available()) 
  {
    //wait for serial buffer to fill itself    
    delay(1000);
    Lenght=Serial.available();
    Serial.readBytes(RevBuffer,Lenght);
    Serial.setTimeout(1000);
    delay(500);
     
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print ("Lenght.... ");
    lcd.print (Lenght);
    delay(1000);
     
    for(int i=0;i<Lenght;i++)
      {
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print ("Data :");
        lcd.setCursor(6,0);
        lcd.print (i);
        lcd.setCursor(0,1);
        lcd.print ("HEX :0x");
        lcd.print (RevBuffer[i],HEX);
        delay(1000);
      } 
  }
  else
  {
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print ("nothing Return..");
    delay(500);
  }
}

```

---

<div class="post-metadata">

**Author:** ![nickgammon](https://avatars.discourse-cdn.com/v4/letter/n/45deac/32.png) [@nickgammon](https://forum.arduino.cc/u/nickgammon)\
**Post date:** [September 5, 2014, 4:50am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/10 "2014-09-05T04:50:08Z")

</div>

```plaintext
if(Serial.available()) 
  {
    //wait for serial buffer to fill itself    
    delay(1000);
    Lenght=Serial.available();

```

The serial buffer is 64 bytes. Don't do it this way.

> **[Gammon Forum : Electronics : Microprocessors : How to process incoming serial...](http://www.gammon.com.au/serial)**
>
> Gammon Forum : Electronics : Microprocessors : How to process incoming serial data without blocking

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [September 5, 2014, 5:53am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/11 "2014-09-05T05:53:58Z")

</div>

> [@](#):
>
> The serial buffer is 64 bytes. Don't do it this way.
> 
> [Gammon Forum : Electronics : Microprocessors : How to process incoming serial data without blocking](http://www.gammon.com.au/serial)

can you give me any idea to get data more

---

<div class="post-metadata">

**Author:** ![BulldogLowell](https://avatars.discourse-cdn.com/v4/letter/b/22d042/32.png) [@BulldogLowell](https://forum.arduino.cc/u/BulldogLowell)\
**Post date:** [September 5, 2014, 6:14am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/12 "2014-09-05T06:14:02Z")

</div>

try reading the link that Nick posted...

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [September 5, 2014, 9:00am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/13 "2014-09-05T09:00:03Z")

</div>

Hi,

i have question for Arduino Uno programming

can we change serial buffer from 64bytes to 512bytes? or more

a.....if can, how to do

b......if cannot ,there is another way to get data more

PS. i heard that we have to change in HardwareSerial.h ......But how to change

Thank you for your answer 🙂

---

<div class="post-metadata">

**Author:** ![holmes4](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/holmes4/32/215302_2.png) [@holmes4](https://forum.arduino.cc/u/holmes4)\
**Post date:** [September 5, 2014, 10:16am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/14 "2014-09-05T10:16:20Z")

</div>

If you change the size of the serial buffer change it down not up 64 is far far to big. The simple way to deal with incoming data is to read it. Get rid of all those delay's your using.

Mark

---

<div class="post-metadata">

**Author:** ![nickgammon](https://avatars.discourse-cdn.com/v4/letter/n/45deac/32.png) [@nickgammon](https://forum.arduino.cc/u/nickgammon)\
**Post date:** [September 5, 2014, 10:21am UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/15 "2014-09-05T10:21:43Z")

</div>

Please **do not cross-post**. This wastes time and resources as people attempt to answer your question on multiple threads.

Threads merged.

I think this is the third thread you have started on this question. **Don't ignore the answers and start a new thread.** If you keep doing it your account will be deleted.

Did you not understand my previous reply?

[How to use this forum](http://arduino.cc/forum/index.php/topic,148850.0.html)

- Moderator

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 5, 2021, 5:15pm UTC](https://forum.arduino.cc/t/cant-receive-data-more-than-64byte/255949/16 "2021-05-05T17:15:53Z")

</div>

Closed on May 5, 2021, 5:15pm UTC


