The Digikey part number for the type-B adapter card edge connector is A101966-ND
Posts made by Will Dickson
-
RE: Screen Printed Electrode Edge Connector Part No.
-
RE: AC Voltammetry and sample rate
I don't think the method in post is going to help in the case of example as it is run in manual/direct mode rather than in firmware. In manual/direct mode the every time the output voltage is changed and the current is sampled, as the test is run, requires USB/serial communication with the host PC. In this manner the schedule for the waveform output is running PC side and the voltage is set using set_volt and the current is sample using the get_curr methods. So each sample requires two USB/Serial command/response pairs - one to set_volt and one to get_curr.. Each of these commands take some time to complete. Because of this tests run in manual /direct mode cannot achieve as high a sample rate as those implemented in firmware and run using the 'run_test' method. Unfortunately, at this time, there isn't an AC voltammetry test implement in the firmware. That said even if it was implemented in firmware the maximum sample rate would be about 1000Hz with the stock firmware - and you might be able to achieve up to around 10kHz for very short bursts with the firmware modifications in post.
Regarding the manual/direct mode AC voltammetry test you are running I'm not quite sure what is happening. I'm not able to replicate this myself - I'm guessing it might be something specific to your system. That said this manual/direct mode test can't achieve very high sample rates as the 'set_volt' and 'get_curr' method calls take some time to complete. So as you lower dt more and more eventually the actually time taken per sample will plateau as it is dominated by the time required for the 'set_volt' and 'get_curr' method calls.
One thing that is useful to look to help diagnose the timing of manual/direct mode test is the time difference between samples. You can get this by converting the list of samples returned to an array an then looking at the consecutive differences e.g.
t = scipy.array(t) dt = scipy.diff(t) plt.plot(t[1:], dt)
This is what I get for dt = 0.05 and dt = 0.005
and
Note, that in when dt parameter is set to 0.005 the measured "actual' dt between time steps much more erratic and has a median value of only 0.0143. this is due to the fact that the sampling time is being dominated by the time required for the 'set_volt' and 'get_curr' calls.
I've also attached the modified AC voltammetry script I used for generating these plots.
from __future__ import print_function from potentiostat import Potentiostat import time import sched import math import scipy import matplotlib.pyplot as plt def run_manual_test(pstat, volt_func, dt, t_stop): """ Run a voltammetric test in maunal/direct mode. pstat = potentiostat volt_func = output voltage function dt = sample time step t_stop = duration of the trial """ t = 0 cnt = 0 t_start = time.time() time_list, volt_list, curr_list = [], [], [] scheduler = sched.scheduler(time.time, time.sleep) while t < t_stop: # Set potentiostat output voltage and samle current volt = volt_func(t) pstat.set_volt(volt) curr = pstat.get_curr() print('{0:1.2f}, {1:1.2f}, {2:1.2f}'.format(t, volt, curr)) time_list.append(t) volt_list.append(volt) curr_list.append(curr) # Run scheduler to until time for the next sample (dt seconds) t_next = t_start + (cnt+1)*dt scheduler.enterabs(t_next, 1, lambda:None, ()) scheduler.run() t = time.time() - t_start cnt+=1 return time_list, volt_list, curr_list def create_sin_linear_func(t0, t1, v0, v1, amp, per): """ Returns a function which in the interval [t0,t1] is a sum of linear function and a sine wave. t0 = time at which linear transition, from v0 to v1, begins t1 = time at which linear transition, from v0 to v1, ends v0 = initial value v1 = final value amp = amplitude of superimposed sinewave per = period on superimposed sinewave """ def func(t): if t < t0: return v0 elif t < t1: dt_trans = t1-t0 v_lin = (v1-v0)*(t-t0)/dt_trans + v0 v_sin = amp*math.sin(2*math.pi*(t-t1)/per) return v_lin + v_sin else: return v1 return func if __name__ == '__main__': # Run parameters t0 = 0.0 # Transition start time (s) t1 = 8.0 # Transition stop time (s) v0 = -0.1 # Initial voltage (V) v1 = -0.9 # Final voltage (V) amp = 0.1 # Sinusoid ampliude (V) per = 0.5 # Sinusoid period (s) dt = 0.05 # Time step for setting voltage and measurements t_total = t0 + t1 # Total experiment duration volt_func = create_sin_linear_func(t0,t1,v0,v1,amp,per) # Create device object, set voltage/current ranges and run test pstat = Potentiostat('/dev/ttyACM0') pstat.set_volt_range('2V') pstat.set_curr_range('100uA') t, volt, curr = run_manual_test(pstat, volt_func, dt, t_total) t_array = scipy.array(t) dt_array = scipy.diff(t) dt_median = scipy.median(dt_array) print('median dt: {}'.format(dt_median)) # Plot results plt.figure() plt.subplot(311) plt.plot(t,volt) plt.ylabel('potential (V)') plt.title('param dt = {:0.3}, median actual dt = {:0.4}'.format(dt,dt_median)) plt.grid(True) plt.subplot(312) plt.plot(t,curr) plt.xlabel('time (s)') plt.ylabel('current (uA)') plt.grid(True) plt.subplot(313) plt.plot(t,curr) plt.plot(t_array[1:], dt_array) plt.grid(True) plt.xlabel('time (s)') plt.ylabel(r'$\Delta t$ (s)') plt.ylim(0.0, dt_array.max()*(1 + 0.1)) plt.show()
-
RE: Rodeostat FeatherWing
The Rodeostat FeatherWing does use slightly lower cost components than the Rodoestat in order to keep costs down. However, overall the accuracy of the Rodeostat FeatherWing is fairly comparable to the Rodeostat. The main differences are as follows.
The Rodeostat FeatherWing has a more limited fixed voltage output range (+/- 1.65V) whereas the Rodeostat has a four voltage ranges which can selected via software(+/- 1, 2, 5, 10V).
The Rodeostat FeatherWing comes in a single fixed current range, which is specified at time of purchase, whereas the current range for the Rodeostat can be selected via software (+/- 1, 10, 100, 1000) .
Finally, the Rodeostat is a complete USB instrument which comes preprogrammed with firmware and can be controlled from the host PC using our python library or with Webapp software. In contrast the Rodeostat FeatherWing is designed to be used as an expansion board and only works when connected to a Feather development board, such as Adafruit's Feather M4 Express, PyBadge or PyGamer. You need to write your own firmware for controlling the Rodestat FeatherWing on the Feather development board.
-
RE: Which analog section of the rodeostat that is performing the chronoamperometry
There isn't a special section of the Rodeostat hardware which is specific to chronoamperometry vs some other test such as like say cyclic voltammetry as the same hardware is exactly the same for all tests. The tests are implemented in firmware on the teensy 3.2..
-
RE: How to set curr_range to more than 1000uA?
With the default hardware and hardware there are four current ranges +/- 1, 10, 100 and 1000 uA. So +/-1000uA is the maximum allowed current range. It is possible to change this but it requires a hardware modification and firmware modification. You won't be able to set higher than 1000uA without these changes. You would need to make these modifications yourself. There are some forum notes on increasing the current range here http://forum.iorodeo.com/topic/67/increasing-current-ranges-to-detect-ma The firmware modifications can be enabled by uncommenting the the #define CURRENT_VARIANT_MILL_AMP and commenting the #define CURRENT_VARIANT_MICRO_AMP in the ps_hardware_variant_defs.h file https://github.com/iorodeo/potentiostat/blob/master/firmware/libraries/potentiostat/ps_hardware_variant_defs.h You then need to reflash the firmware.
-
RE: How to run different experiments on different channels using Multichannel Potentiostat
It is not possible to run multiple experiments, such as constant and cyclic voltammetry, simultaneously with the multiplexed version of the Rodeostat. You can use up to 7 working electrodes, but you still only have 1 reference and 1 counter electrode. So the time course of the potential between the all of the working electrodes and the reference electrode will be the same during a test.
-
RE: How to run SquareWave tests with Multichannel Potentiostat
This is not currently possible with the current firmware to do the SquareWave test with the multiplexer. Enabling this will require some fairly extensive modifications to the device firmware.
-
RE: troubleshooting new colorimeter
You might try testing to see if the there is an issue with either the LED or the sensor board.
First test the LED. Open up slider on top of the colorimeter and ensure that the sensor is exposed to light - ambient room light should be fine. Make sure there is light hitting the sensor. With the top open and light hitting the sensor start the colorimeter-basic program and try running the "Calibrate" routine. You should see the LED flash red, green, blue ,white in sequence. Note, you can increase the duration which each LED color is on by increasing the number of samples - say from 500 to 5000. If the LEDs are flashing all four colors in sequence then they are working.
Next check to see if the sensor board is working. Again to do this again you will want to expose the colorimeter sensor to ambient light. In this case it might be easier to unscrew the top of the colorimeter and pull out the sensor board. It should be connected to the Arduino by the gray ribbon cable. It doesn't need to connected to the LED by the 4-connector cable for this test. Expose the sensor to room light and run "Calibrate" in the colorimete-basic program. Then partially obstruct the light hitting the sensor with your hand or a piece of paper and run the "Measure" routine. As less light is hitting the sensor you should see nonzero absorbance values for all color channels.
-
RE: Measuring CV currents around +- 10nA
I think the +/-1uA is probably pushing it. I think you would probably want something more like a +/-50 or 100nA range. It is possible to modify the Rodeostat to reduce the current range. We have made modified versions with +/-60nA and +/-100nA ragnes. There are some notes on how to do this in the "hardware/pcbs/teensy_shield/notes" sub-directory of the project repository https://bitbucket.org/iorodeo/potentiostat See the file named "nano_amp_mods.txt". We made two versions the 2nd worked best. The changes were as follows:
-
R5 = 6.04 MOhm, C19 = 10nF capacitor (100nF range)
Digikey PN: 541-6.04MCCT-ND, and 311-1136-1-ND -
R6 = 10 MOhm, C20 = 100nF (60nF range)
Digikey PN: 541-10MAZCT-ND and Digikey 311-1361-1-ND
There is modified firmware available for these ranges you just need to enable the CURRENT_VARIANT_NANO_AMP #define in the in ps_hardware_variant_defs.h and comment out the CURRENT_VARIANT_MICRO_AMP #define. The ps_hardware_variant_defs.h is found in the firmware/libraries/potentiostat/ sub-directory.
-
-
RE: OpenSource software recommendation?
I think darktable would be a reasonable option https://www.darktable.org/
You can find a list of supported cameras here https://www.darktable.org/resources/camera-support/
There is some information of camera tethering here https://www.darktable.org/usermanual/en/tethering_chapter.html
-
RE: Problems with serialport AppImage on Linux (Rasperry Pi 3)
The current AppImage binary is built for x86-64 whereas the rpi is ARM. So in order to get this to work you will need to rebuild the serialport-bridge AppImage from source for ARM. This can be done on the raspberry pi itself. The source code for the serialport-bridge can be found here https://bitbucket.org/iorodeo/serialport-bridge You should be able to rebuild the package using "npm build". I have tried this, but I think it should work.
-
RE: Bluetooth
I've been working on firmware examples for the new featherwing. Right now all of the examples use circuitpython. I haven't put in an online repository yet. I will do this in over the next few days. I've been pretty pleased with how well circuitpython has worked for this - very easy and quick to program.
Right now all of the firmware examples just stream the data back to the host PC over USB. I am also pretty excited about trying to make some standalone devices which use feathers such as the pygamer https://www.adafruit.com/product/4242 which have a display, battery connection/charging, SD card, etc. The rodeostat featherwing can be plugged directly into the connector on back. It seems super nice for making a battery powered portable device. The pybadge is also interesting https://www.adafruit.com/product/4200. I think both are still available from Digikey.
We should have the featherwing PCBs available in about two or three weeks. There is some uncertainty on when we will receive the PCBs ... not surprisingly.
-
RE: Bluetooth
Yes with the Rodeostat the best way to add BLE is by using one of the expansion headers. This will require some custom modifications to the firmware.
Also, we will have another option available soon. We been working on a featherwing format potentiostat called the Rodeostat Featherwing. You can find some images and the design files here https://bitbucket.org/iorodeo/rodeostat_featherwing/ .
The Rodeostat Featherwing is a really stripped down version of the Rodeostat Potentionstat with a single voltage range from -1.65V to 1.65V and a single current range. We will make several current range variants such as +/-1, 10, 100, and 1000 uA.
You should be able to use the Rodeostat Featherwing with any development board which is compatible with the Adafruit feather Specification https://learn.adafruit.com/adafruit-feather/feather-specification . There are tons of different feather development boards available https://www.adafruit.com/feather and several have BLE built in such as this https://www.adafruit.com/product/4516 and this https://www.adafruit.com/product/3406. So this would be an easy way to make an embedded device with both BLE and a potentiostat.
-
RE: Installing the Multiplexer Expansion Board
Yes, you can connect the +/-15V on the rodeostat to the +/-12V on the multiplexer.
Earlier revisions of the Rodeostat used a +/-15V DC-DC converter to provide the power rails for the op amps on the Rodeostat. Whereas, more recent revisions us a +/-12V DC-DC converter. The multiplexer is labeled to match the more recent versions of the Rodeostat. However, the multiplexer will operate fine on +/-15V.
-
RE: Measuring CV currents around +- 0.00009uA
No +/- 0.00009uA (90 picoamps) is too low for the Rodeostat to measure.
-
RE: Will we get a new precompiled exe for Windows?
I've put a new version (0.6) of the colorimeter software up on the download site here https://bitbucket.org/iorodeo/colorimeter/downloads/colorimeter-v06.exe
This is an upgrade of the software from Python2 to Python3 and from PyQt4 to PyQt5. It was a pretty big upgrade and there could still be some bugs lurking. If you run into any let me know and I will try to deal with them as quickly as possible. However, supporting the Python2/PyQt4 version of the colorimeter software was starting to get to be too difficult so I really needed to upgrade.
I bundled the python software into a single executable using pyinstaller. The final executable came out kind of large (200MB) which results in a bit of a slow application launch. I'll see if I can reduce the size in the future, but I didn't want this to stand in the way of getting you something to work with.
--Will
-
RE: The colorimeter app v4 is stuck on uM but the values returned look like PPM
I've put a new version (0.6) of the colorimeter software up on the download site here https://bitbucket.org/iorodeo/colorimeter/downloads/colorimeter-v06.exe
This is an upgrade of the software from Python2 to Python3 and from PyQt4 to PyQt5. It was a pretty big upgrade and there could still be some bugs lurking. If you run into any let me know and I will try to deal with them as quickly as possible. However, supporting the Python2/PyQt4 version of the colorimeter software was starting to get to be too difficult so I really needed to upgrade.
I bundled the python software into a single executable using pyinstaller. The final executable came out kind of large (200MB) which results in a bit of a slow application launch. I'll see if I can reduce the size in the future, but I didn't want this to stand in the way of getting you something to work with.
--Will
-
RE: Getting colorimeter software up to date?
I've put a new version (0.6) of the colorimeter software up on the download site here https://bitbucket.org/iorodeo/colorimeter/downloads/colorimeter-v06.exe
This is an upgrade of the software from Python2 to Python3 and from PyQt4 to PyQt5. It was a pretty big upgrade and there could still be some bugs lurking. If you run into any let me know and I will try to deal with them as quickly as possible. However, supporting the Python2/PyQt4 version of the colorimeter software was starting to get to be too difficult so I really needed to upgrade.
I bundled the python software into a single executable using pyinstaller. The final executable came out kind of large (200MB) which results in a bit of a slow application launch. I'll see if I can reduce the size in the future, but I didn't want this to stand in the way of getting you something to work with.
--Will
-
RE: The Measurement program shut down.
@aufdenkampe @wiroon @Peteea6 @aufdenkampe
I've put a new version (0.6) of the colorimeter software up on the download site here https://bitbucket.org/iorodeo/colorimeter/downloads/colorimeter-v06.exe
This is an upgrade of the software from Python2 to Python3 and from PyQt4 to PyQt5. It was a pretty big upgrade and there could still be some bugs lurking. If you run into any let me know and I will try to deal with them as quickly as possible. However, supporting the Python2/PyQt4 version of the colorimeter software was starting to get to be too difficult so I really needed to upgrade.
I bundled the python software into a single executable using pyinstaller. The final executable came out kind of large (200MB) which results in a bit of a slow application launch. I'll see if I can reduce the size in the future, but I didn't want this to stand in the way of getting you something to work with.
--Will
-
RE: Measurement Program
@aufdenkampe @horseflesh @RRobertson
I've put a new version (0.6) of the colorimeter software up on the download site here https://bitbucket.org/iorodeo/colorimeter/downloads/colorimeter-v06.exe
This is an upgrade of the software from Python2 to Python3 and from PyQt4 to PyQt5. It was a pretty big upgrade and there could still be some bugs lurking. If you run into any let me know and I will try to deal with them as quickly as possible. However, supporting the Python2/PyQt4 version of the colorimeter software was starting to get to be too difficult so I really needed to upgrade.
I bundled the python software into a single executable using pyinstaller. The final executable came out kind of large (200MB) which results in a bit of a slow application launch. I'll see if I can reduce the size in the future, but I didn't want this to stand in the way of getting you something to work with.
--Will