Releases: AllenNeuralDynamics/harp.device.lickety-split
V0.9.1
💧💧💧🐁 ⎍⎍⎍ Release Notes
- Hardware: V0.9.0
- Firmware: V0.9.1
All major features have been completed and validated, which include:
- 2 switches, 4 modes
- Configurable Amplitude: 20mVpp or 2Vpp
- Configurable Frequency: 100KHz or 125KHz
- DIP switches on the device set the starting state of the above modes, but software commands can override this state (useful for "no-software" configuration.)
- 4th order filters on 100KHz and 125KHz signal chain.
- Time of lick detection on the core it was detected is dispatched with the Lick Event. (Prior implementation timestamped time at which the lick event was dispatched).
- Significantly reduced crosstalk with 2 lick detectors spaced side-by-side on the 0.02mVpp setting and each set to different frequencies.
Tests
- switching between .02mV and 2Vpp works
- switching between 100KHz and 125KHz works.
- Check that side-by-side lick detectors do not introduce crosstalk when they are on different frequencies and 0.02mVpp amplitudes
Hardware Design Files
KiCAD Source files are available in the main repository. Exported Gerbers, position files, and an exported BOM of this version are available below. (Regenerating these files can be done from within KiCAD.)
Fabricating the Board
Prototypes for this revision were quick-turned through PCBFabExpress. For more economical low quantity purchases, we recommend PCBWay.
- Dimensions: 80mm wide x 50mm tall
- Layers: 4
- top: signal
- in1: gnd
- in2: pwr
- bottom: signal
- Holes:
- plated: 260
- unplated: 8
- Slots? --> yes
For assembly (board + components placed), see the attached Bill-of-Materials.
Additional board design constraints can be found using PCBNew (or see the screenshot below):
Flashing the Firmware
Plug the device into a PC with the BOOTSEL button pushed down. After plugging in the device, release the BOOTSEL button. The device will appear as a USB Flash drive. Drag-and-drop the white_rabbit.uf2
file into the mass storage device, and it will disappear.
Power-cycle the device by unplugging it and plugging it back in. The device is now ready to go with new firmware.
Happy hacking!
Lickety Split Board Prototype
This is a first draft of the end-to-end PCBA prototype with preliminary firmware to detect mouse licks.
This setup contains the following subsystems on one PCBA:
- the analog front end
- sine wave generation
- all power supplies
- ADS7049-based analog input
- RP2040
- isolated USBC
- 5V TTL output
- ground lug connection
The firmware is preliminary and produces a lick detection output on the TTL output (right-angle SMA connector). This has been demonstrated to occur within 1[ms] with simple finger-tap testing.