badenlab / spikeling Goto Github PK
View Code? Open in Web Editor NEWA hardware implementation of the Izhikevich model of a spiking neuron
Home Page: https://open-labware.net/projects/spikeling/
License: MIT License
A hardware implementation of the Izhikevich model of a spiking neuron
Home Page: https://open-labware.net/projects/spikeling/
License: MIT License
Hello!
We are reaching out because we would love to have your project listed on Open Neuroscience, and also share information about this project:
Open Neuroscience is a community run project, where we are curating and highlighting open source projects related to neurosciences!
Briefly, we have a website where short descritptions about projects are listed, with links to the projects themselves, their authors, together with images and other links.
Once a new entry is made, we make a quick check for spam, and publish it.
Once published, we make people aware of the new entry by Twitter and a Facebook group.
To add information about their project, developers only need to fill out this form
In the form, people can add subfields and tags to their entries, so that projects are filterable and searchable on the website!
The reason why we have the form system is that it makes it open for everyone to contribute to the website and allows developers themselves to describe their projects!
Also, there are so many amazing projects coming out in Neurosciences that it would be impossible for us to keep track and log them all!
Please get in touch if you have any questions or would like to collaborate!
Hi,
ordered myself some Spikeling PCBs from Elecrow last week using the Gerbers you provide for download. Today they wrote saying there's some holes that have both a round and a square shape and which one of those should they use - see the image they sent:
Looking at the photo you provide it seems to me like that's the mechanical/GND connectors for dials 1-4, so I told them it's a round hole (that's what my eyes think they see there).
Anyways, even if it was the wrong choice, it'll probably be easy enough to work around it. Still wanted to let you know. Thank you for a very interesting project, looking forward to soldering it!
Cheers,
Jonathan
I am making some Spikelings for the Neurophysiology lab that I am teaching for the spring. I made two to test and they are awesome!
To scale up, I got the pin-equivalent Nano Every that was much cheaper from Arduino in a pack of 6.
I am getting an error that I do not understand how to troubleshoot myself (see below).
It seems like there are some differences in some of the code needed for this Processor.
(for example, in FlyPi, I had to change "B00001111" to "0B00001111" in the matrix pattern specification to get it to work).
The following seems like a more complicated modificaiton:
Do you have any suggestion?
Thank you!
Arduino: 1.8.15 (Mac OS X), Board: "Arduino Nano Every, ATMEGA328"
In file included from /Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/Spikeling.ino:10:0:
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h: In function 'void ADC_init()':
SettingsArduino.h:90:2: error: 'ADMUX' was not declared in this scope
ADMUX = _BV(REFS0); // Reference voltage = Vcc (5V)
^~~~~
In file included from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/io.h:99:0,
from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/pgmspace.h:90,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/String.h:31,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/IPAddress.h:24,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/ArduinoAPI.h:30,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/Arduino.h:23,
from sketch/Spikeling.ino.cpp:1:
SettingsArduino.h:90:16: error: 'REFS0' was not declared in this scope
ADMUX = _BV(REFS0); // Reference voltage = Vcc (5V)
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:90:16: note: suggested alternative: 'VREF_t'
SettingsArduino.h:91:7: error: 'ADCSRA' was not declared in this scope
sbi(ADCSRA,ADPS2); // Prescaler 1 MHz
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:91:3: note: in expansion of macro 'sbi'
sbi(ADCSRA,ADPS2); // Prescaler 1 MHz
^~~
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:91:7: note: suggested alternative: 'ADC_t'
sbi(ADCSRA,ADPS2); // Prescaler 1 MHz
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:91:3: note: in expansion of macro 'sbi'
sbi(ADCSRA,ADPS2); // Prescaler 1 MHz
^~~
SettingsArduino.h:91:14: error: 'ADPS2' was not declared in this scope
sbi(ADCSRA,ADPS2); // Prescaler 1 MHz
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:91:3: note: in expansion of macro 'sbi'
sbi(ADCSRA,ADPS2); // Prescaler 1 MHz
^~~
SettingsArduino.h:92:14: error: 'ADPS1' was not declared in this scope
cbi(ADCSRA,ADPS1);
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:92:3: note: in expansion of macro 'cbi'
cbi(ADCSRA,ADPS1);
^~~
SettingsArduino.h:93:14: error: 'ADPS0' was not declared in this scope
cbi(ADCSRA,ADPS0);
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:93:3: note: in expansion of macro 'cbi'
cbi(ADCSRA,ADPS0);
^~~
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:93:14: note: suggested alternative: 'ADC0'
cbi(ADCSRA,ADPS0);
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:93:3: note: in expansion of macro 'cbi'
cbi(ADCSRA,ADPS0);
^~~
SettingsArduino.h:94:16: error: 'ADEN' was not declared in this scope
ADCSRA |= _BV(ADEN); // Enable ADC
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:94:16: note: suggested alternative: 'ADC0'
In file included from /Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/Spikeling.ino:10:0:
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h: In function 'uint16_t ADC_read(uint8_t)':
SettingsArduino.h:103:2: error: 'ADMUX' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^~~~~
In file included from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/io.h:99:0,
from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/pgmspace.h:90,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/String.h:31,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/IPAddress.h:24,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/ArduinoAPI.h:30,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/Arduino.h:23,
from sketch/Spikeling.ino.cpp:1:
SettingsArduino.h:103:18: error: 'MUX3' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^
SettingsArduino.h:103:30: error: 'MUX2' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^
SettingsArduino.h:103:42: error: 'MUX1' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^
SettingsArduino.h:103:54: error: 'MUX0' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^
In file included from /Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/Spikeling.ino:10:0:
SettingsArduino.h:105:2: error: 'ADCSRA' was not declared in this scope
ADCSRA |= _BV(ADSC);
^~~~~~
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:105:2: note: suggested alternative: 'ADC_t'
ADCSRA |= _BV(ADSC);
^~~~~~
ADC_t
In file included from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/io.h:99:0,
from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/pgmspace.h:90,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/String.h:31,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/IPAddress.h:24,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/ArduinoAPI.h:30,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/Arduino.h:23,
from sketch/Spikeling.ino.cpp:1:
SettingsArduino.h:105:16: error: 'ADSC' was not declared in this scope
ADCSRA |= _BV(ADSC);
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:105:16: note: suggested alternative: 'DDRC'
In file included from /Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/Spikeling.ino:10:0:
SettingsArduino.h:107:10: error: 'ADC' was not declared in this scope
return ADC;
^~~
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:107:10: note: suggested alternative: 'ADC0'
return ADC;
^~~
ADC0
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h: In function 'void initializeHardware()':
SettingsArduino.h:129:3: error: 'TCCR2B' was not declared in this scope
TCCR2B = TCCR2B & 0b11111000 | 0x01; // sets PWM pins 3 and 11 (timer 2) to 31250 Hz
^~~~~~
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:129:3: note: suggested alternative: 'TCB2'
TCCR2B = TCCR2B & 0b11111000 | 0x01; // sets PWM pins 3 and 11 (timer 2) to 31250 Hz
^~~~~~
TCB2
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h: In function 'void housekeeping()':
SettingsArduino.h:147:5: error: 'ADMUX' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^~~~~
In file included from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/io.h:99:0,
from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/pgmspace.h:90,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/String.h:31,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/IPAddress.h:24,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/ArduinoAPI.h:30,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/Arduino.h:23,
from sketch/Spikeling.ino.cpp:1:
SettingsArduino.h:147:21: error: 'MUX3' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^
SettingsArduino.h:147:33: error: 'MUX2' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^
SettingsArduino.h:147:45: error: 'MUX1' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^
SettingsArduino.h:147:57: error: 'MUX0' was not declared in this scope
ADMUX &= ~(_BV(MUX3) | _BV(MUX2) | _BV(MUX1) | _BV(MUX0));
^
In file included from /Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/Spikeling.ino:10:0:
SettingsArduino.h:149:5: error: 'ADCSRA' was not declared in this scope
ADCSRA |= _BV(ADSC);
^~~~~~
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:149:5: note: suggested alternative: 'ADC_t'
ADCSRA |= _BV(ADSC);
^~~~~~
ADC_t
In file included from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/io.h:99:0,
from /Users/kperks/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/avr/include/avr/pgmspace.h:90,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/String.h:31,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/IPAddress.h:24,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/api/ArduinoAPI.h:30,
from /Users/kperks/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.7/cores/arduino/Arduino.h:23,
from sketch/Spikeling.ino.cpp:1:
SettingsArduino.h:149:19: error: 'ADSC' was not declared in this scope
ADCSRA |= _BV(ADSC);
^
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:149:19: note: suggested alternative: 'DDRC'
In file included from /Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/Spikeling.ino:10:0:
SettingsArduino.h:151:32: error: 'ADC' was not declared in this scope
ADCData[iADCData[i] -A0] = ADC;
^~~
/Users/kperks/OneDrive - wesleyan.edu/Teaching/Neurophysiology/Spikeling/Arduino/Spikeling/SettingsArduino.h:151:32: note: suggested alternative: 'ADC0'
ADCData[iADCData[i] -A0] = ADC;
^~~
ADC0
exit status 1
'ADMUX' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.