計劃摘要

若YouTube無法觀賞,優酷網站連接影片


  • 【5/9 更新】DuinoDump燒錄測試範例

優酷網站連接影片


  • 【5/11更新]新增Arduino開發板支持型號

新增支持的Arduino開發板型號如下:

Arduino Yun Mini

Arduino Mega 128

Arduino Leonardo ETH

Arduino Mini(ATmega168)

Arduino Mini(ATmega328)


  • [5/12更新]新增支持Arduino開發板型號

更新 新增支持Arduino開發板型號

Arduino BT(ATmega168)

Arduino BT(ATmega328)

Arduino LilyPad USB

Arduino LilyPad (Atmega168)

Arduino LilyPad (Atmega328)

Arduino NG/ old(Atmega8)

Arduino NG/ old(Atmega168)


未來將陸續支持新型號及不同的IC,以及增加第三方廠家之開發版的支持


  • [6/4更新]新增第三方開發板支持型號

新增支持第三方開發板型號

Adafruit Flora

Adafruit Bluefruit Micro

Adafruit Gemma 8MHz

Adafruit Feather 32u4

Adafruit Trinket 8MHz

Adafruit Trinket 16MHz

Adafruit Metro

Pro Trinket 5V/16MHz (USB)

Pro Trinket 3V/12MHz (USB)

Pro Trinket 5V/16MHz (FTDI)

Pro Trinket 3V/12MHz (FTDI)

Adafruit 32u4 Breakout

Adafruit Circuit Playground

MagjorCore ATmega162 Ext clock

MagjorCore ATmega162 Int clock

MagjorCore ATmega8515 Ext clock

MagjorCore ATmega8515 8MHz Int clock

MagjorCore ATmega8515 1MHz Int clock


新增支持IC:

ATmega16A

ATmega162/ATmega162V

ATmega8515/ATmega8515L

[6/21更新]大幅度修改電腦及韌體程式

經朋友及網友提出一些非常好的功能建議,但需要花費額外許多的時間及精力,為了讓產品的性價比及功能更加的提升,考慮再三,還是做了非常大幅度的修改,幾乎可以說整個群眾募資的時間都花在了修改程式上,而沒怎麼去做推廣的工作,可能也因如此導致目前成績如此”慘烈"吧,不過能讓消費者得到更實惠的產品,這種代價是值得的,為賣產品而賣產品不會是一個好的產品.

此次的更新無論在電腦端還是硬體的韌體都幾乎改動很大,同樣的消費能得到更好的產品功能相信是消費者樂見的吧,這也是開發者的一個堅持,為做好產品而做產品而不是為了賣出產品而做產品.

燒錄程式方面,重新調整佈局,讓狀態及功能更加清楚,讓使用者使用更為方便且更了解IC的程式安排,包括:

1. 整個燒錄程式佈局更加合理及明朗,既可簡單操作也可複雜設定,摸蝦兼洗褲,兩不耽誤.

2. 新增FLASH MAP,開發者一眼就能明白目前程式在IC內部的安排以及分布情況,而在進階模式(AVR MCU Sel)更能直觀的直接點擊,設定開機後起始地址,而不需要費力的去設置IC Fuse.

3. 新增FLASH程式佔用比例條及詳細分區(APP及BOOT)的比例條,開發者可以馬上知道目前程式在FLASH記憶體內佔用的大小及評估程式佔據空間比例.讓開發者在心中有個更清楚的認知程式或資料在IC內部的狀況,進而可回頭修改程式,讓程式更臻完善.

4. 新增所有程式及資料所佔燒錄器內部儲存空間的比例及占用狀況.讓開發者可了解實際存入燒錄器的資料大小.

5. 原有程式只能設定一組IC的檔案,靈活度不夠,為此新增到了共可包含四組不同IC的設定.開發者可同時把四種IC的資料一次儲存到燒錄器,這樣一來,一次上傳可測試四種程式或是可燒錄到不同的開發板或IC上.

6. 新增燒錄時序設定:因ATMEL IC特性,燒錄時序會受到IC本身所使用的系統時序影響,所以若考慮到實際IC有可能使用到的頻率,就必須跟著調整燒錄的時序,否則有可能無法連線或是產生錯誤.若無法確定,可選擇自動時序讓燒錄器自動做判別.

最新的燒錄程式示範影片:


【正文】

     DuinoDump -- 支持Arduino開發板的off-line下載/燒錄工具,有別於坊間的燒錄器僅能接電腦燒錄,一鍵下載/燒錄,操作容易,也是測試、商用控制板生產的好幫手,上傳程式到燒錄器後,即可脫離電腦運作(off-line功能),無論是新手/高手都有適合的操作方式.只需輕輕一按即可完成程式及資料的燒錄.

什麼人最需要DuinoDump?

  • 希望自製Arduino開發板.
  • 常有獨立運作設備需求.
  • 無法一直連接電腦的環境.
  • 希望快速方便的測試不同參數程式反應.
  • 快速交換彼此不同創作的DIY愛好者.
  • 需將Arduino做成商用產品.

     全世界正夯的電子DIY開發板Arduino使用年齡層已到了小學都在學習、應用的地步,Arduino能如此迅速走紅全世界,無非是不用學習許多專業的電子知識,無痛的進入到電子DIY的世界裡,按圖施工,保證成功,很輕鬆的就能做出讓人驚奇的應用,難怪能夠一舉風靡全世界.

為何要設計DuinoDump?

     從網絡接觸到Arduino之後,就被它迅速走紅的狀態所迷惑.許多電子高手認為它是玩具而不削一顧,作者從最早的4/8-bits MCU到目前最熱門的32/64 bits ARM也在這個行業浸淫多年了,同樣也有這種疑問,認為這只是給初學者練手的東西罷了.

     但看到全世界各地的能手利用Arduino做出了許多有趣的應用,像四軸飛行器3D印表機智慧型機器人可穿戴設備等等,作者的看法就改觀了,因為沒有一個人能了解各種不同的知識,就算高手也有他所不了解的領域,全世界利用Arduino應用的東西五花八門,千奇百怪,其中也包含了許多作者以前從沒接觸過的應用,而這些應用都公開了她們的設計,讓不管是初學者還是個中高手都能從中獲益匪淺.

     這讓作者眼前一亮,開始了對Arduino的研究與應用,源於作者多年的MCU經驗,一直思考如何讓Arduino在使用和應用上更方便,因此DuinoDump便應運而生.

     於2012年就開始了DuinoDump的設計,但由於環境與工作的關係,一直到現在才有機會將它逐步完成.近五年的時間(可見得Arduino相當經的起時間的考驗),Arduino又推出不少新開發板,當然DuinoDump的最新設計也把這些新加入的成員考慮在內(*目前僅支持ATMEL 8-Bits MCU),並增加了許多新的功能.


開發過程DuinoDump樣品板


Arduino科普

    在提及DuinoDump特點前,不得不先科普一下Arduino的知識.Arduino是一套可與電腦連線的MCU開發板,配合電腦端的整合開發介面程式(IDE).

     MCU是一顆小而微的電腦.想像一下,人就像是MCU里的運算執行單元,MCU I/O就像是人的手腳,我們在白板上寫上需要做的工作日程表,然後按照白板上安排的工作日程有條不紊的執行,而這個白板就像是MCU裡的程式記憶體,而且這個白板可以隨時更新來達到工作日程的改變.

     創客們可隨時修改程式並更新到開發板上.Arduino設計初衷就是為教學目的,發展至今,不但本身擁有大量的參考程式,並且有許多的愛好者分享她們的設計公佈於,由簡至繁,無所不包,甚至如何連接零件,都有專用的程式以圖形方式清清楚楚的展現出來,只要有興趣,即使對電子一竅不通的人都可以達到『按圖施工,保證成功』的夢幻境界.

     套句廣告詞”從8歲到80歲都可使用”,也是由於這麼容易入門的特點,現在甚至許多小學都已開始用它來教學,並正式納入課程.由於Arduino開源的特點,第三方開發出更容易使用的圖形開發介面,讓Arduino可以用圖形方式創作程式,S4A(Scratch for Arduino)mblock(也是由Scratch修改而來的)等開發介面.


    有別於傳統的Arduino文字介面,圖形式創作更拉低了Arduino的上手門檻,所以市上看到許多以這些程式創作的開發板也許看起來不像Arduino,因Arduino鼓勵人們自行修改,所以也衍生了許多看不像Arduino,其實骨子裡就是Arduino的相容開發板.


Arduino開發板的架構

Arduino開發板看似有些複雜,一堆的零組件,但其主要組成是:

  1. 電腦通信線路(圖中1紅框部份)
  2. 主MCU(圖中4黃框部份)

通信線路(1)是電腦和主MCU的溝通橋樑,電腦端編寫好程式需燒錄時,就透過通信線路(1)傳送給MCU(4),MCU內部會將傳送過來的程式燒錄到內部FLASH空間,如下圖所示:

Arduino實際燒錄時資料流


事實上MCU支持三種燒錄方式:

  1. IAP(In-Application Programming)在線應用程式燒錄.
  2. ISP/ICSP(In-Circuit Serial Programming)在線線上燒錄.
  3. HVPP(High-Voltage Parallel Programming)高壓燒錄.


IAP就是Arduino所採用的方式,但使用IAP需要一些條件:

  • 需連接電腦將資料透過USB下載.
  • 開發板需要一套與電腦通信的線路(目前使用USB).
  • 主MCU必須預先燒錄bootloader與通信線路溝通.

簡單來說:

  1. IAP (Arduino使用方式)   -- 需MCU配合,主MCU必須要事先燒錄bootloader程式.
  2. ICSP(DuinoDump使用方式) -- 純硬體方式,無須MCU程式介入.
  3. HVPP -- 純硬體方式,無須MCU程式介入,但需要眾多IO腳位.


Arduino主MCU運作流程:                              

  1.  1.開機上電後先跳到bootloader執行
  2.  2.偵測是否有命令傳來.若有則執行命令.
  3.  3.若命令是執行燒錄程式,則把接收的資料燒錄到程式記憶體空間.
  4.  4.等待一段時間,若都沒有命令傳來,則跳至使用者程式執行.
  5.  5.若已在使用者程式中執行,這時電腦有命令傳送,會先讓通信線路發出重置信號讓控制板MCU進入復位狀態,然後回到步驟1.

     以上具體的描述了硬體實際燒錄程式時的流程及主MCU內部程式的實際流程.事實上Arduino也預留了ICSP的燒錄方式,也就是圖中編號(2)(3)的6腳ICSP排針插座部份,(2)是通信線路的ICSP(其實通信控制IC也是用了一顆MCU,所以也是需要預燒通信程式),(3)是主MCU的ICSP,而DuinoDump使用ICSP的方式燒錄程式.也就是說使用DuinoDump就可以不需要通信線路bootloader.


DuinoDump能做到什麼?

1.節省程式空間:

    Arduino完成程式後,bootloader可有可無,而Arduino使用的主MCU程式空間不大,以UNO版本為例:有32KB程式空間,但MCU一個指令就必須耗掉兩個BYTE,也就是說程式碼只能有16KB,而目前大部分都使用高階程式設計(Arduino就是如此),對於程式空間的損耗更大,就像大城市的空間一樣,空間寶貴,錙銖必較,為了與電腦通信又要騰出bootloader的空間,雖然它佔程式空間比例不大,但對本就窘迫的MCU程式空間來說,更是顯的礙眼.

     DuinoDump採用ICSP純硬體方式燒錄,完全無需MCU軟體介入,所以原來的bootloader就可以不需要了,把所有程式空間留給開發者使用.當然若有需要也可隨時再重新燒錄回bootloader.


2.燒錄環境不受限:

     DuinoDump擁有off-line離線燒錄的能力,在業界普遍來說只有高階燒錄器才擁有此項設計,而且價格不斐.離開電腦的控制,要達到off-line(離線)燒錄,燒錄器本身就必須主動的管理並掌控所有燒錄過程,其工作量遠不是一般燒錄器所能比擬的.

     但考慮到為了讓創客能更方便靈活的應用,所以多花了許多的時間與精神,才將此功能達成.off-line燒錄擴大了Arduino開發板的應用環境,尤其像一些應用直接就把開發板放在設備上,沒法拆拆拔拔,DuinoDumpoff-line能力就發揮了它的靈活性,往ICSP一插,上電後按個鍵就可把程式更新了.


3.節省零件及PCB空間:

自制Arduino


     由於Arduino的高度開源性,創客中的一些高手或是廠商可能自製開發板,而現代的東西都標榜短小精幹,而使用DuinoDump時就能夠把通信部份的線路省掉,只需留下ICSP的接線,不但能夠節省零件及成本,也得到精簡線路的好處.

4.輕鬆燒錄FLASH、BootLoader、EEPROM、FUSE:

也可燒錄通信線路的MCU


    在MCU內部除了FLASH程式記憶空間外,其實還有EEPROM可存儲資料與一些特殊的記憶空間FUSE,而在Arduino的應用中,雖然程式可讀寫EEPROM,但卻沒有可以預先燒錄資料到EEPROM的使用方法,若有此類需求,在Arduino的使用中就會變的很麻煩,bootloader也是如此,需要自己想辦法去預燒錄資料到EEPROM.但使用DuinoDump燒錄EEPROM資料就和燒錄FLASH程式一樣的輕鬆,甚至包括bootloader、FUSE等,DuinoDump同樣只需一個按鍵就自動把所有需要的資料燒入MCU.

5.新手/高手操控自如:

     就像汽車的自動/手動排擋,DuinoDump有如一台可手自動排擋的全能汽車,可輕鬆的使用自動擋操控,想享受操控的快感時也可隨時進入進階手動模式.


Arduino各種不同型號開發板

     DuinoDump專門為Arduino設計,只需選擇所使用的控制板型號,就可自動的設定一些系統參數,像系統頻率來源、啟動時間、看門狗等等.對於新手來說這些無非像是無字天書般的難以理解,而這些參數非常的重要,設置錯誤或是設置不會對整個系統的運作產生不良的影響,甚至影響系統的穩定性.這些參數對於初入門或是一知半解的Arduino新手是一個很頭痛的問題.

     DuinoDump專門針對Arduino不同型號的開發板自動設置了這些必要的系統參數,完全無須去了解這些系統參數,當然對於了解更多或是高手需要自行去調整這些系統參數,DuinoDump也可以讓使用者自行去設置這些參數,但設置這些參數要非常小心,設置不好輕則系統不穩,重則無法再行燒錄!所以若非對MCU非常熟悉,不建議自行去調整這些系統參數.


6.一鍵燒錄,輕鬆自如:


     不需要繁瑣的操作,只需要指定要燒錄的程式碼、資料,上傳至DuinoDump之後,插上目標開發板的ICSP插座,輕輕一按,就自動把所有的程式、資料、系統設置驗證燒錄一次搞定.這對團體創作尤為方便,只需上傳一次資料,就把可以為每個相同的硬體燒入程式碼.尤其Arduino開發板有一個特點,如果同一台電腦插入N個Arduino開發板,那電腦將會列舉出N個USB設備,也就是說電腦中將會多出N個usb com-port.


DuinoDump參數:

  • 電源需求:5V.
  • 信號準位:3.3V,5V開發板可直插,5V以下至3V開發板,可將DuinoDump與目標板分開供電即可使用.
  • 支持大部分使用ATMEL 8-Bit MCU的Arduino型號開發板.
  • 基於MCU本身特性問題,進階模式調整系統參數有風險,不合適的參數可能造成MCU無法再燒錄,若非熟悉MCU特性,請謹慎操作.
  • 操作軟體目前只支持windows系統.
  • 產品面積約與SD卡相當,攜帶方便.


套件內容:

所有價格不含稅,免運費(限台灣本島),離島或海外國家運費需自行負擔.


每組套件內容:

  1. DuinoDump一個
  2. USB傳輸線一條
  3. 說明書一份


Q & A

Q: DuinoDump只能用於Arduino嗎?

A: DuinoDump是專為Arduino量身打造的燒錄工具,非常適合在使用Arduino的場合中使用.實際上燒錄的對象是Arduino所使用的MCU,廣義來說,只要使用的是我們支持的ATMEL 8-BIT MCU型號都能使用(可在進階模式中選擇).

Q: Arduino所有型號的開發版都能使用嗎?

A: Arduino開發板使用的MCU型號越來越雜,包含多家公司的不同型號,而不同公司的MCU燒錄方式都不儘相同,目前僅支持使用ATMEL 8-BIT MCU,例如UNO等非常經典的流行型號.

Q: DuinoDump支持哪些Arduino開發板?

AArduino UNOArduino Yun、Arduino Duemilanove/Diecimila、Arduino Nano、Arduino Mega 250、Arduino Mega ADK、Arduino Leonardo、Arduino Micro、Arduino Esplora、Arduino Mini、Arduino Ethernet、Arduino Fio、Arduino BT、LilyPad Arduino、Arduino Pro/Pro Mini、Arduino NG、Arduino Robot Control、Arduino Robot Motor、Arduino Gemma等(部分供電線路可能需做調整配合).


案件進度:

  • 2012,12 ==> DuinoDump PCB製作測試


  • 2013,1  ==> 電腦程式介面初步完成測試
  • 2013,3  ==> 第二次PCB修改送樣
  • 2013,5  ==> 修改線路bug
  • 2013,7  ==> 修正電腦程式bug


  • 2016,10 ==> 重起計畫,繼續完成未竟部份
  • 2016,11 ==> 第三次PCB修改送樣
  • 2016,12 ==> flyingv群眾募資籌備,起草文案及相關資料


  • 2017,4  ==> flyingv募資申請
  • 2017,5  ==> 電腦程式及PCB最後確認.
  • 2017,6  ==> 準備投產相關事宜.
  • 2017,9  ==> 開始寄送回饋產品.


歡迎對我們產品的建議問題諮詢或業務合作提案,請透過『互動』或e-mail: hyper320@hotmail.com聯繫,謝謝!

部落格空間 也會不定時更新內容.

Risks and Challenges

  • 1.DuinoDump主要功能業經實物驗證成功,並歷經多次樣品板測試,產品基本無風險. 2.目前只剩下穩定度測試與電氣特性細節的修飾,包括修正PCB layout合理佈局與零件安排、後序生產環節. 3.因產品還未經正式生產,募資成功後,為顧及生產及測試交貨環節可能產生之未知變數,遂將交貨時間訂為三個月.若生產順利,可提前交貨. 4.PCB和程式畫面皆有可能再作修正!