How to make the 1-wire bus more reliable on a Raspberry Pi

Thermal sensors, such as DS18B20 can be connected to the Raspberry Pi via 1-wire bus. However, the 1-wire bus is not implemented in hardware, but only as software emulation on GPIO4, which has some major disadvantages. The 1-wire data link is acting as a very long “antenna” which catches interferences. All GPIO pins of a Raspberry Pi are directly connected to the CPU. So every interference cought on 1-wire bus is transported directly to the Broadcom SoC. Furthermore, the 1-wire protocol needs a very tight and time-critical signal generation, so it’s resource-consuming to communicate with 1-wire slaves and therefore highly unreliable if running on a non-real-time operating system.
I noticed that the DS18B20 sensors, which I have wired to my Raspberry, return at least once or twice a day bad temerature values, making it impossible to retrieve reliable max/min temperature data.
I recently stumbled upon a DS2482S-100 1-wire master breakout board that allows to control one or many 1-wire slave devices by simply sending I2C commands, relieving the task of generating the time-critical signals the 1-wire protocol requires. It provides bidirectional protocol conversion between an I2C master and 1-wire slave devices. The breakout board makes use of a DS2482S-100 converter, that is exclusively sold in a SO-8 package which doesn’t fit onto a breadboard.

Continue reading How to make the 1-wire bus more reliable on a Raspberry Pi

Maker Faire Berlin ’17

I have to thank all visitors showing an enormous interest to our booth at the MakerFaire Berlin 2017. Special thanks go to James Mitchell from the Raspberry Jam Berlin who organized all items on display at the booth and  arranged an amazing “Pi-Wars” show, popping hundreds of balloons!

And last but not least I want to thank our neighbors  from Pimoroni. I enjoyed to meet your fabulous team – see you next year!

Voice-control RC sockets with Google’s AIY Project Kit

Issue 57 of the official MagPi magazine contains a Do-It-Yourself Artificial Intelligence kit made by Google. The build instructions inside issue 57 are straightforward, so that you can talk to an intelligent device within minutes.

However, the installation walk-through in the MagPi57 did not work without problems, therefore I recommend to follow the instructions on Google’s AIY Project Page.

Speech recognition is an amazing feature for the Pi and if you ever wanted to know what “the answer to life, the universe and everything ” is, you should go for it!

The kit turned out to be very popular and it is currently difficult to get hold on it. It is sold out at many places :-(.

Continue reading Voice-control RC sockets with Google’s AIY Project Kit

Add action buttons to motionEye for controlling pan-tilt brackets

motionEye is a great piece of software for controlling network cameras with a Raspberry Pi. With motionEye you can watch live video stream, detect motion, record images and videos.

Starting with version 0.30, motionEye can be configured to overlay buttons on top of a camera frame. These buttons will then execute custom commands when clicked. Thus, it is possible control to control a pan-tilt bracket or to toggle IR light for a PiNoir camera.

Here I mounted a PiCam onto a cheap (0.40 €) pan-tilt bracket with two SG90 servos from Aliexpress.

Continue reading Add action buttons to motionEye for controlling pan-tilt brackets

Monitoring air quality with a Nova PM2.5/PM10 Sensor and Python

It is a major problem in almost all large German cities, that fine particulate matter is frequently exceeding  its maximum permissible value of 50 μg/m3. In a special issue of the Make Magazine (IoT special 01/2017), I read an article about the Nova PM SDS011 sensor, which is using the principle of laser scattering to measure the concentration of particulate matter between 0.3 to 10 μm in the air. The sensor is cheap (about 20 Euro) and easy to use, since it communicates via serial connection.

For placing the sensor into an enclosure,  it is equipped with a nozzle that allows to connect a hose of max. 1 m length. The UART communication protocol requires a bit rate of 9600 baud, with 8 data bit, no parity and one stop bit.

Continue reading Monitoring air quality with a Nova PM2.5/PM10 Sensor and Python