Using only the USB to I2C connector to program BlinkM
Can I use only a USB to I2C connector to program the BlinkM? Or do I need an arduino or microcontroller?
I do not even know what a USB to I2C really is but I'd like to avoid using an arduino or microcontroller. I want to just use the PC to program the BlinkM
I do not even know what a USB to I2C really is but I'd like to avoid using an arduino or microcontroller. I want to just use the PC to program the BlinkM
1
person has this question
I have this question, too!
Tell me when someone answers.
The more people who ask this question, the more it gets noticed.
The more people who ask this question, the more it gets noticed.
The best answer from the company
-
Hi Mike,
You should be able to use any USB-to-I2C converter to program BlinkMs. In fact, when setting up the Arduino board to program BlinkMs, what you're really doing is turning it into a USB-to-I2C adapter. The only reason why we recommend using the Arduino board is that it's 3-5x cheaper than the USB-to-I2C adapters I was able to find on the net. If you know of one comparably priced, I'll test it out and write up how to use it with BlinkMs.
But if you want to get started right now, don't let the fact that Arduino is a general purpose microcontroller platform dissuade you. Several people use an Arduino exclusively for playing with BlinkMs and haven't done anything else with it. To them it is just a cheap USB-to-I2C converter that they had to "configure" once. :)
The company and 2 other people say
this answers the question
Create a customer community for your own organization
Plans starting at $19/month
-
Inappropriate?Hi Mike,
You should be able to use any USB-to-I2C converter to program BlinkMs. In fact, when setting up the Arduino board to program BlinkMs, what you're really doing is turning it into a USB-to-I2C adapter. The only reason why we recommend using the Arduino board is that it's 3-5x cheaper than the USB-to-I2C adapters I was able to find on the net. If you know of one comparably priced, I'll test it out and write up how to use it with BlinkMs.
But if you want to get started right now, don't let the fact that Arduino is a general purpose microcontroller platform dissuade you. Several people use an Arduino exclusively for playing with BlinkMs and haven't done anything else with it. To them it is just a cheap USB-to-I2C converter that they had to "configure" once. :)
The company and 2 other people say
this answers the question
-
Inappropriate?Oh and USB and I2C are both protocols/languages for sending data over a cable. But they do things differently, so an adapter is needed to bridge the two. USB is a relatively complex protocol, suited for when one of the devices is a computer, who can manage all the "conversations" with devices like mice and flash drives. I2C is a really simple protocol made for little tiny devices to talk amongst themselves.
-
Inappropriate?I would like to use the Devantech USB-I2C adapter to control a BlinkM. This is a small $41 adapter based on the FTDI FT323R USB chip.
I am having trouble controlling the BlinkM and I am wondering if anyone else has successfully used this part with a BlinkM.
-- Chip
Acroname Robotics
Technical Details -
Inappropriate?ChipD, I am about to do the exact same setup, a BlinkM controlled by the Devantech I2C adapter.. Have you any updates on your status?
-
Inappropriate?Okay, so I love the BlinkM device, and have been able to get it set up using LabVIEW and a programmable FPGA device. My original intent was to control it via USB from Devantech's USB-I2C device, but I have learned some new things (after purchasing and playing with the USB-I2C do-higgy for a while now).
The Devantech USB-I2C will not output 4 bytes to an unaddressed register (just a blanket command to a particular address), instead it only writes a single byte. I feel like I've wasted some time, but I learned something so oh-well.
Does anybody have a suggestion for a particular Arduino model to act as a USB-I2C link?
A
-
Inappropriate?Hi Aaron,
Yeah that Deveantech interface is kinda weird. Looks like it works great for registered-based devices like EEPROMs. But there's a lot of I2C devices out there (like BlinkM) that use a more RS-232-style of communication.
It might be you can use the "I2C_AD1" command and treat the "address" as the command byte (e.g. the "Stop Script" command 'o' is one address, the "Fade to RGB" command "c" is another address) -
Inappropriate?Thanks todbot for your response (and attention). I actually have already tried this very method after my previous post, but appear to be running into some physical problem too. I hooked up an oscilloscope to my SCL and SDA lines, and it appears the data line is being held low for some reason by the BlinkM device. If I take off the BlinkM the bus returns to the expected (high) voltage. There are pull-up resistors on the Devantech USB-I2C device, so I'm not sure what's going on.
Sometimes the SCL line can be held low by a slave device to inhibit commands, but I cannot figure a reason why the SDA line would be held low. Any ideas? If none, I might have a wiring issue (which I will examine in just a few minutes). -
Inappropriate?Hi Aaron,
That is odd. I don't know what's going on either. I've not encountered a BlinkM (or MaxM) holding SDA low. My understanding is an I2C slave will hold SDA low to indicate an I2C address match and then will release it when the I2C master releases SCL. (This is the ACKNOWLEDGE state in the I2C protocol). And all other times during a write to an I2C slave, the slave doesn't touch SDA.
One thing to try is to reset the BlinkM (power cycling it) right before you try doing an I2C transaction. This will at least minimize the case of the BlinkM being in some unknown state in its I2C stack.
Do you have an Arduino to experiment with the BlinkM, to use as a point of comparison? -
Inappropriate?Ya, I didn't get a chance to examine my fixture yesterday but I'll take a look at it today.
And funny you should mention an Arduino, I actually received an Arduino board in the mail yesterday, so I'll try driving it with that and see what happens.
One question: when using the Devantech USB-I2C device I have been writing to the I2C address 0x00, since I am not certain what the address of the BlinkM Device is (0x09?). Anyway, this is a broadcast address that the BlinkM device SHOULD pick up, right? I have written to the BlinkM via this address before using a very expensive piece of configurable FPGA equipment so I know the BlinkM device works (which I guess verifies it's a problem with my fixture not the equipment).
Okay, I'm done rambling and I'm off to work and hopefully can experiment with this some over lunch.
Loading Profile...



EMPLOYEE

