
電池を積まない名刺型の基板が、スマホにかざすと21個のLEDを光らせる。Wilson Harper氏が作ったもので、KiCadを覚えるための入門として始めた製作が3カ月かかった。通常のNFC名刺としても働き、スマホから連絡先を読み取れる。
スマホは1秒に数回、小さな磁界を出している。NFCカードはそれを拾い、スマホは小さなワイヤレス充電器のように振る舞う。カードは電波を送り返すのではなく、磁界からどれだけ電力を吸うかを変え、スマホがその落ち込みをデータとして読む。多くのタグは回収した電力を自分の回路にしか使わないが、一部のチップは余った電圧を外部へ出せる。Harper氏はNXPのNTAG I2C Plusを選んだ。
そこから先は、限られた電力をどう安定させるかの話になる。電圧を平らにするには10μFのコンデンサーが欲しいが、データシートは出力に220nF以上をつなぐなと書いている。大きすぎると起動時に電圧が落ち、二度と立ち上がらない。
同氏は抵抗で突入電流を数mAに抑え、120ミリ秒後にマイコンがMOSFETを切り替えて、充電済みのコンデンサーを低い抵抗で接続する回路を組んだ。データシートを破らずに大容量の利点を得ている。
21個のLEDはCharlieplexingで駆動する。GPIOの3状態とLEDが一方向にしか電流を流さない性質を使う手法で、6本のGPIOで20個を独立に制御し、残る1個は表示用に直結した。同時に光らせられるのは1個だけなので、高速で切り替えてアニメーションに見せる。1kHzで切り替え、点灯時間を2割に抑えると電圧の低下は約0.2Vにとどまる計算だという。
アンテナはカードの外周を回る四角い渦巻きだ。チップ内蔵の50pFと合わせて13.56MHzで共振するよう、2.75μH付近を狙った。
KiCadに四角い渦巻きを描く機能がなくプラグインも見つからなかったため、同氏はKiPythonのスクリプトを自作した。作成にはLLMの助けを借りたと明記している。配線を完全な輪にすると渦電流が生じてアンテナが働かなくなるため、上部中央に切れ目を残した。グラウンドプレーンを敷かないのも同じ理由による。
基板はJLCPCBに実装まで委託した。人に配るものなので鉛を避け、RoHSに完全対応する仕様を選んでいる。1枚あたりの追加費用が小さいと分かり、30枚を発注した。書き込み用のパッドは背面に3つ並び、180度回して当てても壊れない順序にしてある。財布やポケットで乱暴に扱われることを見込み、保護用のダイオードも入れた。設計データとスクリプトはGitHubで公開している。

