Skip to content
Miya-Gadget
  • PC
  • Gadgets
  • Generative AI
  • Travel
  • Cars
  • Announcements
  • Contact
JA / EN
  1. Home
  2. PC
  3. [Free] How to Clear the EPSON EP-804A Waste Ink Pad Error with the Open-Source EWR Tool
PC

[Free] How to Clear the EPSON EP-804A Waste Ink Pad Error with the Open-Source EWR Tool

2026年9月29日 · Shichinomiya
[Free] How to Clear the EPSON EP-804A Waste Ink Pad Error with the Open-Source EWR Tool

Hi, this is Shichinomiya-san (@shichinomiya_s).

I still use an Epson printer released in 2011, the Colorio EP-804A, but one day its LCD showed “廃インク吸収パッドの吸収量が限界に達しました。” (The waste ink pad is at the end of its service life.) and it stopped printing entirely.

The error as it actually appeared. The only thing you can do is turn the power off.

The message also says “エプソンの修理窓口に交換をご依頼ください。” (Please contact the Epson repair center to request a replacement.), but repair requests for the EP-804A ended on September 30, 2018. There is no longer any way to have the manufacturer fix it.

So this time, I tried to clear this error myself using “EWR (Epson Waste Reset)“, a free open-source tool published on GitHub.

Here’s the bottom line: the error disappeared without spending a single yen, and the printer is printing again. The waste ink counter that had exceeded its limit (7927 / 7923) is back to 0%, and the printer’s status has returned from “error” to “standby”. However, I ran into a few stumbling blocks: the app crashes right after launch, and an option in the README no longer works in the latest version. Also, resetting the counter to 0 does not make the pad inside clean. I’ll walk you through the procedure honestly, including those points.

Table of Contents

Toggle
  • What Is the Epson Waste Ink Pad Error?
  • Comparing the DIY reset options
  • The environment I worked in
  • Step 1 Download EWR and check whether your model is supported
  • Step 2 Stumbling block — ewr.exe crashes right after launch
  • Step 3 Check that the printer is visible (read-only)
  • Step 4 Read the current counter values (no writes)
  • Step 5 Dry-run to check what will be written
  • Step 6 Back up the entire EEPROM just in case
  • Step 7 The reset, at last
  • Result the error is gone and I can print again
  • Workflow summary
  • Who this is for / Caveats
  • Summary
  • Related reading

What Is the Epson Waste Ink Pad Error?

Inkjet printers discard small amounts of ink during head cleaning and other maintenance. The discarded ink is absorbed by a “waste ink absorber pad” (a sponge-like part) at the bottom of the unit.

The printer records the amount of discarded ink in its internal memory (EEPROM) as a “waste ink counter“. When this counter reaches its limit, the printer halts with this error, regardless of how wet the pad actually is.

In other words, resetting the counter to 0 clears the error. However, since the counter is an estimate based on the actual amount of discarded ink, if it’s at 100%, it’s safest to assume the pad is quite soaked. I’ll go into more detail on this in the “Caveats” section later.

Comparing the DIY reset options

Since manufacturer repair is no longer available, I looked into ways to clear it myself. I mainly found the following three options.

MethodCostNotes
WIC Reset Utility (commercial tool)about 1,000 yen per one-time keyMultiple EP-804A success stories on Japanese blogs
EWR (Epson Waste Reset)FreeThe source is public (Apache License 2.0). It also has a “trial run” mode that writes nothing
Reset TX730WDFreeNot adopted: the distributor isn’t clear and it tells you to disable your antivirus. There are also reports of it failing with newer firmware

This time I chose EWR, which is free and fully open. The clincher was that before writing anything, it has modes that “only read the current values” and “only show what would be written”, so you don’t rewrite the EEPROM blindly.

The environment I worked in

ItemDetails
PrinterEPSON Colorio EP-804A (released September 2011)
ConnectionUSB (also normally used over Wi-Fi)
PCWindows 11 Pro (10.0.26100)
SoftwareEWR v1.3.1 (released September 8, 2026, EWR-v1.3.1-win.zip)
Additional installMicrosoft Visual C++ 2015-2022 Redistributable (x64)
Work dateSeptember 26, 2026

EWR is also published for Linux and Mac (Apple silicon) in addition to Windows, but this time I only tried the Windows version.

Step 1: Download EWR and check whether your model is supported

EWR is published on GitHub at RxNaison/Epson-Waste-Reset. Download the Windows zip (EWR-v1.3.1-win.zip) from Releases and extract it, and you’ll get the following two files.

  • ewr.exe — the main program (about 812 KB)
  • database.json — the supported-model data (about 2.7 MB)

If you open database.json and search for “EP-804A”, there’s a dedicated entry. In other words, the EP-804A is a supported model. You can also check here whether your own model is listed.

Step 2: Stumbling block — ewr.exe crashes right after launch

I double-clicked ewr.exe right away, but no window appeared and it closed immediately. Running .ewr.exe --help from PowerShell also ended without showing anything.

Looking at the Windows event log revealed the cause.

障害が発生しているアプリケーション名: ewr.exe (Faulting application name: ewr.exe)
障害が発生したモジュール名: MSVCP140.dll、バージョン: 14.29.30153.0 (Faulting module name: MSVCP140.dll, version: 14.29.30153.0)
例外コード: 0xc0000005 (Exception code: 0xc0000005)

The crash wasn’t inside ewr.exe itself, but inside the Visual C++ runtime (MSVCP140.dll). The runtime installed on my PC was an old 14.29 build, and apps built with a newer toolchain can crash at startup on such systems.

The fix was simple: just install Microsoft’s official Visual C++ 2015-2022 Redistributable (x64). After installation, MSVCP140.dll was updated to 14.44.35211.0, and ewr.exe started up fine.

If “nothing happens when I double-click” applies to you too, try this first.

Step 3: Check that the printer is visible (read-only)

With the printer powered on and connected via USB, open PowerShell in the folder that contains ewr.exe and run the following command.

.ewr.exe --list
[1] USBPRINT mi_01
    IEEE 1284 device ID: MDL "EP-804A"
    Database entry:      EP-804A
[2] IMAGE mi_00
    IEEE 1284 device ID: (no reply)

The printer’s USB connection (USBPRINT) was recognized as an EP-804A and matched the database entry. The second entry, IMAGE, is the scanner interface, so no reply there is expected.

Step 4: Read the current counter values (no writes)

Next, check the state before rewriting anything. --status is a read-only mode; at startup it shows “no EEPROM writes will be sent.”

.ewr.exe --status --model EP-804A

If you don’t pass --model EP-804A, it asks whether the detected model is correct and waits for input, so it’s easier to specify the model from the start.

EWR screen showing the status before the reset: Main Pad Counter at 100%
Status before the reset (a screenshot of the log output; the rows with the raw EEPROM values are omitted)
ItemBefore reset
Printer statusERROR: SERVICE REQUEST (service required)
Main Pad Counter100% (7927 / 7923) ← over the limit
Platen Pad Counter15% (1859 / 12284)
Ink levelsAll UNKNOWN (can’t be read during an error)

The main counter had exceeded the limit of 7923, reaching 7927, which turned out to be the cause of the error. The other counter (Platen) was still at 15%.

Note that the supported-model data is updated over the network at startup, so the displayed values can differ from the limits in the database.json we looked at in Step 1.

Step 5: Dry-run to check what will be written

Instead of resetting right away, first display only what would be written.

.ewr.exe --dry-run --model EP-804A

At startup it shows “DRY RUN: EWR will detect, read and plan, but write nothing.” This time it planned to rewrite 13 bytes, listing the “current value” and “value to write” for each.

Make a note of these “current values” so you can restore things in case something goes wrong.

Step 6: Back up the entire EEPROM just in case

As a safety net, save the whole EEPROM contents to a file. This is also read-only.

.ewr.exe --dump --model EP-804A
[SUCCESS] Wrote 256 of 256 EEPROM byte(s) to ewr_dump_EP_804A_1790399918.txt.

All 256 bytes were saved. However, it took over 5 minutes to finish. Even if it looks stuck, wait a while.

Step 7: The reset, at last

I hit one more snag here. The GitHub README lists a --yes option to skip the confirmation, but when I passed it in v1.3.1, it exited with the following message and did nothing.

[!] Unknown option: --yes (see --help).

Checking with --help, the options available in v1.3.1 were only --status, --list, --model, --interface, --dry-run, --dump, --no-update, --usb-soft-reset, and --help. Just run it without --yes and answer the confirmation prompt with y.

.ewr.exe --model EP-804A

It asks “Reset the waste ink pad counters of EP-804A now? [y/N]:”, so type y and press Enter.

EWR screen after running the reset, showing all 13 writes succeeding
Output at reset time (excerpt; Commands 3–12 are omitted — all of them OK as well)

All 13 writes returned “EEPROM write verified”. On top of that, EWR reads the counters back after writing to confirm, and it showed that both Main and Platen dropped to 0%. The written values also matched the plan from the dry run in Step 5.

Finally, it said “SUCCESS! Turn the printer OFF, then ON.”, so I did exactly that.

Result: the error is gone and I can print again

When I turned the printer off with its power button and on again, the waste ink error on the LCD was gone.

Just to be sure, I checked the status once more in read-only mode.

Status after the reset: State is IDLE and the waste ink counters are at 0%
Status after powering the printer back on (a screenshot of the log output)
ItemBefore resetAfter reset
Printer statusERROR: SERVICE REQUESTIDLE (standby)
Main Pad Counter100% (7927 / 7923)0% (0 / 7923)
Platen Pad Counter15% (1859 / 12284)0% (0 / 12284)
Ink levelsAll UNKNOWNNow readable (cyan 35%, yellow 30%, etc.)

The status returned to “IDLE (standby)” — in other words, back to normal — and the ink levels that couldn’t be read during the error are now displayed. The counter stayed at 0% even after powering off and on. Finally, I printed an actual page and confirmed that printing works without any problems.

Workflow summary

Because I inserted “read → view the plan → back up” before rewriting anything, I could proceed with peace of mind all the way to the end.

StepCommandWhat it doesWrites
1.ewr.exe --listCheck that the printer is visibleNone
2.ewr.exe --status --model EP-804ARead the current counter valuesNone
3.ewr.exe --dry-run --model EP-804ACheck what will be writtenNone
4.ewr.exe --dump --model EP-804ABack up the entire EEPROMNone
5.ewr.exe --model EP-804AReset (answer y to the prompt)Yes
6—Power the printer off and on—
7.ewr.exe --status --model EP-804AVerify after the resetNone

Who this is for / Caveats

Who this is for:

  • People who want to keep using an old Epson model whose repair service has ended
  • People who don’t want to use paid tools or free tools of unknown origin
  • People who are comfortable typing commands in PowerShell

Caveats:

  • The pad itself has not been replaced. Since the counter was at 100%, the pad inside has likely absorbed quite a lot of ink. If you keep using it as is, ink may leak from the bottom of the unit.
  • I didn’t replace the pad this time, and decided to put newspaper under the unit and keep an eye on it. If ink leaks, I plan to consider replacing the pad or routing the waste ink out to an external bottle with a tube.
  • Rewriting the EEPROM is at your own risk. You’re no longer covered by the manufacturer’s warranty or support. EWR itself is also provided “as is” with no warranty.
  • The --yes option in the EWR README didn’t work in v1.3.1. Options can differ by version, so be sure to check with --help before using it.

To be ready in case ink leaks, it’s reassuring to at least see what replacement waste ink absorber pads are like. Also, once the ink levels that couldn’t be read during the error became visible, cyan and yellow had dropped to around 30%. The EP-804A uses Epson’s IC50 series ink, the one with the balloon icon (search for IC6CL50).

Summary

  • The EP-804A’s “waste ink pad is at the end of its service life” error was cleared with the free open-source “EWR” tool. Cost: free.
  • The main waste ink counter went from 100% (7927 / 7923) to 0%, and the platen side also went from 15% to 0%. The status returned from ERROR to IDLE, and printing worked too.
  • The reason ewr.exe crashed right after launch was that the Visual C++ runtime was outdated. Installing the latest version fixed it.
  • The README’s --yes doesn’t work in v1.3.1. Just answer y to the prompt.
  • Being able to “read, view the plan, and back up” before writing — --status → --dry-run → --dump — is what makes EWR feel safe to use.
  • However, the pad is not clean, so watch out for ink leaks.

This method is recommended for anyone who wants to keep using an old Epson printer whose repair service has ended, just a little longer.

Related reading

Here are more articles about resolving everyday device and PC troubles myself.

  • How to delete the undeletable “nul” file in the Windows version of Claude Code
  • [2026 Update] How Hitachi’s drum washing machine “Raku-Mainte” defect unexpectedly ended in a refund
  • [Easy digitization] How to dub MiniDV video tapes to a PC
Previous Article Dual Tesla V100 SXM2 on a Single PCIe Slot: 64GB VRAM & 300 GB/s NVLink Tested — Is This $700 Setup Worth It?

Related Posts

Building a Full-Stack Blog System with Claude Code: Applying Everything I Learned

Building a Full-Stack Blog System with Claude Code: Applying Everything I Learned

[Preparation] Running Windows 10 on ARM on the Lumia 950 XL

[Preparation] Running Windows 10 on ARM on the Lumia 950 XL

Resolving “GLIBC_2.28 not found” Without Downgrading Node

Resolving “GLIBC_2.28 not found” Without Downgrading Node

Auto-Generate PDF Reports with Claude Code: From Raw Data to Polished Documents

Auto-Generate PDF Reports with Claude Code: From Raw Data to Polished Documents

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Shichinomiya

Shichinomiya

A blogger who loves PC and gadgets. Sharing daily discoveries.

@shichinomiya_s

Popular Posts

  • Modded RTX 4080 32GB Benchmarked: Qwen3.8-27B at 262K Context, 125B MoE, and MiniMax H3 Video — What 32GB Actually Delivers
  • Does the trending Claude Code skill “ADHD” actually make the agent smarter? A measured duel vs single-shot
  • [Important Notes] Reviewing LINE Mobile’s New SoftBank Network
  • [Preparation] Running Windows 10 on ARM on the Lumia 950 XL
  • Can you really cut your AI API bill? I deployed the context-compression tool “Headroom” and measured it

Categories

  • Announcements
  • Cars
  • Cycling
  • Gadgets
  • Generative AI
  • Home Appliances
  • Internet Service
  • Outings
  • Overseas Shopping
  • PC
  • Rental Servers & VPS
  • Travel
Miya-Gadget

A review blog about PC, gadgets, and DIY.
Sharing daily tech experiences.

Categories

  • PC (36)
  • Gadgets (25)
  • Generative AI (20)
  • Internet Service (7)
  • Travel (4)
  • Announcements (3)
  • Overseas Shopping (2)
  • Cars (2)

Recent Posts

  • [Free] How to Clear the EPSON EP-804A Waste Ink Pad Error with the Open-Source EWR Tool
  • Dual Tesla V100 SXM2 on a Single PCIe Slot: 64GB VRAM & 300 GB/s NVLink Tested — Is This $700 Setup Worth It?
  • Modded RTX 4080 32GB Benchmarked: Qwen3.8-27B at 262K Context, 125B MoE, and MiniMax H3 Video — What 32GB Actually Delivers
  • Tesla V100 32GB Runs Qwen3.8-27B: 131k Context on a Single Card — Measured Benchmark

© 2026 Miya-Gadget. All rights reserved.