Extending pycontrol for compatibility with 28V hardware #126
Replies: 5 comments 4 replies
-
Hi @theonlydvr, this does look like an interesting and useful idea, it would be fantastic to have a pycontrol interface for 28V commercial operant hardware. A couple of questions:
|
Beta Was this translation helpful? Give feedback.
-
I didn't know about the d-series boards so I will give those a deeper look now! I mainly chose the raw STM32 for cost reasons but I can see about making a Pyboard D series version because it would probably simplify development. I was also somewhat concerned about part availability since it seemed like there were issues with ordering Pyboards in the past but you probably have a better understanding of that concern. I forgot about mounting holes... I did originally design this to be more similar to the layout for the current pycontrol boards but I can probably make a version that's laid out like OSCAR so it could have a nice box. I've attached PDFs of the schematics now: |
Beta Was this translation helpful? Give feedback.
-
Very cool @theonlydvr, this is a great idea! If I understand correctly, you don't plan on running pyControl firmware on the microcontroller necessarily, but would like the flexibility/option to interface with existing pyControl devices as well as other hardware from Coulbourn Instruments, Lafayette Instruments, Med Associates. Thank you for sharing, I definitely have interest in this and will be following along with your progress. Making adapters/interfaces to 28V hardware could be very useful to a lot of potential users that would want to use hardware that they already have. I know @amchagas has done some work on making adapters for Med Associates hardware (https://github.com/Sussex-Neuroscience/med-associates-bits/tree/master). It would be great if we all could work together to compile the relevant information of the pinouts for different hardware so adapters could be made. some quick notes/suggestions for your OSCARV2 PCB:
As far as the MCU selection, if you would like it to be compatible with pyControl firmware, it would be best to use one of the STF7's that is also used in the d-series boards. Although in principle the pyControl firmware could be ported to a variety of micropython compatible MCUs, the use of the pyb module (https://github.com/orgs/pyControl/discussions/120) has kept us from deviating from the official pyboard/pyboard-d-series MCUs |
Beta Was this translation helpful? Give feedback.
-
@alustig3 At the moment I don't plan on using the pyControl firmware but I could feasibly see myself using it in some capacity in the future and I think it would be good to design a system that would be compatible with it for other users. The ability to use pyControl compatible devices alongside other hardware is definitely the main priority. I had some time to finish up a new version of the PCB that uses the d-series pyboard. Since the d-series has a lot fewer DIO lines than the prior microcontroller I was using, I had to share some lines between the RJ connectors and the 28 V stacking interface. I figured it would be best to maintain compatibility/layout with your prior design so I've essentially just split all of those lines out to the stacking connector (except for the left-most RJ connectors which are fully independent). This new version will also now fit nicely in a box like the original OSCAR design. Let me know if you have any further feedback! Otherwise, I'll mockup a new stacking board and probably order a version soon. I've also attached design files in case they're useful. |
Beta Was this translation helpful? Give feedback.
-
I decided to go with an STM32F767 since they're available on JLCPCB and have enough DIO lines for both the backpack and the full RJ array. This chip does require external oscillators for the USB to work so I did have to add those as well. Let me know if you have any further recommendations! |
Beta Was this translation helpful? Give feedback.
-
I previously worked on a project to control Coulbourn Instruments chambers using an Arduino and recently had some needs to revamp the project and make it somewhat more flexible. In working on this update, I figured it could potentially be a good idea to make the new version fully compatible with pycontrol and all its modules. I haven't ordered boards yet so I wanted to share the designs here first in case any of the community members had thoughts for improvements or general suggestions/interest.
The main design approach for this board is to use the same breakout as the standard pycontrol boards but using a raw STM32H7 which also breaks out to a large array of header pins. The whole board would be powered off of a high voltage supply which would be stepped down by a buck converter to the standard 12 V used by pycontrol. The array of header pins could be interfaced with a variety of breakout boards for compatibility with different hardware e.g. Coulbourn Instruments, Lafayette Instruments, Med Associates, etc.
Top:
Bottom:
Coulbourn Breakout:
Lafayette Breakout:
I've attached Kicad files for all three boards here as well.
OSCARV2.zip
CoulbournStack.zip
LafayetteStack.zip
Beta Was this translation helpful? Give feedback.
All reactions