How to flash 3.2mb firmware to Lilygo T5 4.7inch e-ink display

Hi, I recently purchased Lilygo T5 4.7inch e-ink display(epd 4.7) with ESP32.

Great developers made custom components, it is not difficult to use T5 e-ink display. Thank you.

Now I’m trying to use epd 4.7 as a calendar on my desk. Then I had to use Korean glyphs. Unlike the alphabet, Korean has many glyphs so I had to add more than 2000 character to glyphs.

then the size of firmware is larger than 3mb(exactly 3.2mb), firmware compile failed.

And I searched the internet, I found this thread. https://community.home-assistant.io/t/how-to-increase-partition-size-to-use-16mb-of-flash-instead-of-4mb/364299

follow the instruction, I could compile the firmware.

but when I flash it with esphome flasher to esp32, it reboots again and again. below is log.

rst:0x3 (SW_RESET), boot: 0x13 (SPI_FAST_FLASH_BOOT)
configsip:-, WPIWP:0xee
clk_drv:0x00, q_drv:0x00, d_drv:0x00, cs0_drv:0x00, hd_drv:0x00, wp_drv:0x00
mode: DIO, clock div:2
load:0x3fff0018, len:4
load:0x3fff001c, len:1044
load:0x40078000, len:8896
load:0x40080500, len:5828
entry 0x400806ac
ets Jul 29 2019 12:21:46

Does anyone know how to solve this problem? i’m sorry for my poor English.

I add yaml file below.

esphome:
  name: epaper-test2
  platformio_options:
    board_upload.flash_size: 16MB
    board_upload.maximum_ram_size: 327680
    board_upload.maximum_size: 16777216
    board_build.partitions: "/config/esphome/custom_partitions.csv"
  
esp32:
  board: m5stack-fire
  framework:
    type: arduino

# Enable logging
logger:

ota:

# Enable Home Assistant API
api:
  encryption:
    key: "x7eOYIRumhXOzlLb4k2TlFt48QfzeoOW351owvmStXs="

wifi:
  ssid: abcdefg
  password: "12345678"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Epaper-Test Fallback Hotspot"
    password: "rxmB7lKilIiN"

time:
  - platform: sntp
    id: ntp
    
font:
  - file: 'SpoqaHanSansNeo-Medium.ttf'
    id: din_big
    size: 100
    glyphs: 가각간갇갈갉감갑값갓갔강갖갗같갚개객갠갤갬갭갯갰갱갸갹걍걔걘걜거걱건걷걸검겁것겄겅겆겉겊게겐겔겜겝겟겠겡겨격겪견겯결겸겹곁계곗고곡곤곧골곪곯곰곱곳공곶과곽관괄괌광괘괜괭괴괵굉교구국군굳굴굵굶굼굽굿궁궂궈궉권궐궜궤귀귐귓규균귤그극근귿글긁금급긋긍기긱긴긷길김깁깃깅깊까깍깎깐깔깜깝깟깠깡깥깨깩깬깰깸깻깼깽꺄꺅꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸꼇꼈꼬꼭꼰꼴꼼꼽꼿꽁꽃꽐꽝꽤꽥꽹꾀꾄꾐꾸꾹꾼꿀꿇꿈꿉꿋꿍꿔꿨꿩뀌뀐뀔끄끅끈끊끌끔끕끙끝끼끽낀낄낌낍낑나낙낚난낟날낡남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년념녔녕녘노녹논놀놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇨뇬뇽누눅눈눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵늄늅늉느늑는늘늙늠늡늣능늦늪늬늴니닉닌닐님닙닛닝닢다닥닦단닫달닭닮닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덤덥덧덩덫덮데덱덴델뎀뎁뎃뎅도독돈돋돌돔돕돗동돛돠돤돨돼됐되된될됨됩됴두둑둔둘둠둡둣둥둬뒀뒈뒤뒨뒬뒷듀듄듐듕드득든듣들듦듬듭듯등디딕딘딛딜딤딥딨딩딪따딱딴딸땀땁땃땄땅땋때땍땐땔땜땟땠땡떠떡떤떨떫떰떱떳떴떵떼떽뗀뗄또똑똔똘똥뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띠띤띨띰띱띵라락란랄람랍랏랐랑랖래랙랜랠램랩랫랬랭랴략랸량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례로록론롤롬롭롯롱롸뢰뢴뢸룀룁료룐룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륭르륵른를름릅릇릉릎리릭린릴림립릿링마막만많맏말맑맘맙맛망맞맡매맥맨맬맴맵맷맸맹맺머먹먼멀멈멉멋멍멎메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇모목몫몬몰몸몹못몽뫼묍묏묑묘무묵묶문묻물묽뭄뭅뭇뭉뭍뭐뭔뭘뭡뭣뭬뮈뮤뮨뮬므믄믈믐믓미믹민믿밀밈밉밋밌밍및밑바박밖반받발밝밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉버벅번벋벌범법벗벙벚베벡벤벧벨벰벱벳벴벼벽변별볍볏볐병볕보복볶본볼봄봅봇봉봐봔봤봬뵀뵌뵐뵘뵙뵨부북분붇불붉붐붑붓붕붙붜붤붰뷔뷰뷴븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤빨빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뼈뼉뼘뼙뼛뼜뽀뽁뽄뽈뽐뽑뽕뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤샥샨샬샴샵샷샹서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇠쇤쇨쇰쇱쇳쇼쇽숀숄숍숏숑수숙순숟술숨숩숫숭숯숱숲숴쉈쉐쉑쉔쉘쉠쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏘쏙쏜쏟쏠쏨쏩쏭쏴쏵쏸쐈쐐쐬쐰쐴쐼쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸씀씁씌씐씔씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠어억언얹얻얼얽엄업없엇었엉엌엎에엑엔엘엠엡엣엥여역엮연열엶엷염엽엿였영옅옆옇예옌옐옘옙옛오옥온올옭옮옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왼욍요욕욘욜욤욥욧용우욱운울욹움웁웃웅워웍원월웜웝웠웡웨웩웬웰웹웽위윅윈윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖의읜읠이익인일읽잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟌쟤쟨쟬저적전절젊점접젓정젖제젝젠젤젬젭젯젱졌졔조족존졸좀좁좃종좆좇좋좌좍좔좝좟죄죈죌죔죠죤주죽준줄줆줌줍줏중줘줬쥐쥑쥘쥠쥬즈즉즌즐즘즙증지직진질짊짐집짓징짖짙짚짜짝짠짢짤짧짬짭짱째짹짼쨀쨈쨉쨋쨌쨍쨔쩌쩍쩐쩔쩜쩝쩡쩨쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫘쫙쫠쬐쬔쬘쬠쭈쭉쭌쭐쭘쭙쭝쭤쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻찼창찾채책챈챌챔챕챗챘챙처척천철첨첩첫청체첵첸첼쳄쳅쳇쳉쳐초촉촌촐촘촙촛총촤촨촬최추축춘출춤춥충춰췄취츄츠측츤츨츰츱층치칙친칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬커컥컨컫컬컴컵컷컸컹케켁켄켈켐켜켠켤켬켯켰코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾨쿄쿠쿡쿤쿨쿰쿱쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸큇큐큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탐탑탓탔탕태택탠탤탬탭탯탰탱터턱턴털텀텁텃텄텅테텍텐텔템텝텟텡토톡톤톨톰톱톳통톺퇘퇴투툭툰툴툼툽툿퉁퉈퉜퉤튀튄튈튐튑튜튠트특튼튿틀틂틈틉틋티틱틴틸팀팁팃팅파팍팎판팔팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편폈평폐포폭폰폴폼폽폿퐁퐈퐝표푠푯푸푹푼푿풀품풉풋풍풔풩퓌퓐퓔퓨프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횟횡효횬횰후훅훈훌훑훔훙훠훤훨훰훵훼휑휘휙휜휠휨휩휭휴휵휼흄흉흐흑흔흖흘흙흠흡흥희흰히힉힌힐힘힙힛힝ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎㅏㅑㅓㅕㅗㅛㅜㅠㅡㅣABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890~!@#$%^&*(){}[]-_=+:<.>/?\

external_components:
  - source: github://ashald/esphome@lilygo-t5-47
    components: lilygo_t5_47

display:
  - platform: lilygo_t5_47
    id: t5_display
    rotation: 180
    update_interval: 60s
    lambda: |-
      it.strftime(15, 310, id(din_big), TextAlign::BASELINE_LEFT, "%H시%M분", id(ntp).now());
      it.strftime(50, 500, id(din_big), TextAlign::BASELINE_LEFT, "%Y년%m월%d일 %a", id(ntp).now());
      
      
button:
  - platform: restart
    name: "${esp_name} Restart"

  - platform: template
    name: "${esp_name} Refresh"
    icon: "mdi:update"
    on_press:
      then:
      - component.update: t5_display

binary_sensor:
  - platform: gpio
    pin: 
      number: GPIO39
      inverted: true
    name: "${esp_name} Button 1"
    on_press:
      then:
       - component.update: t5_display
      
  - platform: gpio
    pin: 
      number: GPIO34
      inverted: true
    name: "${esp_name} Button 2"

  - platform: gpio
    pin: 
      number: GPIO35
      inverted: true
    name: "${esp_name} Button 3"

and this is custom_partitions.csv

# Name,   Type, SubType, Offset,   Size,     Flags
nvs,	data,	nvs,	0x9000, 0x5000,
otadata,	data,	ota,	0xe000, 0x2000,
app0,	app,	ota_0, 0x10000,	0x640000,
app1,	app,	ota_1,	0x650000,	0x640000,
spiffs,	data,	spiffs,	0xc90000,	0x370000