Difference between revisions of "User:Bertrik Sikken"

From RevSpace
Jump to navigation Jump to search
m
(Cleanup)
(179 intermediate revisions by the same user not shown)
Line 29: Line 29:
 
This is a list of ideas I'm thinking about, but have not fully developed into an actual project yet.
 
This is a list of ideas I'm thinking about, but have not fully developed into an actual project yet.
  
=== investigate quadcopter remote control ===
+
Zo'n ding 3d printen: https://twitter.com/MeOwOser/status/1250879531830915073
It turns out that the typical little cheap Chinese quadcopters use a remote-control protocol that can be easily recreated using the famous NRF24L01+ chip (< $1 and easily connected to an arduino).
 
This gives nice opportunity to either:
 
# transmit our own control signal, to control a quadcopter from something different than the manual remote control, e.g. automatic control
 
# receive the control signal, so the manual remote control that comes with a quadcopter can be used to steer other things (like a model car).
 
  
I haven't found a good overview of quadcopter remote control protocol specifications yet, there seem to be plenty examples of "here-is-the-code" however.
+
=== 3d glasses ===
 +
I got some 2nd hand 3d glasses, they look exactly like these ones:
 +
* GH-15 https://www.dhgate.com/product/g15-dlp-3d-active-shutter-glasses-96-144hz/213983026.html
 +
* Sintron https://www.amazon.de/Sintron-Kompatibel-TDG-BT500A-TDG-BT400A-Deutschland/dp/B015PCWMZ8
 +
The common name appears to be "G15-DLP".
  
=== TTN gateway info panel ===
+
A tear-down here:
Problem: if you're running a gateway for the-things-network (TTN), you can see packets coming in by following the packet forwarder log file, but it gives very limited and rather cryptic information.
+
* https://blog.danman.eu/3d-shutter-glasses-teardown/
For example, you don't see which node sent a message, so you have no idea how many unique nodes are sending data through your gateway.
 
  
This idea is about creating a simple info panel that you can run directly on the TTN gateway itself.
+
Interesting documents:
The plan is to write this in Python.
+
* http://cmst.curtin.edu.au/wp-content/uploads/sites/4/2016/05/2012-28-woods-helliwell-cross-compatibility_of_shutter_glasses.pdf
A typical gateway probably already runs some sort of Linux distribution which has the python binaries available or allows them to be installed easily.
+
* http://cmst.curtin.edu.au/local/docs/pubs/2011-17-woods-helliwell-3D-Sync-IR.pdf
Using Python also means that you don't need a compiler/Makefile/etc.
 
  
Basic operation of this utility:
+
Someone claims he got something to work with some hacks:
* the gateway software is configured to send its data not just to TTN but also to the gateway info panel utility (running on "localhost"), using the poly packet forwarder
+
https://www.avsforum.com/threads/how-i-got-cheap-dlp-link-glasses-to-work-great.1887145/
* the utility listens on a specific UDP port, accepting data according to [https://github.com/Lora-net/packet_forwarder/blob/master/PROTOCOL.TXT the Semtech v1 protocol].
 
* it parses the plain JSON metadata (modulation parameters, like frequency, LoRa mode, SF, BW, etc.)
 
* it also parses the payload bytes, part of the payload is not encrypted, so we can extract the message type, device address and sequence number (FCNT).
 
* all incoming packets are shown in a table-like view in the console using the [https://en.wikipedia.org/wiki/Ncurses ncurses] library.
 
  
Initially, the utility will just keep the packets in memory, so it just shows things that happened since you last started it.
+
=== Waterniveaumeter ===
Later, we can decide to store the data, for example in a database.
+
Op verschillende plekken in Gouda staat er water in de kruipruimte van huizen van bewoners.
 +
Kunnen we dat meten en inzichtelijk maken, voor bewoners, op een kaart bijvoorbeeld?
  
The information shown can be just the incoming messages in order of arrival, one line per message.
+
Idee:
Alternatively it could show a kind of node-centric view, one line per device with info only on the latest message from that node.
+
* in de kruipruimte plaats je een module die waterhoogte kan meten
 +
* de module bestaat uit een microcontroller en een afstandsmeter, die de waterhoogte bepaalt
 +
* de gegevens worden via WiFi doorgestuurd naar een centraal punt, waar de data wordt verwerkt en gevisualiseerd
 +
* op een webpagina kan je een overzicht zien van alle meters die online zijn
 +
* de meting wordt gedaan door bijv. een laser-afstandsmeter of een ultrasoon-afstandsmeter
 +
* voeding? lastig, hoe krijg je 5v naar een potentieel natte plek?
 +
* kosten? verwachting < E 40,-
 +
 
 +
In Gouda wordt op veel verschillende plekken de grondwaterstand gemeten, zie https://opendata.munisense.net/portal/wareco-water2/group/581/Gouda-KJ38A , maar:
 +
* geen visualisatie op de kaart, je ziet alleen de meetlokaties d.m.v. een icoontje!
 +
* geen meetpunten in Gouda noord!
 +
 
 +
=== Online bat detector ===
 +
Idea: use an ultrasonic microphone, connect it to a WebSDR, so people can tune into bat sounds remotely.
 +
 
 +
=== Blood pressure meter hacking ===
 +
Apparently some blood pressure monitors can be hacked.
 +
 
 +
My goal is to be able to extract the list of the last 100 measurements somehow, so you don't have to type them over manually.
 +
Either using bluetooth (serial), or by adding something like an ESP8266 to sniff internally an make it available over WiFi.
 +
 
 +
* bluetooth GATT profile for blood pressure monitors https://www.bluetooth.com/specifications/gatt/
 +
* hacking the UART on an Omron RS8 : https://blog.adafruit.com/2016/05/26/hacking-uart-to-an-omron-rs8-blood-pressure-sphygmomanometer/
 +
* https://hackaday.com/2015/10/11/push-blood-pressure-data-to-the-cloud-via-esp8266/
 +
* hacking a blood pressure monitor by monitoring i2c traffic to the EEPOM: https://www.edusteinhorst.com/hacking-a-blood-pressure-monitor/
 +
 
 +
=== Raspberry pi airplane tracking ===
 +
Apparently now you can also participate in MLAT tracking of planes that don't transmit GPS coordinates themselves.
 +
 
 +
=== APRS gateway ===
 +
http://qso365.co.uk/2017/02/a-guide-to-setting-up-an-aprs-receive-only-igate-using-a-raspberry-pi-and-an-rtl-sdr-dongle/
 +
 
 +
=== JQ6500 ===
 +
Small inexpensive modules that play mp3 from an internal flash. Could be nice for a custom door bell for example.
 +
 
 +
More info at:
 +
* https://www.elecfreaks.com/wiki/index.php?title=JQ6500_Mini_MP3_Module
 +
* https://sparks.gogo.co.nz/jq6500/index.html
 +
 
 +
=== FPGA ===
 +
Cheap FPGA boards and nice applications:
 +
* https://bitbucket.org/appanp/artificial-neural-networks/wiki/Home/FPGAsAndNeuralNets.md#!sbcs-and-iot-boards
 +
* [http://nl.aliexpress.com/item/Altera-fpga-cycloneii-ep2c5t144-learning-board-development-board/872520721.html inexpensive ep2c5t144 board]
 +
* http://land-boards.com/blwiki/index.php?title=Cyclone_II_EP2C5_Mini_Dev_Board
 +
 
 +
=== Neural networks on low-end hardware ===
 +
Investigate if you can run a powerful neural network on relatively low-end/cheap/low-power hardware. For example a Raspberry pi.
 +
A RPI runs Linux, run python, just like some common neural frameworks.
 +
Do we need hardware acceleration from the GPU and does the RPI GPU support that?
 +
 
 +
Read list:
 +
* https://www.zdnet.com/pictures/raspberry-pi-meets-ai-the-projects-that-put-machine-learning-on-the-35-board/
 +
* https://www.pyimagesearch.com/2017/12/18/keras-deep-learning-raspberry-pi/
 +
* https://www.indiegogo.com/projects/sipeed-maix-the-world-first-risc-v-64-ai-module#/
 +
* https://ai.intel.com/intel-neural-compute-stick-2-smarter-faster-plug-and-play-ai-at-the-edge/
 +
 
 +
Bought a MaixPy:
 +
* see https://maixpy.sipeed.com/en/
 +
* see https://www.youtube.com/watch?v=KResVuAIMb4
 +
* see http://educ8s.tv/sipeed-m1-dock-review/
 +
* interesting? https://www.instructables.com/id/Transfer-Learning-With-Sipeed-MaiX-and-Arduino-IDE/
  
 
=== mini word clock in dutch ===
 
=== mini word clock in dutch ===
Line 66: Line 121:
 
See [https://plus.google.com/103276078656203197145/posts/7ki7rpJzk3a here for a demo] running on an arduino nano.
 
See [https://plus.google.com/103276078656203197145/posts/7ki7rpJzk3a here for a demo] running on an arduino nano.
  
The plan is to run this from an ESP8266 instead of an arduino nano, so it can get the time from the internet using NTP. The time offset will be fixed to Dutch local time, i.e. GMT+1 taking into account summer time. Summer time will be determined using the general rule "from 2:00 local time on the last sunday of March until 3:00 local time on the last sunday of October".
+
The plan is to run this from an ESP8266 instead of an arduino nano, so it can get the time from the internet using NTP.
 +
Andreas Spiess demonstrated on youtube how existing libraries on the ESP8266 can be used to do the local time (including summer-time) calculations.
  
=== Inexpensive CO<sub>2</sub> sensor ===
+
=== Cypress PSOC5 ===
TODO: move this to its own page.
+
Play with the Cypress PSOC5 platform, which combines a ARM Cortex-m3 processor with configurable analog blocks. I'm thinking of combining it with a 24 GHz doppler radar sensor, to process the signal and present it as a USB audio device (stereo signal contains I and Q parts). See [[RadarOnAStick]].
  
Status: works as a basic MQTT sensor, see topic "bertrik/co2" on test.mosquitto.org
+
=== Simple Doppler motion sensors ===
 +
You can find basic doppler microwave motion sensors based on a single transistor, with some weird traces on the PCB very cheaply, for example
 +
* https://www.aliexpress.com/item/RCWL-0516-microwave-radar-sensor-module-Human-body-induction-switch-module-Intelligent-sensor/32708877914.html
  
See [https://github.com/bertrik/mhz19 this github repo] for code.
+
Typically the microwave part of these consists of a single transistor with a rectangular area on one leg and a meandering trace (with lots of vias to the other side) on the other leg.
 +
The output of this circuit seems to go into a chip very much like the ones used in PIR sensors.
  
Use the [http://www.winsen-sensor.com/products/ndir-co2-sensor/mh-z19.html MH-Z19] sensor module (about E22,-) to measure the CO<sub>2</sub> concentration and an ESP8266 (like a WeMos D1 mini board) to push the measurement data over the internet to a MQTT server. Possibly I can use [https://www.esp8266.nu/index.php/ESPEasy ESPEasy] which makes configuration easy (through a web interface), I'd have to add support for this particular sensor -> ESPEasy seems pretty complicated to get changes accepted, has existing bugs that are not addressed, probably better to write my own custom code.  
+
See also https://github.com/jdesbonnet/RCWL-0516 for a reverse engineering effort of these doppler radar modules.
  
=== Understanding LoRa ===
+
=== Bare-bones Arduino bat detector ===
Ultimate goal is to create an SDR algorithm to decode LoRa without the need for dedicated LoRa hardware. This could be useful when tracking HABs transmitting LoRa for example. See [[DecodingLora]] and [[EncodingLora]].
+
This is an idea for a very basic heterodyne bat detector, doing signal processing on an Arduino, requiring minimal external components.
  
=== Cypress PSOC5 ===
+
The basic principle of a heterodyne detector is that it just mixes (multiplies) the audio signal with a square wave, low-pass filters the result and puts it on a speaker.
Play with the Cypress PSOC5 platform, which combines a ARM Cortex-m3 processor with configurable analog blocks. I'm thinking of combining it with a 24 GHz doppler radar sensor, to process the signal and present it as a USB audio device (stereo signal contains I and Q parts). See [[RadarOnAStick]].
 
  
=== Android HabAlert app ===
+
Multiplying with a square wave can also be considered to be just alternatively inverting and not-inverting the signal.
see [[HabAlertApp]]
+
So if you sample an ultrasonic signal at twice the rate you want to multiply, you can just subtract odd samples from even samples and low-pass filter that.
  
=== Inexpensive ultrasonic player ===
+
How this can be done in an AVR Arduino:
Bat netting results can be improved by playing back ultrasonic bat calls near the net.
+
* sample the audio signal at twice the detection frequency, say 84 kHz. An AVR should just be able to do that.
This project idea is about creating an inexpensive ultrasonic player by cleverly combining inexpensive sub-modules available already on the market.  
+
* apply a 1-pole IIR high-pass filter to remove DC bias, this takes one shift instruction and one addition.
 +
* multiply by the detection frequency, this means just inverting the odd samples.
 +
* low-pass filter the signal, this can be done using a moving average filter, say 16 samples long (first null at 5.25 kHz). Theoretically, averaging 16 samples should result in two bits extra accuracy. This operation takes some storage, an addition and a subtraction.
 +
* output the filtered signal using PWM, possibly at the same rate that we are sampling the input audio.
  
The ultrasonic player consists basically of the following parts:
+
The microphone can be a 40 kHz piezo transducer, to keep it cheap (but also limited to 40 kHz).
# a device to store the bat calls (in wav-format) and playing them back in a particular sequence from storage, like a laptop, tablet or raspberry pi
+
The pre-amplifier can be a single transistor with some resistors around it, providing about 40x gain.
# a device to convert the digital audio into an analog audio signal, like a USB "sound card"
+
The arduino does the signal processing (mixing, low-pass filter) to shift the bat audio to human range.
# a device to amplify the analog audio signal
+
The speaker amplifier can just be a simple two transistor push-pull circuit, since the output from the Arduino is digital/PWM.
# a device to reproduce the analog audio signal into actual ultrasonic audio, i.e. a speaker
 
# a case to put everything together
 
# a power supply
 
  
Ultrasonic audio from bats can range to well over 100 kHz.
+
==== AVR Arduino sample rate ====
Sampling theory says that to reproduce a bandwidth of B Hz, you need a sampling rate of at least 2*B.
+
As far as I understand, the ADC clock can be set to 1 MHz.
 +
Conversion takes 13 cycles, so this can be a problem to reach a sample rate above 80 kHz.
  
An USB sound card supporting 96 kHz playback would allow ultrasonic audio up to 48 kHz to be reproduced, possibly enough for use in a bat lure.
+
=== GPS repeater ===
A possible inexpensive candidate is [http://nl.aliexpress.com/item/SA9027-ES9023-24BIT-96KHZ-Asynchronous-USB-DAC-HIFI-Sound-Decoder-Case/32552457818.html this ES9023 based USB sound card], costs about E22.-
+
This idea is about experimenting with a cheap GPS repeater built out of an "active" GPS antenna.
  
To amplify the audio signal, I'm thinking of
+
The problem this solves is that often indoors you have no GPS reception, but you like to have some signal to experiment with (e.g. a LoRa tracker).
[http://nl.aliexpress.com/item/Power-Supply-TDA2030-Audio-Amplifier-Board-Module-TDA2030A-6-12V-Single/32652837701.html this TDA2030 based amplifier board], costs about E1,-
 
The TDA2030 is an analog amplifier block. It takes (a minimum) of 12V and can output up to 14W. The datasheet claims it has a power bandwidth of 10 Hz to 140 kHz.
 
  
As a speaker, I'm thinking of this tweeter [http://www.parts-express.com/peerless-by-tymphany-xt25sc90-04-1-dual-ring-radiator-tweeter--264-1014 Vifa/Tymphany XT25SC90-04], costs about E22,-
+
Plan:
 +
* get a cheap active GPS antenna from AliExpress (some as cheap as E2,- !), most just mention one frequency (1575.42 MHz)
 +
* get a bias-T circuit to feed it the supply voltage (e.g. from a KOPPLA) and pass the RF signal onto an indoor antenna
 +
* the indoor antenna may be as simple as a 1/4 wave coax dipole: center conductor sticking up (about 47 mm), coax shielding is divided into 3 of 4 ground radials sticking sideways
 +
* build it and test it with a smart phone, tracker hardware, etc.
  
As a case, I could create a simple box using our laser cutter, with some tie wraps to hold the parts inside the box.
+
See also:
 +
* [https://electronics.stackexchange.com/a/156488 Reradiating antena for GPS]
  
Power supply:
+
=== Indoor radar speed sign ===
* the USB audio card uses USB 5V.
+
This idea about placing a simple IQ-output radar sensor indoors in the hacker space, do some basic signal processing on the IQ doppler signal and determine movement speed and direction, then display this on a LED display.
* the amplifier needs 12V
+
This is of no immediate practical use other than fun, but helps me to gain a bit more experience with microwave radar sensors and eventually build a more effective setup for detecting/counting bats flying in and out of a roost.
Perhaps we can use a switching power supply to create the 12V from the USB 5V?
 
It would be nice if everything could be fed off the USB 5V.
 
Possible candidate: [http://nl.aliexpress.com/item/2PCS-USB-DC-5V-To-12V-Step-up-Module-Converter-2-1x5-5mm-Male-Connector/32703956336.html 5V-to-12V step-up cable], costs about E3,-
 
  
Another [https://nl.aliexpress.com/item/5W-USB-5V-to-12V-DC-DC-Converter-Step-Up-Boost-Module-for-LED-Moter-Wireless/32326312565.html USB 5V to 12V converter], switching at 1MHz.
+
Implement this on a PSOC5 platform or on the STM32 using Arduino.

Revision as of 22:30, 8 September 2020

User info Bertrik Sikken
Name Bertrik Sikken
Nick bertrik
Tagline heb ik niet

You can reach me at bertrik@sikken.nl or bertrik@gmail.com

Studied Electrical Engineering at Twente University.


Main interests:

  • reverse-engineering things (USB stuff, mp3 players), working on http://rockbox.org
  • studying bats and making electronics for recording/listening to bat sounds
  • radio stuff, in particular software-defined radio


Projects I work(ed) on (refresh):

 Project Status
FrontDoorDisplayAbandoned
HabAlertAppAbandoned
ISSOAbandoned
IbmPosDisplayAbandoned
Pico TrackersAbandoned
RadarOnAStickAbandoned
WifiLampAbandoned
A4PaperDispenserCompleted
BuildStatusTrafficLightCompleted
CJMCU-811Completed
CO2MeterHackingCompleted
CrawlSpaceSensorCompleted
DecodingLoraCompleted
DustSensorCompleted
ElectronicLoadCompleted
EspNowSkipCompleted
IntakefancontrollerCompleted
LichtKrantCompleted
LoRaGatewayCompleted
LoraBatBoxCompleted
LoraWanNodeCompleted
MHZ19Completed
MainsFrequencyCompleted
MiniSTM32F103ZECompleted
PowerLightCompleted
RC522HackingCompleted
RevRadioCompleted
STM32Completed
Secure iButtonCompleted
SoilHumiditySensorCompleted
StofAnanasCompleted
StofradarCompleted
TTNHABBridgeCompleted
VINDRIKTNINGCompleted
ZigbeeCoordinatorCompleted
Sensor-data-bridgeCompleted
AntiLostIn progress
AudioMothIn progress
CubeCellIn progress
EspAudioSensorIn progress
Esp32camIn progress
FMCWRadarIn progress
LoRa-E5-miniIn progress
LoraWanDustSensorIn progress
MainsFrequency2.0In progress
Msi2500SDRIn progress
Sim7020In progress
StereoBatRecorderIn progress
UltrasonicPlayerIn progress
EspNowAudioInitializing
... further results


Project ideas

This is a list of ideas I'm thinking about, but have not fully developed into an actual project yet.

Zo'n ding 3d printen: https://twitter.com/MeOwOser/status/1250879531830915073

3d glasses

I got some 2nd hand 3d glasses, they look exactly like these ones:

The common name appears to be "G15-DLP".

A tear-down here:

Interesting documents:

Someone claims he got something to work with some hacks: https://www.avsforum.com/threads/how-i-got-cheap-dlp-link-glasses-to-work-great.1887145/

Waterniveaumeter

Op verschillende plekken in Gouda staat er water in de kruipruimte van huizen van bewoners. Kunnen we dat meten en inzichtelijk maken, voor bewoners, op een kaart bijvoorbeeld?

Idee:

  • in de kruipruimte plaats je een module die waterhoogte kan meten
  • de module bestaat uit een microcontroller en een afstandsmeter, die de waterhoogte bepaalt
  • de gegevens worden via WiFi doorgestuurd naar een centraal punt, waar de data wordt verwerkt en gevisualiseerd
  • op een webpagina kan je een overzicht zien van alle meters die online zijn
  • de meting wordt gedaan door bijv. een laser-afstandsmeter of een ultrasoon-afstandsmeter
  • voeding? lastig, hoe krijg je 5v naar een potentieel natte plek?
  • kosten? verwachting < E 40,-

In Gouda wordt op veel verschillende plekken de grondwaterstand gemeten, zie https://opendata.munisense.net/portal/wareco-water2/group/581/Gouda-KJ38A , maar:

  • geen visualisatie op de kaart, je ziet alleen de meetlokaties d.m.v. een icoontje!
  • geen meetpunten in Gouda noord!

Online bat detector

Idea: use an ultrasonic microphone, connect it to a WebSDR, so people can tune into bat sounds remotely.

Blood pressure meter hacking

Apparently some blood pressure monitors can be hacked.

My goal is to be able to extract the list of the last 100 measurements somehow, so you don't have to type them over manually. Either using bluetooth (serial), or by adding something like an ESP8266 to sniff internally an make it available over WiFi.

Raspberry pi airplane tracking

Apparently now you can also participate in MLAT tracking of planes that don't transmit GPS coordinates themselves.

APRS gateway

http://qso365.co.uk/2017/02/a-guide-to-setting-up-an-aprs-receive-only-igate-using-a-raspberry-pi-and-an-rtl-sdr-dongle/

JQ6500

Small inexpensive modules that play mp3 from an internal flash. Could be nice for a custom door bell for example.

More info at:

FPGA

Cheap FPGA boards and nice applications:

Neural networks on low-end hardware

Investigate if you can run a powerful neural network on relatively low-end/cheap/low-power hardware. For example a Raspberry pi. A RPI runs Linux, run python, just like some common neural frameworks. Do we need hardware acceleration from the GPU and does the RPI GPU support that?

Read list:

Bought a MaixPy:

mini word clock in dutch

Basically an monochrome 8x8 word clock, in Dutch, showing local time in the Netherlands.

This git repo has the current code.

See here for a demo running on an arduino nano.

The plan is to run this from an ESP8266 instead of an arduino nano, so it can get the time from the internet using NTP. Andreas Spiess demonstrated on youtube how existing libraries on the ESP8266 can be used to do the local time (including summer-time) calculations.

Cypress PSOC5

Play with the Cypress PSOC5 platform, which combines a ARM Cortex-m3 processor with configurable analog blocks. I'm thinking of combining it with a 24 GHz doppler radar sensor, to process the signal and present it as a USB audio device (stereo signal contains I and Q parts). See RadarOnAStick.

Simple Doppler motion sensors

You can find basic doppler microwave motion sensors based on a single transistor, with some weird traces on the PCB very cheaply, for example

Typically the microwave part of these consists of a single transistor with a rectangular area on one leg and a meandering trace (with lots of vias to the other side) on the other leg. The output of this circuit seems to go into a chip very much like the ones used in PIR sensors.

See also https://github.com/jdesbonnet/RCWL-0516 for a reverse engineering effort of these doppler radar modules.

Bare-bones Arduino bat detector

This is an idea for a very basic heterodyne bat detector, doing signal processing on an Arduino, requiring minimal external components.

The basic principle of a heterodyne detector is that it just mixes (multiplies) the audio signal with a square wave, low-pass filters the result and puts it on a speaker.

Multiplying with a square wave can also be considered to be just alternatively inverting and not-inverting the signal. So if you sample an ultrasonic signal at twice the rate you want to multiply, you can just subtract odd samples from even samples and low-pass filter that.

How this can be done in an AVR Arduino:

  • sample the audio signal at twice the detection frequency, say 84 kHz. An AVR should just be able to do that.
  • apply a 1-pole IIR high-pass filter to remove DC bias, this takes one shift instruction and one addition.
  • multiply by the detection frequency, this means just inverting the odd samples.
  • low-pass filter the signal, this can be done using a moving average filter, say 16 samples long (first null at 5.25 kHz). Theoretically, averaging 16 samples should result in two bits extra accuracy. This operation takes some storage, an addition and a subtraction.
  • output the filtered signal using PWM, possibly at the same rate that we are sampling the input audio.

The microphone can be a 40 kHz piezo transducer, to keep it cheap (but also limited to 40 kHz). The pre-amplifier can be a single transistor with some resistors around it, providing about 40x gain. The arduino does the signal processing (mixing, low-pass filter) to shift the bat audio to human range. The speaker amplifier can just be a simple two transistor push-pull circuit, since the output from the Arduino is digital/PWM.

AVR Arduino sample rate

As far as I understand, the ADC clock can be set to 1 MHz. Conversion takes 13 cycles, so this can be a problem to reach a sample rate above 80 kHz.

GPS repeater

This idea is about experimenting with a cheap GPS repeater built out of an "active" GPS antenna.

The problem this solves is that often indoors you have no GPS reception, but you like to have some signal to experiment with (e.g. a LoRa tracker).

Plan:

  • get a cheap active GPS antenna from AliExpress (some as cheap as E2,- !), most just mention one frequency (1575.42 MHz)
  • get a bias-T circuit to feed it the supply voltage (e.g. from a KOPPLA) and pass the RF signal onto an indoor antenna
  • the indoor antenna may be as simple as a 1/4 wave coax dipole: center conductor sticking up (about 47 mm), coax shielding is divided into 3 of 4 ground radials sticking sideways
  • build it and test it with a smart phone, tracker hardware, etc.

See also:

Indoor radar speed sign

This idea about placing a simple IQ-output radar sensor indoors in the hacker space, do some basic signal processing on the IQ doppler signal and determine movement speed and direction, then display this on a LED display. This is of no immediate practical use other than fun, but helps me to gain a bit more experience with microwave radar sensors and eventually build a more effective setup for detecting/counting bats flying in and out of a roost.

Implement this on a PSOC5 platform or on the STM32 using Arduino.