NXTCam v4: Advanced Utility V2 (MacOS)

Ich habe ein bisschen mit meiner NXTCam + Arduino UNO Board gespielt, um ein Lego Roboter zu bauen, den man mit Arduino Hardware steuern kann. Als ich dann meiner NXTCam eine illegale I2C Adresse zugewiesen hatte (0x00), war die NXTCam tod. Kein gutes Gefühl, weil die Cam  ~$180 kostete. Doch… Ich habe von einem Firmware Updater gehört. Problem: das Tool funktioniert nur in Verbindung mit einem NXT Stein, den ich nicht besitze.

IMG_20160319_143401639Dann habe ich etwas tiefgründiger nach Informationen über die NXTCam gesucht und in den NXTCam Schaltplänen entdeckt, dass da ein paar Pins sind die ich nutzen könnte  (PICkit Verbindungs-Pins um den 16F886 PIC Chip zu programmieren und ISP Connector Pins um den ATMega Chip zu programmieren). Ich kaufte mir den PICKit2 und den PICKit3 Programmer ($20-30), und versuchte mich im trial and error. Es funktionierte 🙂 Einen Tag habe ich benötigt um herauszufinden wie es funktioniert. Die Firmware dazu habe ich im Internet gefunden. Doch da war noch ein anderes Problem … ich habe einen Mac. Ich liebe den Mac. Ich nutze den Mac seit 10 Jahren und bin wirklich glücklich damit. Kein Stress, keine Probleme.

Die Tools die ich dazu benötigte sind jedoch speziell für Windows. AVRStudio gibt es nicht für den Mac und die zwei Tools die es für den Mac gibt, besitzen nicht die selbe Funktionalität. Aus diesen Gründen habe ich ein Erweitertes Tool erstellt, für alle Funktionen die ich benötigte:

  • PIC Programmer
  • ATMega Compiler und Programmer
  • NXTCam Color Maps Writer

NXTCamToolScreenshotUm es so einfach wie möglich zu machen, habe ich ein downloadbares Paket mit allen notwendigen Dateien zusammengeschnürt, deren einzelne Elemente man dann installieren kann. Mit diesem Paket hat man volle Kontrolle über die NXTCam Hardware.

Wie es funktioniert:

Zuerst muss man das von mir zusammengestellte Paket herunterladen. Dann kann man den FTDI Treiber und das AVR Crosspack installieren.

USB Verbindung: Mit dem installierten FTDI Treiber kann man die NXTCam mit USB verbinden und so ein Bild aufnehmen und laden, die Color Maps einstellen und in die Cam übertragen. 

PIC Firmware: Um die PIC 16F886 Firmware zu übertragen und die I2C Adresse damit auf 0x02 zurück zu stellen, benötigt man spezielle Hardware: ein PICKit2 oder PICKit3 Programmer. Auf dem Bild sieht man einen kleinen weissen Punkt in der Nähe des 6 poligen PICkit Anschlussadapter, den ich direkt auf das NXTCam Board gelötet habe. Das ist ein kleiner Orientierungspunkt (Pin 1), um die NXTCam mit dem PICKit 2/3 Programmer zu verbinden (dieser hat einen weissen Pfeil, das ist ebenfalls Pin1). Nachdem man die Geräte verbunden hat, benötigt die NXTCam noch 5V über den USB Port, dazu verbindet man den Mac über USB mit der NXTCam und drückt dann “Flash PIC16F886 with PICKit …”. Das wars.

IMG_20160319_144028674ATMega Firmware: Um eine ATMega Firmware mit neuen Features zu kompilieren und auf das Gerät zu übertragen, muss man zuerst das AVR Crosspack installeren. In meinem herunterladbarem Paket sind ein paar Quellcode-Verzeichnisse enthalten. Eines dieser Verzeichnisse muss man dann im NXTCam Utility auswählen und dann den ATMega “Programmer” einstellen den man verwendet (ich verwende den AVRISP mkII ATMega Programmer). Anschliessend einfach “Compile ATMega” drücken. Um die neu kompilierte ATMega Firmware in die Cam hochzuladen, muss man zunächst den ATMega Programmer mit der NXTCam über den ISP Connector verbinden. Wie man auf dem Bild sehen kann, habe ich einen ISP Connector auf das NXTCam Board gelötet. Drei Pins sind aussen (R = Reset, C = SCK, I = MISO), die Anderen sind innen (+ =  5V, O = MOSI, – = GND). Man kann jedoch den ISP Connector nicht direkt mit dem Programmer verbinden, sondern muss einen kleinen 6 poligen Adapter aus kurzen Brückenleitungen bauen. Ist man damit fertig, wird der Mac über USB mit der NXTCam verbunden (wird als Stromversorgung benötigt), jetzt “Flash ATMega .hex File” anklicken, fertig.

 

NXTCamAdvancedUtility V2

NXTCamAdvancedUtility V2
NXTCamAdvancedUtility.zip
Version: 2
215.7 MiB
261 Downloads
Details...