For behavioural science researchers looking for free or open source stimulus delivery software for their experiments, PsychoPy is often a popular choice due to its ability to render high timing precision for stimuli needed for such experiments (Garaizar, & Vadillo, 2014; Peirce, 2009). Essentially, PsychoPy is an open-source software written in Python that allows the presentation of stimuli, the collection and analyses of associated data for a wide range of psychological research, for example, in the fields of neuroscience and cognitive psychology.
The software allows considerable amount of customisation (e.g., interface, types and formats of stimuli, text and dialog boxes options) and can be very flexible if one does coding in the Python language. The strengths and weaknesses have been discussed (e.g., Garaizar et al., 2014); particularly on whether they are suitable for stimuli that are presented for very brief moments (Garaizar et al., 2014); whether the newer versions (e.g., version 18.0) have resolved these issues (Garaizar, & Vadillo, 2014) and the potential issues of timing setups for visual stimuli for cognitive neuroscience experiments (Garaizar et al., 2014).
More information on the software can be found on the official website of PsychoPy. You can download the newest version.
Here are some resources to start you off –
Garaizar, P., & Vadillo, M. A. (2014). Accuracy and precision of visual stimulus timing in PsychoPy: no timing errors in standard usage. Plos One, 9(11), e112033. doi:10.1371/journal.pone.0112033
Garaizar, P., Vadillo, M. A., López-de-Ipiña, D., & Matute, H. (2014). Measuring software timing errors in the presentation of visual stimuli in cognitive neuroscience experiments. Plos One, 9(1), e85108. doi:10.1371/journal.pone.0085108
Peirce, J. W. (2007). PsychoPy—Psychophysics software in Python. Journal Of Neuroscience Methods, 162(1), 8-13.
Peirce, J. W. (2009). Generating stimuli for neuroscience using PsychoPy. Frontiers in neuroinformatics,2, 1-8