update.ガジェットを作る11月に開催した、500人規模のイベントでのノベルティーを作りました。http://ja.avtokyo.org/avtokyo2017イベントでは、バッジとして使用ストラップで首から下げるマイコンボード電池駆動ミニゲーム入れたい日本で行われるセキュリティイベントです。同様の海外のセキュリティイベントではバッジとして使われる電子回路のボードが多数あるらしいです。以下はDEFCONのもの。今年(2017年)のDEFCON25では、やたらめったら乱立しています。https://hackaday.com/2017/08/04/all-the-hardware-badges-of-def-con-25/通信をどうする?今年までは、Arduino互換機としてLEDを光らせたりしてたとのこと。今回はより発展して通信に踏み込みたいところです。内部のポイントを仮想通貨として仮想通貨でチケット支払いミニゲームでポイントが貯まるということを考えました。下に述べますが、なるべく安くということを考えると、通信するためのコスト増は¥100ぐらいまでに抑えなければいけません。いうことで、赤外線通信かな・・・。安く全員に配るということで、あまりコスト高にはできません。1,000円ぐらいまでにしたい・・・。ドル建てでUSD9ぐらいで考えます。開発環境セキュリティイベントのノベルティなので、気軽にHACKして中身とか書き換えられるようにしたい。内部にはポイントがあるけれども、正攻法で貯めるのではなくHACKしまくってポイントGETするのもWelcomeな方向で。USBシリアルモジュールとかは標準添付したい。HACKできるものとすると、ハードウェアにあまり知識がない人でも触れるとなるとArduino開発環境かな。経験ない人でも何とかなるということで。OSX/Linuxのマルチプラットフォームを前提としたいのでそれにもマッチ。RTOS先のArduino開発環境はHack用ということで、それを使ったら書き換えることができるけれども、セキュリティイベントということで、本命はセキュアOSを載せたい。配布時にはRTOSベースのものが搭載されていて、ArduinoIDEベースでHACKしたければ上書きということで。先に1,000円ぐらいまでにしたいと書きましたが、それについて。基本的に海外に発注するのでドル建て(USD)で考えます。USD9ぐらいになるように。USBシリアル1000個ぐらい作るつもりで考えたらこのくらいかな・・・。合計USD10.7となります。大体こういったものはある程度数が無いと安く作れないことからまずは1000個として考えました。あとUSD1.7ぐらい高くなってますね。ここらへんはプロジェクト進めるに沿って最適化することを見込んで。これを元に、アレコレ決めていきます。グラフィックディスプレイにはこだわりたかった。調べてみると、OLEDであればUSD2.5程度で入手できそうということがわかりました。その程度で入手できるものは小さいものですが、その中で最大のサイズとなるとSPIまたはI2Cの128*64の0.96inのものになります。小さい・・・しかしながらキャラクタ液晶にしてもあまりコストが下がりそうになかったことから、グラフィック液晶の見栄えを重視。目標のUSD2にするには、インターフェース基板を省略すればそのくらいにはなりそうということで、これでいくことにしました。タクトSW(押ボタンスイッチ)ユーザインタフェースはとりあえず上下左右ABの6ボタンで。これがあればどんなコンテンツでもなんとかなるかな。PCB(キバン)キバンに、マイコンを動かすためのコンデンサやら、電源回路やらも含めてUSD1にするとして考えます。後に述べるように電池で動かす前提であれば電子部品はほとんど省略でき、ほとんどがキバンのコストになります。コストダウンのためにはなるべく小さくするのが最も有効です。先のOLEDのサイズから考えても、大きなキバンに小さなディスプレイを取り付けるよりは小さなキバンでまとめたほうが見栄えもいいかな。いうことでOLEDが収まって上下左右ABのタクトSWが入る最低のサイズだと100x30mmぐらいかな・・・。このくらいだと鉛フリーだとかソルダレジストの色(=キバンの色)の指定などもある程度自由にしてもUSD1に十分収まります。デコレーションレーザーカッターでアクリルを切って、キバンに重ねて見栄えをよくする程度のことはやってみてもいいかな。これも、面積を小さくすることでこのくらいのコストには収めることができます。バッジということですが首からぶら下げる形式ということでストラップもこのコストに。コスト的には一番安いただのヒモかな。MPU(マイコン)Arduino開発環境が使用できるとなるとAVRマイコンを使いたくなってきます。ArduinoUnoとかに入っているATMEGA32だとかだと到底USD1にはなりません。SRAMとかになりますが、それでも高い。※ちなみに、2017/12/3時点の価格を調べると、ATMEGA32系もATMEGA8系も安いものだとUSD1前後に値下がりしてました。検討当初は高かった・・・ここらへんの壁を突破しようと中華性の謎のAVR互換マイコンを使うとかなり安くなります。SRAMしかしながら8KBytesはRTOS入れるのにはさすがに苦しいということで、AVR系を離れて候補を探しました。SRAMこうなるとSTM32F103C8が際立ってますね。Arduino開発環境も使えるようです。EEPROMが無いのはエミュレーションで何とかなるようで、これを選択することにしました。IrDAでさくっと・・・と考えましたが、IrDAは安くなかった!300円ぐらいかかるということで、IrDAを使わずにもっと安いパーツを使う前提で考えました。送信はとりあえず赤外線ダイオードでOKとして、受信はフォトダイオードとか赤外線リモコン受光素子とかでこの金額に収めたいところです。電池STM32は3.3V駆動であり、電源電圧はあまりシビアでないので単3乾電池x2本で何とかなりそうです。安い電池は8本入り¥100のダイソーの単3マンガン乾電池。計算では十分持ちますが、もしダメであった場合4~5本で¥100の単3アルカリ乾電池にしてもコスト的には十分OKです。USBシリアルHackするのに使います。Hack可能であることを前提としたい。USD1ぐらいの値段のもの、ケーブルを含めてこのくらいで。試作を進めるこの時点で4~5ヶ月ぐらい余裕がありました。テイク1で荒く作り、テイク2でいろいろ直してテイク3で量産かな・・・テイク1とりあえず、STM32のチップを買う前に素性を調べるために、マイコンボードを購入、それを使ったテイク1を作ります。BluePillというボードがUSD2~3ぐらいでありました。これを使ってコンセプト作りました。これを使ってSTM32の素性を調べて、何とか動く感じですね。https://qiita.com/nanbuwks/items/ba37f049f45378da0e2b電池の実験してみました。STM32のテストボード使って、テストプログラムを走らせっぱなしにして24時間OK。テイク2さて、テイク1に使った、USD2~3で買ってきたBluePillが使えたので、次はマイコン基板を起こそうと思ったけれど・・・いや、クリスタルとかメインとRTC用と2つあるし、コンデンサもレギュレータも一通りついていて、この値段。これならこのボードそのまま使って基板に組み入れたほうが良くない?ということで、モジュールとしてボードはんだづけボードを使うことにしました。このマイコンボードにはUSBインターフェースがついています。いうことで、トータルとしてはコストダウンできることがわかりました。BluePillはいろいろ怪しくてバグがあったりします。信頼できるところを探すとRobotDynというところがよさそうなところがありました。BluePill→RobotDynにバグ持ち→FIX保証つきBluePillよりは値段高くなるけど、十分OKかな。赤外線通信の挙動についてかなりがんばって調べています。キバンサイズ変更30x100mm程度だったものを、67x112mmに変更要望が入りました。デコレーションアクリル+ヒモのデコレーションをやめて、刺繍の入ったバンドストラップにしたいということになりました。これについては別途調達してもらうことに。コストアップ主に、キバンのサイズアップです。電源スイッチつける元々、電源スイッチはつけるつもりではありませんでした。Sleepからボタンを押すと復帰するように考えてましたが、そういやRobotDynのボードには電源LEDがついている!それではSleepの意味がないということで、これを取り外した特注をしようと交渉してましたが実現しそうになったところで時間切れ、あきらめて電源スイッチ取り付けました。製造しなきゃ!!時間があると思っていたらもう9月です。某社に依頼投げるが・・・返事が無い!!10月になって、しびれを切らして先行100台発注かけました。迫る期日11/11がイベントです。10月31日この時点で進めていた製造委託は断念しました。簡略版とし、スイッチを減らしたバージョンを作ることにしました。regardsこちらの発注先は明日と言っているのは実際には6日後だっり。タイムスケジュール電池ボックスはいろいろトラブルがあって、サンプル受け取れないまま発注したら見事に間違ったパーツが来たりしました。基本パーツは海外調達でしたが、電池ボックスは秋月電子に走って600ヶ調達しました。困った時のAITENDO上記のタイムスケジュールで遅延したタクトスイッチはAITENDOの中の人に数えてもらって3600ヶ調達!パーツ揃った!国内での手当です。Wi-Fiドングルは、ボードとは別に会場で開発環境を配布するためのWi-Fi環境を構築するためのものです。来ないのでおかしいなーと思っていたらヨドバシカメラの配送遅延でした。キャンセルして秋葉原で買ってきました。人海戦術ソフトウェアなんとか、以下の内容を間際に作成しました。間に合っていない組立ては会場ではんだづけしました。部材は用意しましたが必要実数は400ぐらい、残りは部材予備として会場に持っていくということになりました。完成、そのうち300強を頒布しています。当日残ったものは割と不良品が多く、配布したものも動作おかしかったものはその場で交換対応しました。事後に検証したところ、ほとんどはんだ不良で当日急いではんだづけしたもののNGが目立ちました。いった原因は簡単に修理できるので、それをFIXした後のカウントではパーツ不良によるもの1.5%,回復不能な組立てミス(マイコンボード逆にはんだづけしたとか)が1.5%,合計3%程度がNGでした。組立・・・知り合いなどを巻き込んで2日かかりきり!実際に使ってもらっている状況です。requestStockLike11@nanbuwksFollowIoTLTIoT縛りの勉強会です。IoTというワードがバズワードになりつつあります。いえ、IoT領域には関連する幅広い知識や技術があります。アイディアやインスピレーションも重要です。この会は個々が持っている知識や開発していることの情報共有や発信の場になります。upLoginユーザーは見つかりませんでした。