Programmer's Reference
The mercurial repository change log and sources

Guides and Tutorials

Help for the total beginner
What to read first.
Suggestions for how to develop models
Important practical hints about model development for anyone who is starting to work with NEURON.
Construction and Use of Models: Part 1. Elementary Tools
A good beginner's tutorial. Introduces some of NEURON's basic GUI tools.
Import3D tutorials
A convenient GUI tool for converting Eutectic, Neurolucida, and swc morphometric data into NEURON models. This used to be ../docs/import3d/main.html
CellBuilder tutorials
How to use the CellBuilder to construct stylized (stick figure) models, manage the biophysical properties of anatomically complex models, and specify variation of biophysical properties as functions of position (distance from a point etc.).
Channel Builder tutorials
A GUI tool for creating computationally efficient models of ligand- and voltage-gated channels.
Network Builder tutorials
Suggestion: use the Network Builder to make a toy net. Then click on its "Hoc file" button to create a file that you can mine for reusable code (e.g. so you can build a much bigger net algorithmically).
Scripting NEURON with Python
Includes: an introduction to Python, how to work with NEURON through Python, how to develop a model from a single cell through a network.
Examples of using the Python interpreter to work with hoc/nrniv objects
zip file from Sam Neymotin's presentation in the NEURON course at the 2014 OCNS meeting.
Reaction-diffusion tutorials
For models that include chemical signals.
"ModelView: Compact display of parameters for NEURON models."
This presentation of the ModelView tool is almost a tutorial. From our poster at the 2004 HBP Spring Meeting.
Multiple Run Fitter tutorials
NEURON's built-in optimization tool.
Randomness in NEURON models
Discussions of potential uses of randomness in modeling, and practical examples of how to do it.
Dealing with simulations that generate a lot of data
Shows how to break "output-heavy" simulations into shorter segments.
Also check Courses
for links to information about upcoming NEURON courses, and hands-on exercises from a previous NEURON Summer Course.
And from our friends:
NEURON Tutorial
by Andrew Gillies and David Sterratt of Edinburgh University. Starts at "bog level" and, in five installments, has you adding new biophysical mechanisms and building networks.
NEURON Tutoral from the Obidos 2004 course
by Michael Rudolph of Unite de Neurosciences Integratives et Computationnelles (UNIC) at CNRS. Two big PDFs, plus and an even bigger "examples" file that is full of code and data.
US download site:
European download site:
NEURON with Python
A very nice set of instructions and examples for installing and using NEURON with Python, by Andrew Davison at UNIC.

Key papers about NEURON

"The NEURON simulation environment" (overviewforhbtnn2e.pdf)
by Hines & Carnevale. Preprint of an "executive summary" published as
Hines, M.L. and Carnevale, N.T. The NEURON simulation environment. In: The Handbook of Brain Theory and Neural Networks, 2nd ed, edited by M.A. Arbib. Cambridge, MA: MIT Press, 2003, pp. 769-773.
Read this to learn why you should use NEURON.
"The NEURON simulation environment"
An earlier paper with the same title, expanded from our first article in Neural Computation. Full of useful information for NEURON newbies.
"NEURON: a tool for neuroscientists"
by Hines & Carnevale. Powerful strategies for improving spatiotemporal accuracy while preserving computational efficiency.
1. The d_lambda criterion, a simple but very effective method for specifying the spatial grid.
2. Variable order / variable timestep integration with CVODE.
"Expanding NEURON's repertoire of mechanisms with NMODL"
by Hines & Carnevale.
"Efficient discrete event simulation of spiking neurons in NEURON"
a PDF of our poster from the 2002 SFN Meeting that describes the three classes of integrate-and-fire ("artificial") neuron models that are built into NEURON.
"Translating network models to parallel hardware in NEURON"
by Hines and Carnevale. This paper should be read by anyone who intends to develop a network model, regardless of whether they intend to use serial or parallel hardware to run simulations.


NEURON has undergone many revisions since these were written, mostly to add new features or make existing ones easier to use or more efficient. Only rarely have these changes "broken" anything. If you see something that is seriously at variance with the current version of NEURON, please check the more recent documents. We would also appreciate it if you could bring such items to our attention, so we can correct them.
User's Manual
by John W. Moore. Examples of how to use many of NEURON's older GUI tools.
Reference Manual
by Michael L. Hines