Skip to main content

grated control unit

Project description

ROX Integrated Control Unit (ICU)

Software and documentation for ROX Integrated Control Unit

Description

ROX Integrated Control Unit (ICU) is a modern, open-source alternative to conventional PLCs, designed for demanding industrial applications. Based on the Adafruit Feather M4 CAN platform, this compact device integrates an automotive-grade microcontroller, digital I/O, analog inputs, and CAN interface into a single, robust package.

Key Features:

  • Wide operation range 10V to 40V Operating Supply Range, 65V Tolerant
  • Industrial-Grade I/O:
    • 8x configurable digital I/O channels (up to 40V and 1.2A per channel) with overcurrent protection and comprehensive diagnostics.

    • Per-Channel Configurability Enables Wide Range of Applications

      • Digital Output: High-Side (HS) Switch or Push-Pull (PP) Driver
      • Digital Input: Software Selectable Type 1 and 3, or Type 2
      • Current Limit Settable from 130mA to 1.2A
      • Independent Channel Powering
    • Fault Tolerant with Built-In Diagnostics

      • Voltage Supply Monitoring and Short-to- VDD Detection
      • Open-Wire/Open-Load Detection
      • Thermal Shutdown Protection,
      • Watchdog Timer etc.
    • 2x analog input, 0..10V range, including reference voltage generator.

  • Connectivity: Pass-through CAN connection for flexible integration.
  • Powerful Processing: Features a 120MHz Cortex M4 processor with floating-point support, 512KB Flash, and 192KB RAM.
  • Compact Design: Measures 96 x 57 mm, only slightly larger than a credit card.
  • Environmental Durability: IP67 rated and shock-resistant, suitable for harsh industrial environments and mobile machinery.
  • Flexible Programming: Compatible with Arduino, CircuitPython, C/C++ and Rust
  • Open Source: Fully open-source design allows for customization and adaptation.

The ROX ICU is designed for decentralized control in mobile machinery and as a PLC replacement in challenging environments. It combines the accessibility of the Feather ecosystem with industrial-grade capabilities, offering a versatile solution for modern industrial control applications.

What goes where

  • libraries - board libraries
  • pcb - hardware documentation
  • examples - code examples

Getting started

note: using removable drive from docker container is tricky. So circup and invoke tools are used on the host system.

Installation

  1. install dev tooling on the host system with pip install -r requirements.txt or create virtual invironment with prepare_host.sh
  2. install circuitpython on the board
    • put board in bootloader mode (double click reset button). It should register itself as a removable drive.
    • put .uf2 file on the drive, it should reboot into circuitpython.
  3. install required libaries on the board with invoke install
  4. sync code with the board invoke sync

Runng code

First determine device serial port with sudo dmesg | grep tty

There use ampy or mpremote:

  • ampy run <script.py> (set AMPY_PORT env variable first)
  • mpremote <port> run <script.py> (use shortcuts for , like a1 for /dev/ttyACM1 if required)

Pin mapping

output of dev/show_pins.py

board.A0 board.D14 (PA02)
board.A1 board.D15 (PA05)
board.A2 board.D16 (PB08)
board.A3 board.D17 (PB09)
board.A4 board.D18 (PA04)
board.A5 board.D19 (PA06)
board.BATTERY board.VOLTAGE_MONITOR (PB00)
board.BOOST_ENABLE (PB13)
board.CAN_RX (PB15)
board.CAN_STANDBY (PB12)
board.CAN_TX (PB14)
board.D0 board.RX (PB17)
board.D1 board.TX (PB16)
board.D10 (PA20)
board.D11 (PA21)
board.D12 (PA22)
board.D13 board.LED (PA23)
board.D23 board.MISO (PB22)
board.D24 board.MOSI (PB23)
board.D25 board.SCK (PA17)
board.D4 (PA14)
board.D5 (PA16)
board.D6 (PA18)
board.D9 (PA19)
board.NEOPIXEL (PB02)
board.NEOPIXEL_POWER (PB03)
board.SCL (PA13)
board.SDA (PA12)

Licenses

  • The sourcecode is released under the MIT License
  • Hardware design in pcb folder is released under CC BY-SA 3.0 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rox_icu-0.4.0.tar.gz (783.9 kB view details)

Uploaded Source

Built Distribution

rox_icu-0.4.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file rox_icu-0.4.0.tar.gz.

File metadata

  • Download URL: rox_icu-0.4.0.tar.gz
  • Upload date:
  • Size: 783.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for rox_icu-0.4.0.tar.gz
Algorithm Hash digest
SHA256 08288127f9ea7f6c11d75c03ea11e32a418b3fb177635b39f1818b4f8503d9f2
MD5 8767d139927d92776696132a10acffd2
BLAKE2b-256 624b354bff02d686f69a006f29b48c47dcd450716ebf95686b5dc8b6a9b9b631

See more details on using hashes here.

File details

Details for the file rox_icu-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: rox_icu-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for rox_icu-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d532c6e644a7dab6d865cf81df3469bd7c68d932b1250311af8840cb65e9a368
MD5 f13afb0fa3fdccbcb741ead6c49112fe
BLAKE2b-256 b2189777f100330ce63d141b386928269e28552ae6fffb271735a5752759bb19

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page