Category: XPortHub

XPortHub – Galvanic Isolated CAN Ports

The plan is to use two separate CAN Networks on my Lawn Mover – one network for motors, and one network for everything else – both using CAN HS at 1Mbps. To do this I consider upgrading XportHub. This picture show XPortHub2 w/2 CAN Ports. ISO1042 is an isolated CAN tranceiver in a SOIC8 a…

Read the full article


This is the block diagram for XPortHub2 with an added Watchdog/D-bus. My objective here is that I want to add some features to the board and decided to do an experiment adding an external Watchdog/D-Bus by using a smaller STM32 in support. SPX3819 can be switched on/off enabling me to power a board on/off. Adding…

Read the full article

XPortHub2 w/Ethernet

3D model of XPortHub2. This contains an 10/100Mbps Ethernet with a standard RJ45 socket that replace TF Card, I2C and SPI on XPortHub1. New style SWD port. Raspberry PI Backbone with SPI and CAN. RTC with Battery holder on back. 8 x user leds. 2 x CAN ports. CAN1 is connected on Raspberry PI Connector…

Read the full article

W5500 Schematics

  I am not sure where I wanna use this W5500 circuit, but the nice thing is that KiKad makes this a module I can re-use. This actually is the reference schematics.

BasicPI OS Started

Kind of cool – using USB as console on XPortHub – notice all the init messages before the USB starts. Just a buffer tricks. The “Terminal” is a simple C# app that open a port, read/write. I will upgrade it to a proper CLI later. This is maybe the most important part of the infrastructure…

Read the full article

Modular Control System

This drawing is an overview of the Hat’s in progress. A few is only on the planning stage, but most electronics is on prototype level and SW is coming on. Raspberry PI is the obvious core if I need heavier processing. Due to the nature of it’s SPI I can only connect one of these…

Read the full article

BasicPI Firmware Stack

This illustrates the BasicPI Firmware Stack in progress. What I always do in embedded applications is to make a “standard” main.cpp as follows: void AppInit() {    // wire hardware } int main() {    AppInit();    // start OS } A team I worked in years ago agreed on this standard so we should…

Read the full article