Transform your PYBStick into a MicroPython based PLC and the UniPi V1.1
Building a MicroPython programmable logic controller (PLC) is a great project. However, an automation interface should not be haphazardly designed. The UniPi Technology company has created the UniPi V1.1, a professional quality card designed for Raspberry-Pi.
Being an automation engineer, the controller of such PLC card should rather be a microcontroller than a nanocomputer. Microcontroler offers real-time applications, process stability and minimize the attack surface (hacking).
As long as this is done, why not considering the usage of a microController under MicroPython? We would have the very first PLC running under MicroPython! The UniPi-MicroPython-Automation project was born.
To use this product, you will need a PYBStick board and the UniPi boardi
PYBStick-UniPi-Face: the UniPi <-> PYBStick interface
This product is an interface card allowing you to connect PYBStick microcontroler to an UniPi V1.1 or UniPi Lite. This interface board can easily control the different UniPi interfaces.
This interface card comes with the drivers for MicroPython as well as many examples available on GitHub.
The PYBStick-UniPi-Face card also exposes a UEXT (Universal EXTension) connector allowing easy connection of additional sensors and extensions without having special electronic skills. The UEXT interface allows you to add WiFi adapter, thermocouple probe, infrared temperature sensor, man-machine interface, etc.
You can consult the UEXT product range at MCHobby and at Olimex Ltd.
This interface board is suited for the PYBStick Standard or PYBStick Pro, such board offers enough RAM for you MicroPython apps.
UniPi under Arduino IDE?
In absolute terms, it is possible to do Arduino IDE development with the PYBStick and this interface board.
However, it will be necessary to develop the Arduino drivers for the various I2C components present on the UniPi board. MCHobby only offers MicroPython drivers and will not be able to provides support for Arduino driver development..
UniPi in few words
UniPi is an expansion board for creating a programmable logic controller.
UniPi is a powerful, professional / semi-professional quality control unit which increases the comfort of installations while maintaining a reasonable material cost.
With UniPi, you will be able to automate the heating of the building, control the lighting, control the water supply, control the garage, the opening of a door and many other applications (see the case studies on the UniPi's website).
- 8 × relays : SPDT, 250V AC/5A -or- 24V DC/5A
- 14 × digital inputs : to read signal/state from external devices. Optocouplers offers the suited galvanic isolation. Triggered between 5 to 24V DC. 12 inputs + 2 additionals inputs.
- 2 × analog inputs : to read 0-10 V DC signal from external devices.
- 1 × analog output : 0-10 V DC output to drive analog voltage input device.
- 1 × 1-Wire port : (RJ45) to connect 1-Wire devices like temperature/light/humidity sensor.
- 1 × I2C port : (RJ11) to connect expansion modules as relays, analog inputs, digital output.
- 1 × UART port : (RJ11) to connect serial based devices like RFID/NFC reader, barcode reader or serial console.
- 1 × RTC : Real Time Clock with cell coin battery holder
- 1 x I2C breakout: available on UNIPI board, can be used to connect your own I2C expansion board inline with the unipi board.
- 1 x 12V DC output : 12v 200mA power supply can be used to feed the digital input on the UniPi board.
UEXT in few words
UEXT (Universal Extension) is a connector that carries the signals of an I2C bus + SPI bus + Serial + 3.3v power supply. This connector uses a standardized 10-pin IDC connector, nothing exotic ;-).
With UEXT, it is very easy to add sensors and expansion cards ... just plug them in or connect a 10 pin IDC cable, easy!
Among our favorites, there is the transport of the I2C bus allowing to easily add several sensors or expansion cards (the sensors having an address on an I2C bus, this helps to avoid communication collisions). On the other hand, the SPI bus allows high speed data transmissions, which is ideal for devices such as TFT displays. The serial port (asynchronous communication) can be made compatible with the RS-232, RS-422, RS-485, DMX512, MIDI standards by using appropriate level-shifting circuitry.
UEXT connectors are usually available on Olimex products, including their nano-computers. UEXT is a fantastic approach for adding expansion boards to products like the ESP8266 WiFi Microcontroller or other microcontroller boards. UEXT is very well suited for prototyping, school learning (no iron needed) and industrial solutions (Olimex produces "Industrial Grade" level boards).
See our UEXT product line on the webshop and the large UEXT product collection at Olimex (import on request), UEXT is also documented on Wikipedia.
For each order, you will receive the PYBStick-UniPi-Face interface board as a kit. This kit is easy to assemble and should only takes few minutes.
PYBStick, UniPi and other demonstration items are not included but you can easily buy them on our WebShop.
The 26 pins GPIO connector is enough to maintain the interface board in place. We added a fixing hole to offer a stronger mechanical fixing on the UniPi.
Some of the PYBStick GPIO are still available upon condition, see the PYBStick schematic and our documentation for more information.
The Schottky diode available on the interface board allows you to connect the PYBStick on your computer while powering the PYBStick through the UniPi. That's safe.
MicroPython drivers limitation:
- The UniPi RTC clock is not supported, most of MicroPython board does have their own RTC.
- The 1Wire Master I2C bridge is not yet properly taken in charge (but most of MicroPython board does have native support for 1Wire).