• Category Archives english
  • Synthwave Shout-out

    Some time ago I discovered the magical music genre of synthwave. It is more or less based on 80’s movie soundtrack music and influenced by other factors such as retrofuturism, chiptunes and 80’s nostalgia. The genre displays a large variety in styles. It can be quite poppy, catchy and accessible, but also very dark and abrasive.

    Here are some artists I see as prime examples of this musical genre:

    Trevor Something makes use of heavy vocals processing, slow plodding beats and synth sounscapes that extend to the horizon (and further). He likes writing melancholic lyrics about love, summer and use of various narcotics.

    Miami Nights 1984 has the ability to immediately transfer you to 80’s Miami, palm trees whizzing by while the radio plays the perfect driving music.

    Com Truise takes a more minimalistic and traditional approach, resulting in hypnotic artificialness. Continue reading  Post ID 3672


  • Detecting Radon with an ionization chamber

    Since I am interested in radiation I have been looking into ways of detecting radon and logging the results electronically. There are different ways of detecting radon.There are alpha track detectors which measure radon by having the alpha particles damage plastic and analysing the material later. Lucas cells are used to take an air sample and count the amount of alpha decays detected by a ZnS(Ag) scintillator and a photomultiplier.

    Alpha particles are strongly ionizing due to the fact that they are heavy particles that easily interact with matter. They have enough energy to hit a zinc sulphide scintillator and be visible to a dark-adapted human eye.

    A different way of detecting alpha particles is measuring the amount of ions they generate when they travel through a distance of air. By using an ion chamber, these ions can be converted into a measurable current, and even a discrete current pulse for each alpha ionization event.

    I found Alan Yates’ “Ion Chamber Alpha Particle Counter” to be easy to build. It is a small ion chamber with a JFET and a small circuit using a plain TL072 opamp.

    Some notes for anyone building this circuit:

    • A nice ion chamber can be made using a BNC male to SO-239 adapter and the screw hull from a PL-259 connector. Remove the teflon/plastic from the SO-239 end and solder the source of the JFET to the center pin and the drain to the wall. I covered one end of the screw hull with copper tape and punched a lot of holes in it to allow air to enter the ion chamber
    • Shielding of the JFET is critical, if shielding is insufficient the circuit will detect electric fields from static charges, mains voltage etc. and become unstable.
    • The circuit shows a 2N5484, I used a J201 that I intended to use for another type of alpha detector. I did not need to change the 560 ohm resistor on the source of the JFET.
    • It usually takes a minute for the circuit to settle down. This is because the gate of the JFET is floating and slowly charges up to a stable voltage. Before this happens no proper detections can take place.
    • This is a slow detector, when an alpha particle strikes it takes 100’s of milliseconds for the charge to leak away. During this time no other particles can be detected. In practice this is not a problem since alpha count rates even in high radon environments will not exceed the maximum count rate.

    This circuit is highly recommended for people wanting to research radon. It is easy and cheap to build, does not require high voltages and could be easily adapted to enable logging with microcontrollers. The last thing is a matter of converting the output into a 5/3.3V signal using a voltage divider and connecting it to a microprocessor GPIO pin. I am thinking of using a ESP8266 and ESP Easy’s pulse counting feature to make radon measurements available on the network/internet.

    Here is a video of my build of this circuit in action:

     


  • Interfacing the Uradmonitor with the Internet of Things, MQTT and Pimatic

    Intro

    For some time I have owned a Uradmonitor model A unit. This is a radiation monitoring solution which measures radiation and makes it available on a website. Connect it to your local network, and it will automatically get an IP address and start logging to www.uradmonitor.com. There you can find the stations and associated readings on a map.

    Since the Uradmonitor has a webinterface it is easy to scrape the data and send it elsewhere. For example, the CPM can be displayed on a VFD display or displayed in domotics applications.

    At home I try to make any sensor reading available using Mosquitto/MQTT. It is a lightweight, easy to use protocol to distribute dynamic data. Besides the Uradmonitor, multiple NodeMCU ESP8266 units running ESP Easy publish their sensor readings to the local MQTT server. All of this is done by Mosquitto running on my Debian ARM NAS and a Raspberry Pi running Raspbian and Pimatic.

    Scraping and publishing to MQTT

    First off I scrape the data from the Uradmonitor webpage using curl. Then, after some awk and html2text processing it is published to my local MQTT server using the mosquitto_pub MQTT publishing client.

    #!/bin/bash
    uradmonitorcpm=$(curl -s http://<ip of uradmonitor/ | html2text | grep radiation | egrep -o '[0-9.]*')
    mosquitto_pub -m $uradmonitorcpm -t /uradmonitor/cpm

    This bash script runs every minute using /etc/crontab and updates the local MQTT server with the latest measurement. The command ends with the MQTT topic which is the “address” of the dynamic value on the MQTT server.  Please note that mosquitto_sub does not need an IP address when publishing to localhost/127.0.0.1 since that is a default of the client. To specify a host, use the -h <ip address of mqtt server> option. Continue reading  Post ID 3672


  • Hoornvliestransplantatie linkeroog / Corneal transplant of left eye

    (English summary below)

    Op 26 februari, ongeveer een maand geleden dus, heb ik een hoornvliestransplantatie voor mijn linkeroog gehad. Omdat dit oog vergevorderde keratoconus had en geen lens meer tolereerde heb ik er ca. 3 jaar niet echt mee gekeken. Dit was de derde operatie aan mijn ogen dus de opname en behandeling in het ziekenhuis waren voor mij bekend terrein. Ik meldde mij om 7:30 in het ziekenhuis en werd voorbereid voor de operatie. De operatie is uitgevoerd in het UMC door dr. Wisse onder supervisie van dr. van der Lelij.

    De operatie zou in eerste instantie een DALK procedure zijn waarbij de onderste laag (endotheel) van het hoornvlies blijft zitten. Dit zorgt in theorie voor een duurzamer resultaat omdat het hoornvlies regelmatiger van afmeting blijft en het nieuwe donorendotheel een van de redenen is dat het lichaam het hoornvlies kan afstoten.

    Volgens de oogarts was na het verwijderen van het zieke hoornvlies het oppervlak van het endotheel niet glad genoeg wat optisch een slechter resultaat zou geven. Er is dus besloten de hoornvliestransplantatie toch penetrerend, dus over de gehele dikte, uit te voeren. Dit is wel gedaan met de zgn. mushroom techniek om het nieuwe hoornvlies zo robuust mogelijk vast te laten groeien. Continue reading  Post ID 3672


  • MP3 streaming of RTL-SDR receivers

    I have just made some progress with something I had been researching for some time. With the rtl-sdr software and the widely available USB DVB-T sticks it is possible to implement a cheap SDR receiver. I wondered whether it is possible to grab the sound output of the rtl_fm low cpu usage receiving utility and convert it into an MP3 stream.

    I came across this post on the Raspberry Pi forum and tried to make it work. After some messing around with settings I succeeded. The commands I am using are as follows:

    rtl_fm -s 22050 -f 145.575M -l 0  - | lame -b 32 -r -s 22.050 -m m -  | ezstream -c /etc/ezstream.xml

    Basically, it runs rtl_fm, sends the output the lame mp3 encoder which sends its ouput to the ezstream icecast stream generator. /etc/ezstream.xml is as follows:

    <ezstream>
            <url>http://dynode.nl:8000/rpi-rtl_fm-test</url>
            <sourcepassword>xxxxxxxx</sourcepassword>
            <format>MP3</format>
            <filename>stdin</filename>
            <!--
             Important:
             For streaming from standard input, the default for continuous streaming
             is bad. Set <stream_once /> to 1 here to prevent ezstream from spinning
             endlessly when the input stream stops:
            -->
            <stream_once>1</stream_once>
            <!--
             The following settings are used to describe your stream to the server.
             It's up to you to make sure that the bitrate/quality/samplerate/channels
             information matches up with your input stream files.
            -->
            <svrinfoname>RPi rtl_fm test stream</svrinfoname>
            <svrinfourl>www.dynode.nl</svrinfourl>
            <svrinfogenre>hamradio</svrinfogenre>
            <svrinfodescription>RPi rtl_fm test stream</svrinfodescription>
            <svrinfobitrate>32</svrinfobitrate>
            <svrinfoquality>2.0</svrinfoquality>
            <svrinfochannels>1</svrinfochannels>
            <svrinfosamplerate>44100</svrinfosamplerate>
            <!-- Turn off YP directory advertising -->
            <svrinfopublic>0</svrinfopublic>
        </ezstream>
    

    I run a dedicated icecast server on a separate server but it should be possible to host this on the RPi itself. The stream takes up about half of the RPi’s processor capacity. Currently, squelch does not work because it seems rtl_fm stops sending data when the squelch is on, causing lame and ezstream to stop. A possible workaround is to have rtl_fm output to the RPi line-out and generate the icecast stream from the line-in of another USB sound card plugged into the RPi. To solve this in software looks more elegant to me.