Monitoring Temperature and Humidity in the House

In our house, we sometimes have problems with mold in outer corners, so four months ago we built a series of inexpensive IoT sensors for monitoring temperature and humidity. Our devices are made from just three components: WeMos D1 Mini (lite) microcontroller Si7021 temperature and humidity sensor 3x AA Ni-MH rechargable batteries Because we wanted to build around 10 sensors, we had to watch out a bit for the price tag on the components.  We ended up at around 9 € per device, with 50% of the cost beeing the batteries. We chose the Si7021 sensor because judging from this excellent review of common temperature sensors, it was better than the commonly used DHT22 and came in 2nd place behind the more expensive BME280. For the power supply of the devices it was clear that we were going to run them on rechargable battery using deep sleep.  Andreas Spiess made an…


RCSwitch for Windows 10 IoT

RCSwitch is a library for controlling remote power sockets from Arduino. The original source code by Suat Özgür can be found on GitHub. In combination with the MX-FS-03V sender MX-05V receiver, I wanted to do the same thing on Windows 10 IoT on my Raspberry Pi. To use RCSwitch in a Windows Universal app, I ported the library into a C++ Windows Runtime Component. The RCSwitch port to the Windows Universal Platform is now available on NuGet. To use it in your IoT project, just install the NuGet package and then copy these code samples: Create an instance of the RCSwitchIO class: Turning remote power sockets on/off: In good .NET fashion, you can also subscribe to an event to listen for incoming signals: However I found that receiving does not work very reliably. Initially I was able to sometimes receive signals, but a few weeks later (with a different remote)…


Arduino as a MIDI/Bluetooth Relay for Windows 8.1 Apps

In my last post I described how a Bluetooth connection between Arduino and a Windows 8.1 device can be established. The next step for me was to connect the Arduino to my electronic drum kit which has both, a MIDI-IN and a MIDI-OUT jack, but any other electronical instrument will do as well. The wiring diagram for an Arduino Uno R3 with MIDI-IN/OUT and the JY-MCU Bluetooth module is shown in Fig.1. NOTE: Occasionally there are MIDI shields available for Arduino, so you might not have to build it on your own. The Arduino code to relay MIDI>Bluetooth and Bluetooth>MIDI is actually quite simple. //======================================================authorship //by Michael Osthege (2013) //======================================================includes #include “SoftwareSerial.h” //======================================================constants const int TX_BT = 10; const int RX_BT = 11; const int MIDI_TX = 1; const int MIDI_RX = 0; //======================================================bluetooth setup SoftwareSerial btSerial(TX_BT, RX_BT); //======================================================initialization void setup() {     Serial.begin(31250);     btSerial.begin(9600);     Serial.println(“Bluetooth initialized”); }…


Bluetooth communication between Arduino and Windows 8.1

Introduction Recently, after being inspired by this video of Arduino Bluetooth communication with Windows Phone 8 by Marcos Pereira, I got myself some new devices to play with: Arduino Uno R3 in a starter kit (link) JY-MCU Bluetooth module (link) and a few extra cables The thing is: I don’t have a Windows Phone 8 yet and the Windows Phone 7.8 APIs do not support this kind of Bluetooth communication. But: I have a Surface RT and with Windows 8.1 the RFCOMM API can be used to establish a serial link to the Arduino. Arduino and Visual Studio It happens that my developing skills are quite limited to C# and when I had to develop some Kinect software with Processing in early 2012, I almost freaked out. Arduino code is written in C++  and the standard Arduino IDE is derived from the Processing IDE. Fortunately there’s the Visual Studio extension…


2 months Surface RT – some thoughts from scientists perspective

There are countless reviews on the Surface RT already, but I consider myself some kind of non-average user, so I’d like to share my experience too. To understand my argument on the device, you should know: Who I am I am a undergraduate Biology student from Germany with some experience in WPF/Multitouch/Kinect/Windows Phone/Windows 8 development using C#. Most software I write is just for personal use, but I published some of my work (WP7, Win8) as well. Since the launch of the first public beta, I‘ve been using and developing for the Windows 8 platform, so I have a reasonable understanding of what’s going on. The Surface RT is my very first tablet computer. I’ve considered to get other devices (HP ElitePad, Samsung – ARM as well as x86), but decided that the Surface RT was the best fit. Everyday tasks Just like my HTC Mozart, I use the Surface…


Touchwand–Progress Report

wie in dem nachfolgenden Video zu sehen ist, verliefen die ersten Tests der Touchwand bereits erfolgreich: TouchViewer in Aktion… Das Video ist jetzt ein paar Wochen alt, denn zum jetzigen Zeitpunkt ist der Rahmen (Glasscheibe + Lasertechnik) aus dem Gehäuse ausgebaut. Auch am Rest des Gehäuses musste in den letzten paar Wochen noch weitergearbeitet werden. Zu den Veränderungen gehört die Stromversorgung… Der Strom kommt von außen über eine Kaltgeräte-Buchse …sowie eine Serviceklappe an der Vorderseite, die durch ein Schloss gesichert wird. Sie beherbergt Maus und Tastatur, sowie einen USB-Port. Ein An/Aus-Knopf wird auch durch diese Klappe erreichbar sein. Da die Klappe senkrecht zugeklappt wird, müssen Maus und Tastatur Halterungen haben.. Als Nächstes steht an, das Gehäuse vollständig auseinanderzubauen, um die Bretter von beiden Seiten mit Holzlasur anzustreichen.   PS.: Hoffentlich habe ich beim nächsten Post nicht wieder so eine Schreibblockade…


Mounting the Kinect

Yes! I’m well-prepared for an the upcoming milestone in human-computer interaction. The expert already knows what I’m talking about. It’s the Kinect SDK. Coming as OpenSource software it will enable some of us (including me ) to make gesture-driven applications. So as a matter of prudence I assembled a mount for my Kinect this morging. Rather than standing below, the camera now sits on its throne on top of the TV screen, so it has the best point of view for one or two persons standing in front of the TV screen and interacting with the computer. Though it was a bit tricky, the ‘throne’ now perfectly fits between the wall and the back of the TV: