Skip to content

About Spikeling

Spikeling is an open hardware + software platform that makes spiking neuron dynamics tangible and interactive for neuroscience teaching, and outreach. It combines a low-cost hardware device with a desktop GUI to run patch-clamp-style experiments, visualize activity in real time, and record data for analysis.

What Spikeling includes

  • Hardware device: a compact board designed to implement and expose spiking-neuron behaviour with accessible I/O for classroom and bench-top use.
  • Firmware: ESP32-based control and data streaming to support interactive parameter changes and real-time acquisition.
  • Desktop GUI: a cross-platform software for experiment control, plotting, and recording/export.
  • Emulator mode: a software-only mode to run activities without hardware (useful for teaching, demos, and development).
  • Fluorescence imaging simulation: converts membrane potential (Vm) into simulated calcium dynamics and fluorescence readout to connect electrophysiology with imaging concepts.

Who this is for

  • Students learning excitability, spiking, and synaptic concepts through hands-on experiments.
  • Instructors running inquiry-based labs without requiring a full electrophysiology rig.
  • Makers and researchers prototyping educational experiments, custom stimuli, or extensions.

Design principles

  • Teaching-first usability: fast setup, clear workflows, predictable outcomes.
  • Reproducibility: versioned firmware/GUI, documented protocols, and stable export formats.
  • Open science / open hardware: designs and code are intended to be inspectable, modifiable, and shareable.

How to get started

Go to Quickstart → First experiment for the shortest path from setup to a working recording.

How to cite and acknowledge

If you use Spikeling in teaching, outreach, or publications, please cite the repository and the associated paper DOI.

Get help and contribute

  • Use the project’s GitHub Issues for bug reports and feature requests.
  • See Community → How to contribute to propose improvements to hardware, firmware, GUI, or documentation.