- Bob Rewinderは、Daan TechのBob Dishwasher用洗剤カートリッジ「Bob Cassette」のEEPROMカウンターをリセットし、新しいカセットを買わずに詰め替えて再利用するためのプロジェクト
- Bob Cassette内部のPCBは24C02 I2C EEPROMを使っており、30回分の洗浄カウンターはアドレス
0xa1の1バイト値で管理され、Washes left XOR 0x50という形で計算される
- Bob Cassetteの4個パックは送料・VAT込みで**£43、90回分の洗浄**に相当し、1回あたり48p。業務用食器洗浄機用洗剤とリンス助剤を使うと、計算上は1回あたり0.80pまで下がる
- 実験では、Pop Cassetteの洗剤タンク130mLとリンス用タンク35mL、Bobの水使用量と希釈比をもとに代替洗剤を探し、実際に詰め替えた後の洗浄結果が従来と変わらないことを確認した
- このプロジェクトは、Bob Cassetteの利便性を維持しつつDRMベースの消耗品コストを取り除き、ボタン1つでEEPROMを更新する専用ボードまで製作している
Bob Cassetteとコスト問題
- Bob DishwasherはDaan Techの小型卓上食器洗浄機で、内蔵水タンクを手で満たせるため配管が不要で、省スペースに使える
- Bob Cassetteは洗剤カートリッジ方式の主要機能で、毎回洗剤を量って入れるのではなく、挿し込んで使う構造
- カセットには2種類がある
- Pop Cassette: 洗浄用洗剤とリンス助剤が入っており、30回分の洗浄に対応
- Rock’n’roll Cassette: 洗浄剤と石灰質除去剤が入っており、Bobのディープクリーニング・メンテナンス用で、90サイクルごとの使用が推奨され、1回分
- Daan Techが挙げる利点は、使いやすさ、必要量だけを噴射して無駄を減らすこと、2段階噴射、再生プラスチックの使用、返送・再利用の可能性
- コストは大きな負担として計算される
- 4個パックの価格はウェブサイト基準で£35
- 送料とVAT込みで**£43、90回分の洗浄**
- 1回あたり48p、67セント
- 毎日1回使うと、1年間のBob Cassette費用だけで**£174、$242**
- Bob Dishwasherにはインターネット接続機能があるが、このプロジェクトでは、この接続はカセットが少なくなったときに自動再注文するためのものだと見ている
- 空のカセットをそのままにして手動で洗剤を入れることもできるが、Daan Techは、毎回計量する必要があり、一般洗剤の投入量調整が難しく、多段階投入ができず、石灰質の問題が起きる可能性があると案内している
カセット内部のEEPROM解析
- カセット中央には小さなPCBがあり、両側に4つずつ接点がある
- 本体側にはPCB接続部と、洗剤をポンプで吸い出すホースが2本ある
- 機器には4本のワイヤーだけが入っており、Bobはカセットの残り洗浄回数を読み取り、洗浄後に更新する必要があるため、内部チップは不揮発性メモリである可能性があった
- ケースのプラスチックをはんだごてで溶かしてPCBを取り出したところ、内部は24C02 EEPROMであることが確認された
- I2Cライン用の4.7Kプルアップ抵抗
- バイパスコンデンサ
- 逆挿し保護と思われるダイオード
- 24C02は256バイトしか保存できないため、カセット内部のデータ構造は大きくない
カウンターダンプとリセット方法
- EEPROMを読むため、カセット接点をUSB-Aメスソケットに合わせて接続し、以前のプロジェクト用ボードとPythonスクリプトで256バイトを
.binファイルとして保存した
- 残り26回のPop Cassetteのダンプで確認された内容は次のとおり
- EEPROM領域の大半は
0xffで未使用
- 先頭付近にUUIDのように見えるASCII文字列がある
Classiqueがカセット種別を示しているように見える
- もう一度洗浄した後にダンプを比較すると、アドレス**
0xa1の1バイト**だけが0x4Aから0x49に変わっており、残り回数は26回から25回に減っていた
- 30回カウンターは、
0xa1の値を**0x4e**に設定するとリセットされる
- GitHubユーザーのfloppは、
0xa1の値がWashes left XOR 0x50で計算されると指摘した
- 値の検証は十分ではないようで、
0x3fに変更するとBobが残り111回と表示する例もあった
代替洗剤の調査と希釈比の計算
- Bob Cassetteを詰め替えるには、内部の洗剤が特別な成分なのか確認する必要があり、Daan TechのユーザーマニュアルからPop Cassetteの成分情報を得た
- Pop Cassetteの構成は次のとおり
- タンク1: 洗浄用洗剤130mL、主成分はSodium HydroxideとEtidronic Acid、濃度5%未満
- タンク2: リンス液35mL、濃度5%未満
- Bobのexpress washで排水を段階ごとに重量測定し、水使用量を計算した
- 洗浄: 1000mL
- 洗剤すすぎ: 650mL
- リンス: 1200mL
- 全体の水使用量は3L未満
- これをもとに、カセットの1回あたり投入量と希釈比を計算した
- 洗剤: 130mL / 30回 = 4.33mL、1000mLの水基準で0.433%、1:231
- リンス助剤: 35mL / 30回 = 1.17mL、1000mLの水基準で0.117%、1:855
- インターネット検索では、一般消費者向けのdishwasher gelよりも、Commercial Dishwasher Detergent & Rinse Aidやcatering suppliesサイトのほうが適した候補だった
- 英国の化学製品は規制上Safety Data Sheetがあるため、成分と濃度をBob Cassetteの情報と比較できた
- Jantexの業務用洗剤とリンス助剤の使用手順およびデータシートは、先に計算した希釈比や成分・濃度範囲によく合っていた
- 2021-05-29の更新では、ユーザーziviossiが同じUFI番号を持つPopおよびR’n’Rカセット用洗剤を見つけたという
- 2022-03-19の更新では、Hawk-v3が正確な洗剤情報を追加調査中で、関連する議論は
dekuNukem/bob_cassette_rewinderのIssue 13にある
コスト比較と実際の詰め替えテスト
- 業務用洗剤基準のコスト計算では、Bob Cassetteと比べて大きな差が出る
- 洗剤: VAT込み£7.20、5000mL / 4.33mL = 1154回、1回あたり0.62p
- リンス助剤: VAT込み£7.60、5000mL / 1.17mL = 4273回、1回あたり0.18p
- 合計は1回あたり0.80p、1.1セント
- Bob Cassetteの1回あたり48pと比べると、直接詰め替えは60倍以上安く、約98%のコスト削減と計算される
- 5Lの洗剤は毎日洗浄する前提で3年以上、リンス助剤はほぼ12年使える量と計算される
- ただし、この計算は洗剤の送料を含まない最良ケースであり、洗剤を使い切る前に劣化する可能性も除外している
- 送料と劣化の可能性を考慮しても1回あたり2pは達成可能だと見ており、それでも約30倍安い水準
- 実際のテストでは、洗剤とリンス助剤の2本を現地で約£17で購入した
- 詰め替え作業は、PCB窓をテープで塞いで液体の流入を防ぎ、鈍い針付きの注射器で一方向弁を貫いて洗剤を注入する方法
- 詰め替え後、Bobはカセットを残り30回として読み取り、1回洗浄した結果、皿は以前と同じようにきれいで、違いは感じられなかったという
Bob Rewinderボードと結論
- 仮配線の代わりに、カセットをボタン1つで更新できる専用PCBを設計し、名前をBob Rewinderとした
- Bob Rewinderはカセットに挿して使い、
RENEWボタンを押すとEEPROMカウンターをリセットする
- プロジェクトで行った作業は次のとおり
- Bob Cassette内部チップの識別
- EEPROMダンプとカウンターリセット方法の把握
- Bobの洗剤使用量と濃度の計算
- 代替洗剤の調査
- コスト分析
- 業務用洗剤でのテスト洗浄
- カセット更新用回路ボードの設計
- Daan Techは環境に配慮した“positive cycle”を掲げているが、このプロジェクトは、30回しか持続しないカセットを新たに販売し、フランスへ返送して再充填するモデルを批判している
- Bob CassetteはDRMが適用されたインクジェットカートリッジに似ているように見え、消耗品コストが製品の利用体験に負担をかけていると見ている
- DRMベースのコスト負担がなくなると、Bob Dishwasherは静かで、水の使用量が少なく、速く、小型で、配管不要なため、小さな住まいに適した機器だと評価される
- Bob RewinderボードはTindieで入手でき、使い方はUser Manualにある
1件のコメント
Hacker News の意見
人々がカセットを擁護しているのは奇妙に見える。会社は環境配慮を重視していると言いながら、洗剤用の高価なプラスチック容器を製造・販売・配送している。
しかもこの機械はこの特定の洗剤を必ず必要とするわけではなく、カセットを1つ装着したまま通常の食器洗い機用洗剤を使っても問題なく動作する。結局、カセットは必須ではなく会社の別の収益源で、実質的にはプリンターインク方式だ。
そもそもこうしたプラスチック廃棄物を作る必要はなく、液体や粉末の洗剤を少量使わせればよかった。どうしてもその方式を維持するにしても、ワックスコーティングした紙容器に粉末洗剤を入れることはできたはずだ。
返却されたカセットをどれだけうまくリサイクルまたは再利用したとしても、カセット自体が存在する必要はなかった。より多くのプラスチックはより多くのスペースを取り、より汚染を引き起こす配送トラックを必要とする。
結局この会社は、食器洗い機と洗剤のサブスクリプションサービスを売っている。最悪というわけではなく、漁業ほどプラスチック廃棄物を生み出すわけでもないが、それでもより多くのゴミを売るために自社を環境配慮型のように見せている会社に見える。
プリンターは非Epsonインクを使っていることを認識しているようで、小さな画面に警告を出すが、クリックして進めば許可する。今は洗浄液を入れた状態だ。
新しいプリンターは、欧州でない限りこうしたことを許可しない。DRMチップが不足しているのか、一部の新しいプリンターでは、古いチップを使う新しいインクカートリッジを使うにはファームウェア更新が必要だという。
いつか、こうしたプリンターや食器洗い機に合うインクや洗剤がもう生産されなくなり、巨大な文鎮になる日が来るかもしれない。
企業は高く売る一方で使用コストは低い製品を出したがらないように思える。人々が十分に比較検討しないことが問題なのかもしれない。私の住む地域のスーパーの棚には、パッケージ価格と単価が一緒に表示されていて、比較がずっとしやすい。
https://shop.inkjetmall.com/Epson-SureColor-P900 には、欧州地域版は単純なチップリセッターとリフィルカートリッジで動作するが、米国地域版はEPSONが非EPSONチップとチップリセッターの使用を防ぐように設計しているため、当面はサードパーティ製の解決策が出るのは難しいだろうと書かれている。
使い捨てのプラスチックの塊が必要なのに「環境にやさしい小型食器洗い機」として売っているのは、かなり皮肉だ。節約される水の量では、生み出されるプラスチックごみを相殺できないように思う。
ウェブサイトには「Daan Techでは、より持続可能で公正な世界は可能だと常に信じてきた」と書かれているが、そうした文言を掲げながらプラスチック廃棄物を大量に生む、より悪い洗浄機を売るのはかなりシニカルに見える。
「各Bobカセットは返却可能で再利用可能だ。私たちはそれらを再充填して市場に戻す。循環を閉じ、カーボンフットプリントを下げる」という内容だ。
また、カセットを必ず使わなければならないわけでもない。通常の食器洗い機用タブレットを入れればよい。Bobの説明書にも書かれているし、おそらくウェブサイトにもあるはずだ。何年もそうやって使っているが問題はなかった。BobにはDRMのような要素はない。
最後に、言われているようなより悪い洗浄機ではなく、より小さく、配管面でより柔軟な機械だ。Techmoanが導入部で述べていたように、小さな欧州のアパートに住む人にとって、これがBobの強みだ。
環境に良いはずだと言ったCEOや創業者を信じた可能性が高い。そもそもそうした分析を気にするタイプでもなく、実行できる能力もなかったのかもしれない。
Bobを知るきっかけになったと触れられていたYouTubeチャンネルもおすすめできる: https://www.youtube.com/watch?v=hVup5ya0WVQ / https://www.youtube.com/user/Techmoan
Mat/Techmoanは、現世代ハードウェアのレビューと懐かしの電子機器レビューを絶妙に織り交ぜて投稿している。派手な機能よりも、きちんと動き、よく作られていて、長持ちするものにレビューが寄りがちだ。
チャンネルのスタイルも良い。少し笑えて、事実が多く、技術的に詰め込みすぎず、面白い。
https://www.youtube.com/watch?v=s0y1pUtPGQk
https://www.youtube.com/watch?v=JN_XeVSKqSY
考えれば考えるほど、Bobのカセットと、プリンター本体より高いことさえある過剰に高価な DRMインクジェットカートリッジが重なって見える
20年以上前に、公開で文書化されたプリンターDRMのハッキング試行があり、これもカートリッジ内のEEPROMで行われていた: https://eddiem.com/photo/CIS/inkchip/chip.html
GUIDは、詰め替えられた同じカートリッジを機械が再び受け入れないようにするために入っているのだと思っていた。インクカートリッジでは、プリンターが直近N個のカートリッジIDを記憶する方式が実際に使われているからだが、ここではその話がそれ以上出てこないのが変だ
この記事がHNに上がるたびに、コメントはすぐ「DRMは悪だ!」に流れるが、実際には Bob食洗機は専用カセットの使用を要求していない
液体の食洗機用洗剤は聞いたことがないが、送料とVATを足して 90回分で£43($60)、つまり1回あたり48ペンス(67セント)という価格は、うちの国の「プレミアム」食洗機用タブレットの価格とほぼ同じだ
以前にも同じテーマで投稿されていた: https://news.ycombinator.com/item?id=27013880 - Bob Cassette Rewinder: Hacking Detergent DRM (2021)、コメント404件
そのプロジェクトが素晴らしかったので他のリポジトリも見たが、面白いものをたくさん作っていた。特に duckypad とこれが気に入った: https://github.com/dekuNukem/daytripper
リンス助剤は使わない方がいい。一部の製品は、極めて低い濃度でも腸の内壁を損傷し得ることが示されている
個人的に使ってみても、違いはまったく感じなかった
https://www.aaaai.org/tools-for-the-public/latest-research-s...
ただしこの記事に関しては、ある程度当たっているかもしれない。筆者が実際に何が起きているのかよく分からないまま、プロ向けの食洗機用リンスと洗剤を使っているからだ
リンス助剤を使っても違いを感じないなら、水が非常に軟水なのかもしれない。多くの食洗機では水の硬度に応じてリンス助剤の使用量を調整する必要があり、非常に軟水なら0にしておいてもよい場合がある
「DRMはない」と主張しようとしていた。残りの洗剤量を追跡する単純なフラッシュメモリチップで、まったく暗号化されていないからだ
だが、奇妙な xor 0x50 が入っている理由は、迂回禁止規定を発動させるための「技術的保護手段」を備えようとしたものなのだろうか? (https://en.wikipedia.org/wiki/Copyright_and_Information_Soci...)