NXTCam v4: Advanced Utility V2 (MacOS)

I’ve played around with my NXTCam + Arduino UNO Board to build a Lego Robot controlled by Arduino Hardware. As I changed my NXTCam to an illegal I2C address (0x00) then the NXTCam was bricked. Not a good feeling, because it costs ~$180. But… I’ve heard about a Firmware Updater. Problem: this tool is working with a NXT Brick only, but I have no NXT Brick.

IMG_20160319_143401639Then I was searching for deeper informations about the NXTCam and I’ve seen in the NXTCam schematic documents that there are some pins I could use (PICkit connector Pins to program the 16F886 PIC Chip and ISP Connector Pins to program the ATMega Chip). I bought a PICKit2 and PICKit3 Programmer ($20-30) and moved on with trial and error. And it was working 🙂 I needed 1 day to find out how it goes. The firmware I’ve found in the internet. But there was another problem… I have a Mac. I love the mac. I’m using the mac since 10 years and I’m really happy. No stress, no trouble.

The tools I needed for that are made especially for windows. AVRStudio does not exist for the Mac and the other two tools for the mac have not the same functionality. So, I’ve written one advanced Mac tool for all functions I need: 

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

NXTCamToolScreenshotTo make it easy, I’ve made a downloadable package with all needed files you can install. With this package you have full control over the NXTCam Hardware. 

How it works:

First you have to download the Package I’ve made. Then you can install the FTDI driver and the AVR Crosspack.

USB Connection: With the installed FTDI Driver you can connect the NXTCam with USB to Capture a Camera Frame, set the Color Maps and upload them into the Cam.

PIC Firmware: To program the PIC 16F886 firmware and bring back the I2C address to 0x02, you need special hardware: a PICKit2 or PICKit3 programmer. In the picture you’ve seen a white point near by the small long 6 pin PICkit connector I’ve soldered on the NXTCam board. This is a small orientation point (pin1) to connect the NXTCam with PICKit 2/3 programmer (he has a white arrow, also pin 1). After you’ve connected the devices, the NXTCam needs 5V USB power, for this you have to connect your Mac to the USB Port of the NXTCam … then you can press “Flash PIC16F886 withPICKit …” . Thats it.

IMG_20160319_144028674ATMega Firmware: If you want to compile and upload a new ATMega Firmware to use new features for your NXTCam, then you have to install the AVR Crosspack. In my downloadable package are some Sources. In the NXTCam Utility you have to select one of the Sources Directorys, then change the ATMega “Programmer” to which one you are using (I’m using the AVRISP mkII ATMega Programmer). Now you can press “Compile ATMega”. To Upload the new compiled ATMega Firmware you have to connect your ATMega Programmer with the NXTCam over the ISP Connector. As you can see in the on the picture I’ve soldered a ISP connector on the NXTCam Board. Three pins are outside (R = Reset, C = SCK, I = MISO), the other ones are inside (+ =  5V, O = MOSI, – = GND). You can not connect the ISP Connector directly, you have to make a short adapter cable with 6 wires. After you’ve made all, you have to connect your Mac to the USB Port of the NXTCam (to power the NXTCam with 5V) and then you can press “Flash ATMega .hex File”. Thats it.