NXTブロックにJTAG端子を増設する.

NXTに対して行わなければいけないことは山ほどあるのだけれど,あえて邪道に走ってみる.現実逃避? …ご明答.

Twitterでもつぶやいたのだが,

  • 「PizzaFactory3評価キットって,MPUはAT91SAM7S.Mindstorms/NXT とは足回りが違うのだけれど,たぶんプロセッサの挙動を見るにはちょうどよい補助教材だと思う.NXT にはデバッガがないのが痛い.」
  • 「厳密にいうと,NXTブロックとデバッガは繋がる.JTAG端子のパターンはある.分解して端子をハンダ付けして,(刺身包丁 or JTAG-Key) and OpenOCDを調達.15k円でお釣りがくる.」(後略)

言った手前,見せるのは道義.
「やりましょう.」というのが今日の日記のお題目.

免責の表示w

こういう記事のお約束として,改造は as your own risk .NXTブロックは分解を前提として作られていないので慎重に行わないと壊れそうなところもあるし,仮に壊しても,当然,メーカや代理店の保証は受けられない.万一 hack したのと別の理由で壊れても,保証は受けられない. この日記を書いた私も責任は取らない.

ETロボコン参加者への注意.

もう一つ.この改造を行うと,ETロボコンの競技規則にある「分解しちゃダメ」に抵触する可能性が高い.本件については,思うところがいくつかある.別エントリに書く.
思うところはあるが,規則は規則.そして私は本部技術委員でもあるので,規則違反があれば見逃すことができない.その辺りの機微,一つ踏まえて頂き円滑なイベント遂行にご協力いただきたく,ひとつよしなに.

用意するもの

一式を写真にとっておけば良かったけれども,残念ながら忘れてしまった…ので,都度,説明する.
この手の作業は,作業に取り掛かる前に,全体像をざっとつかんだほうがよい.面倒でも作業前に終りまで読んでみて欲しい.

NXTブロックを手元に置く.

これがなければはじまらない.

どこかのイベントでみかけたような走行体だが,気にしないでほしい.

NXTブロックだけ抜き出す.

レゴ (LEGO) マインドストーム NXT

レゴ (LEGO) マインドストーム NXT

白蓋を外す.






ここくらいまでは,プラスドライバ一本で一気にいける.この辺りまでで悩むようなことがあれば,この先の作業は諦めることをお勧めする.

液晶を起こす.

液晶は,2本のネジで止まっている.プラスドライバーで抜く.白蓋を止めているのと同じネジなので混じることを心配しなくてもよい.

ここで,最初の注意.液晶とメイン基板は,フラットケーブルで止まっている.乱暴に扱うと,破損の恐れアリ.
このフラットケーブルが折れたら,結構致命的.

優しく斜めに持ち上げる.

今回の献体では問題なかったが,脇のスピーカーやスピーカーケーブルは,ロットによっては固定が不十分で断線するケースがあるようなので気をつけよう.

上下のコネクタカバーを外す.

筐体(グレー色の部分)は3ピースで構成されており,バッテリーや基板を受ける部分と,コネクタカバーに相当するピースがある.
ここで,コネクタカバーを外す.コネクタカバーは,2本のツメで筐体の位置固定をしている.また,基板と筐体は2点のハンダ付けで固定されている.ここは"知恵の輪"的な能力がいるかもしれない.ヘタをするとツメが折れる.

もし大量に盛られたハンダの吸い取りに自身があるのなら,(次の作業である)基板と筐体の分離をここで先に行うという手も有り得る.その場合は,ハンダゴテで筐体を溶かさないよう細心の注意が必要.

筐体と基板を分離する.

先に説明した通り,基板と筐体は2箇所のハンダ付けで固定されている.電池端子に固定されており,熱容量が大きいので,60W程度のハンダゴテとハンダ吸引器,太めの吸い取り線があったほうがよいと思う.
これも慣れが要る作業なので,経験の浅い人は,ユニバーサル基板などで練習したほうがよいかもしれない.

分離したら,基板や端子に残ったハンダをすいとって綺麗にしたおくと,組み立ての時に楽ができる.

[054965] 半田吸い取りペン

[054965] 半田吸い取りペン

JTAG端子の実装

基板上にJ17という未実装のviaがあり,これがJTAG端子に相当する.場所の関係なのか,ARM純正の14pinや20pinとは異なる.

あともう一つ注意.このピン幅は,1.27mm となっている.電子工作の世界で広く使われている2.54mmの半分.このピン幅はマルツ辺りでも買える*1のではあるけれども,8pinのものは私が見た限りでは無いようなので,ちょっと加工が必要かもしれない.


それと,こういう細かいハンダ付けをしたことがない方への情報.ハンダ面へのフラックス塗布はmust.

これがあると無いとでは,仕上がりに雲泥の差が出る.半田線も細い方が良いですが,0.6mm程度でも気をつければ問題なし.

いうまでも無いことだけれども,ハンダゴテは小さいものを.先程は60W.ここで私が使ったのは11W.

この手の単純作業は,腕前よりも,適切な道具を使うか否かで成否が分かれる.


で,実装終わり.ピンソケットがついている.

組み直す

まあ,ここまで分解できた人ならば,組み上げるのに悩むところはないだろう.
電池端子をつけるときに,大量のヤニが汚く広がるかもしれない.どこかに出荷するのでもないので,そのままでも構わないけれども,ヤニ落としをしておけば気分がよい.
私個人のお気に入りは,コレ.

柑橘系の香りで強力洗浄,電子工作以外でも,換気扇の掃除などで威力を発揮し家庭円満にも役立つ優れもの.

動作確認

ゴムスイッチを置き,バッテリー or 乾電池を入れ,オレンジボタンを押す.

何の問題もなければ,「ピロリロリッ」という例の音がして*2,NXTブロックが息を吹き返すはず.

もし動かなかったときは?

不幸にして何もならない場合,いちばん可能性が高いのは,ピンソケットをはんだ付けした時のブリッジ.
まずは落ち着いて,バッテリー or 乾電池を抜き,腕組みをして,原因になりそうなところを考えてみるとよい.慌てるとろくなことがない.

もし動いたら?

今回作業したのは,端子をつけるところまで.JTAG-ICEはまた別の話.JTAGKEYっていう手もあるだろうし,もっと高価なデバッガという手もある.
なひたふさんのところのも秋月AT91の対応はあったようなので,流用できるのではという気はする*3,選択肢の広さはARMの特権.


けれどもとりあえず,立場上の理由と技術的理由の両面で,当日記では,NXT対応版の「刺身包丁」を使ったデバッグを勧めたい….という話はまたいずれ後日.

PizzaFactory Tiny JTAG for Blackfin/Sharc

PizzaFactory Tiny JTAG for Blackfin/Sharc

*1:秋月にもあったように思うのだけれど,今日秋葉原店で眺めた範囲では見つからなかった

*2:いや消音していれば鳴らないけど

*3:けれども,私自身が確認したわけではないで,ご興味のある方は特電回路さんへお問い合わせを.