Skip to content
Batdetector on Teensy3.6 (Based on original-code from Frank (DD4WH))
C C++
Branch: master
Clone or download
Latest commit 9856d6d Aug 23, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
documentation Add files via upload Aug 1, 2019
lib Rename to readme Aug 23, 2019
pre_compiled_hex Delete corbeefirmware_v096.hex Aug 23, 2019 Update Aug 23, 2019
effect_granular.cpp code improvements/ cleanup Aug 23, 2018
effect_granular.h code improvements/ cleanup Aug 23, 2018
main.cpp v096 correction Aug 23, 2019


Batdetector on Teensy3.6 (Based on original-code from Frank (DD4WH) )

Hardware: Edwin (PE1WF) has developed a great PCB to build these detectors. More details can be found at

* v0.95 (20190823) MAJOR CHANGES !!! CURRENTLY ON HOLD

  • compacted the main menu to have all less often changed settings in a separate SETTINGS page

  • setting of both time and date can be done from the new settings page

  • updated startup from EEprom stored settings (more settings stored (see settings page))

  • improved spectrum-graph functionality (peak-hold now visibible, was present for many versions but invisible)

  • made as many as possible user-changeable options cyclic (if the user tries to rotate the encoder above the highest value automatically go to the lowest value)

  • time was updating still on screen every minute during recording, now has been removed

  • added a routine to monitor VIN (or anything else) voltage on A3 (pin17)

  • read unique SN (allows identifying different detectors, one for testing with additional functions)

latest changes
v0.94 important changes:

  • Lower menu format on screen now follows the alignment of the encoders/buttons on Edwins PCB. So the encoders control the lower line on bottom part of the screen(SETTINGS) and the buttons control the upper line on the bottom of the screen (MODES).
  • EEprom saving was not always when asked to restart in the user mode
  • when no SD card was mounted the Left Encodermenu was not cyclic (jumped back to volume)
  • when no sD card was mounted user could still set the LEFT button to RECORD or PLAY

minor changes:

  • store the detectormode when starting a recording and restore after stopping a recording

bug repair: in previous versions the recording system was not checking if a filename allready existed but only checked the number of files on the SD. If a file was removed (for instance from a PC) this would lead to overwriting existing files.
In the new setup the new filenumber for a recording will be checked against highest filenumber in the allready stored files.

v0.93 minor changes:

  • changing sample_rate was not stored properly in previous versions
  • added system-voltage in startup-display (for future battery managment)


  • further work on the setup to record/play files NEEDS TESTING
  • filename display shortened so no overlap with other menu
  • filename selection (when playing) is now cyclic
    To go to the latest recording just turn counterclockwise instead of stepping through all previous
  • rightside menu allows setting of samplerate (in all modes)
  • during playing of files microphones will be switched off
  • maximum number of files to be stored 999 (BXXX_RRR.RAW) XXX=0..999 RRR=samplerate in Khz

intermediate test version !! -this hopefully solves the issues with replay of recorded files that were present since v0.84

IMPORTANT: updates since version 0.84 have problems with replaying files from the SD-card. Recording works fine. From V0.91 working again


  • eeprom version 0001
  • indicator for low-high detectionrange in graph for AUTO_TE
  • menu updated and more uniform (all choosen values shown in white next to menusetting also for TE_LOW/TE_SPD)
  • added counter to keep track of EEprom saving (still reset to 0 for each EEprom version)
  • added text to display after pressing PRESET USER to save to EEprom

(source and hex)
-EEprom saving added (initial test)
-Menu expanded with

  • Preset: Default (as programmed) or User (saved at that moment)
  • TE_speed : replay speed when using Auto_TimeExpansion (20 means 1/20th of original speed)
  • TE_low : lowest frequency to check for possible signalpeaks that will trigger the TimeExpansion

-changes by WMXZ to use latest uSDFS library and not be depending on ff_utils and SD.h

v0.85 (23 06 2019)
-changed the usage of seconds2tm from the ff_utils library,
created ff_utils_copy library that is independent of other uSDFS libraries.

This is a work in progress project, the code and setup is still changing. If you have a specific request or otherwise questions please share them.

Several specific libraries have been added to this repository, in de directory lib you can find them.

I am using a non-default programming setup for Teensy, that means that the code might not work in other environments.

Setup @2019-06-22

Operating system Linux Mint 19.1

Visual Code 1.35.1
-PlatformIO Home 2.2.0·Core 3.6.7
platform = teensy
board = teensy36
framework = arduino

You can’t perform that action at this time.