I'm happy to try and help. Could you explain in a bit more detail the issue you are having?
The LEDs not flashing could still be related to the sensor issue. The firmware cycles through the LEDs one at a time and measuring the frequency of the pulses coming from the light sensor - the frequency of these pulses is proportional to the light intensity. It measures the frequency (or period) for "Samples" number of pulses and then averages to get a get final measure of the frequency (and thus light intensity). If the Arduino isn't receiving the pulses the firmware will error out and so you won't cycle through to the next color. This could explain why you aren't seeing all the LED flashes. Also, you can slow down the LED flashes by increasing the "Samples" number, e.g., increasing "Samples" to 5000 will make the firmware try to measure 5000 pulses and average the results - this will take longer so the LED will remain illuminated for longer.
We can send you a replacement sensor board, arduino shield and ribbon cable. This should cover the bases regarding the sensor unless it is an issue with the Arduino itself. I should be able to have the replacement parts in the mail to you by tomorrow.
Yes, it may indicate an issue with the sensor board, the connection to the sensor, or with the firmware.
Do you get any error when initially connecting to the Arduino? After connecting what do you see in the "Samples" textbox? is it set to 500?
If connecting to the Arduino works OK, but after trying to calibrate with the sensor in room light you get the error "unable to calibrate device: RSP_ERROR: [0, calibration failed]". This means the the Arduino is not able to read from the light sensor.
Another test which you can try is to expose the light sensor to light and then run the calibration procedure. Because the light sensor is exposed to light the calibration procedure should finish - it won't matter whether or not the LEDs flash. This will test the operation of the light sensor and firmware.
You can expose the light sensor to room light by removing the top of the colorimeter enclosure. Make sure the light sensor is directly exposed to the room light. Then try running the calibration procedure. Do you still get the RSP_ERROR? Note, this won't result is a good calibration, but it will let us know if the light sensor is working and which will help us diagnose the problem.
Check the cable connecting the light sensor board to the led board board and make sure that the orientation is correct i.e., that GND -> GND, red -> red, etc.
Are you using the standard RGB LED board or one of the custom boards with 1 LED (board B ) or 2 LEDs (board C). In the later case make sure to select the correct mode from the drop down menu.
The python interactive shell, ipython, etc. are examples of REPLs.
I'm not sure what exactly is happening here. Definitely send me the error messages you are getting.
I'm wondering if perhaps the issue has to do with with use of the Enthought Canopy environment and running the Rodeostat from a REPL with a continuously running kernel. Especially, considering that restarting the kernel and re-plugging the Rodeostat fixes the issue. A quick question. Are you re-connecting to the Rodeostat each time you run your script? i.e., creating a new Potentiostat instance each time the script is run. If so it is possible that you are unable to connect to the Rodeostat on subsequent runs because there is already an existing connection to the device. Note, the behavior can be different on different operating systems. For example on windows creating a new Potentiostat instance ( 2nd connection to the device) will fail if one already exists. Whereas it may work on linux - on my ubuntu 18.04 system I can create multiple connections to the same potentiostat from an ipython REPL. As a test to determine if this is the cause of your issue you might try running your Python programs from the command line instead of from a REPL (with a continuously running kernel). Do you still see the same inconsistency issues?
The fact that the serialport-bridge is working make me think there is no issue with your hardware. However, with the serialport-bridge a separate process (the serivalport-bridge server) is making and maintaining the USB/serial connection to the potentiostat rather than the python REPL/kernel.