Interfacing a MS8607 sensor with Python using the bus pirate

A couple of days ago, I’ve read about Scott Harden’s interesting approach of interfacing a twi temperature sensor by using Python and Hack-a-day’s bus pirate. Quite accidentally, I had an similar problem. For some experiments I need a good knowledge about my environmental sizes (e.g. ambient pressure, temperature and humidity). I decided to use a MS8607 sensor produced by “Measurement Specialities / TE Connectivity” and is distributed for example by AMSYS. I’ve got some modules and started reading the datasheet. Due a permanent lack of time I was searching for a good and simple way for testing the sensor interface without the whole prototype circus (e.g. design and build some interface cards, testing the code by using debug interfaces and so on). Scott’s solution was simple and I had all tools already available, so I started to adapt his code for my needs. ...

February 26, 2017 · 5 min · Daniel Hufschläger

Port expanding HAT for the Raspberry Pi

Introduction By development of a new version of our heating control, I was dealing with several ideas like designing a new microcontroller pcb, using an ESPXY-device or the most luxurious solution using a Raspberry Pi board. All three solutions open three different grades of performance, effort and possibilities for further ideas. In the past I spend several months of playing with self designed AVR microcontroller boards. These boards are communicating and interacting through a self-constructed ISM1 network and I’m proudly able to say: “Since I have installed them, they had worked all the time.” ...

December 1, 2016 · 2 min · Daniel Hufschläger

Kleines ATTiny2313 Board

Mal etwas Hardware zum Abend. Das Board schlummert auch schon etwas länger in der Schublade und war meine erste selbstständig geätzte Platine. Man möge die schlecht Anordnung von Pufferkondensator hinter dem Linearregler verzeihen, aber es musste wie immer schnell gehen. Ansonsten ist nicht viel drauf außer Regler, Mikrocontroller (ATTiny2313), eine ICSP-Wanne und natürlich vielen Steckverbindern.

November 7, 2012 · 1 min · Daniel Hufschläger

Rigol DS1052E USB-Kommunikation

Seit zwei Jahren habe ich das günstige Einsteiger-DSO (Rigol DS1052E) und bin damit recht zufrieden. Die mitgelieferte Software ist allerdings recht bescheiden, aber scheint zu funktionieren. Zumindest für Einzelbilder. Vor einer ganzen Weile habe ich mich mal mit dem USB-Protokoll beschäftigt und eine kleine Demo-Applikation auf Basis von Qt, Qwt und den Agilent IO Libraries umgesetzt. Im Video sieht man die Visualisierung des Datenstroms. Das Signal ist – recht unspektakulär – der Referenzkanal des DSOs zum Abstimmen der Tastköpfe. ...

November 7, 2012 · 2 min · Daniel Hufschläger

RN-Control 1.4 Modifikationen

Da ich günstig in den Genuss des ATMEL-Boards RN-Control gekommen bin, wollte ich es auch für meinen Roboter benutzen. Bevor es jedoch los gehen konnte, waren einige wenige Modifikationen notwendig. Zunächst wurde der zusätzliche Motortreiber entfernt, da TWI-Slave zur Motorsteuerung mit ATTiny2313 schon fertig war und dort nur die TWI-Wanne nach RN-Definitionen hinzugefügt werden musste. Anschließend wurde der Pegelwandler für die RS232-Schnittstelle entfernt und gegen einen Adapter in Form eines Lochrasteraufbaus ersetzt. Dieser ermöglicht die Nutzung des BTM-Mini-S-Moduls, also eines Raysons BTM-222 Bluetooth-SPP (Serial over Bluetooth) Adapters. Die Schnittstelle soll später noch einmal gegen eine USB-Serial-zu-Wlan-Bridge ausgetauscht werden (wenn die Chinapost noch ankommen sollte). Soweit so gut. Der mitgelieferte ATmega32 wurde durch einen ATmega1284P getauscht. Zwar würde der Mega32 sicher fürs Erste reichen, aber der Tatendrang will befriedigt werden. ...

November 7, 2012 · 1 min · Daniel Hufschläger

TWI-Slave zur Motorsteuerung mit ATTiny2313

Irgendwann sollte mein CCRP5/RP6-Chassis auch mal fahren! So der Wunsch. Natürlich fällt es einem schwer zwischen Prüfungen, Arbeit und dem restlichen Kram genügend Zeit aufzubringen so etwas wie einen Roboter selbst fertig zu stellen. Selbst wenn er erst einmal nur fahren soll, kann das unter Umständen schon recht lange dauern. Da ich jedoch nichts Fertiges oder einfach ein Arduino-Shield kaufen wollte, musste - ob nun Wohl oder Übel - eine modulare Lösung her. ...

November 7, 2012 · 2 min · Daniel Hufschläger

Bidirektionaler Levelshifter für I²C/TWI

Ich hab irgendwann besteht das Problem, das man Gräte mit unterschiedlichen Versorgungs- und Logikspannungen über einen Bus betreiben will. Bei SPI oder USART ist das relativ Wurscht, da für beide Datenrichtung eine separate Leitung existiert. Da helfen Transistoren, Logikgatter oder Spannungsteiler. Bloß was tun bei TWI/I²C ? Schließlich ist der Bus bidirektional. Es muss also ein Levelshifter her. Eine Lösung ist die Nutzung von integrierten Schaltkreisen wie dem PCA9306. Allerdings sind die recht schwer zu bekommen bzw. recht teuer. Eine funktionierende Lösung mit 4 Widerständen und zwei N-Kanal-Mosfets zeigt die nächste Abbildung. Die Funktion ist, bis auf das Abkoppeln vom Bus identisch. Vorteil ist der geringer Kostenfaktor von zirka einem Euro. ...

February 12, 2012 · 1 min · Daniel Hufschläger