Page 1 of 1

How to make a complete Project (PYthon App, hardware interfaceing)

Posted: Sun Sep 16, 2018 7:37 am
by Ste_Trat
Hi Guys,

So far i have only used the ready to go Apps, including the impedance analyzer, fft, jupyter notebook etc. But i have seen people doing other stuff with the red pitaya like:

- pavel demin writing his own applications, which can be controlled with an Python program.
http://pavel-demin.github.io/red-pitaya-notes/mcpha/
- the guys from pyrpl: doing some awesome interferometer experiments
https://pyrpl.readthedocs.io/en/latest/ ... -gui-label
- koheron, also doing some laser experiments with the red pitaya
https://www.koheron.com/blog/2015/11/15 ... elocimeter
- The group of Thomas Witzel at MIT, doing some MRI experiments with the red pitaya. https://openmri.github.io/ocra/gui

After seeing the possibilites i would like to to my own projects like them, including:
- writing some fpga code ( vivado)
- writing some python applications/ programs (PyQt)
- interface some sensors, / slow precisions DAC´s & ADC´s

As a chemist, i have 0 experience in doing this, and i have no idea where to start.

If someone coould provide some information where to start, this would be awesome.
So far i only have experience with microcontrollers.

What i want to do:
- Building some projects for electrochemistry, like potentiostats, galvanostats, impedance analyzers.

Greets S.

Re: How to make a complete Project (PYthon App, hardware interfaceing)

Posted: Mon Sep 17, 2018 2:45 pm
by JB
Hi,

I guess that really depends on what you want to do. For some simpler stuff you could use the original image out of the box. The more modifications you want to do, the easier it is (at least IMHO) to write the stuff from scratch. Getting a clue about the FPGA image takes a while and doing it from scratch helps in understanding it. For our project [1] we took the approach of building a custom image and then creating an SCPI server written in C to interface it. This allows for adding features quite easily. The server can be interfaced with virtually any programming language including Python.

So regarding your question on where to start I would go for learning how to do your stuff in the FGPA and then build the necessary interfaces around it. Interfacing with the FPGA from C is only a matter of mapping the right memory addresses but you have to build the logic first.

Cheers
Jonas

[1] https://github.com/tknopp/RedPitayaDAQServer