The Industrial grade -40+125C Open Source Hardware Linux board which is hardware compatible with A20-OLinuxino-LIME2 but with ST Microelectronics STM32MP1xx SOC STMP1-OLinuXino routing is complete

TOP1

BOT1

STMP1-OLinuXino routing is complete. It took 6 months from the idea to the finish.

Why it took so long? We had several times to re-design the schematics around the DDR memory and power supply.

Our goal was to make it pin to pin compatible with OLinuXino-LIME2 and we achieved it.

STMP1-OLinuXino has:

  • Same size as LIME2
  • Same GPIOs on same places
  • Ethernet, USB, battery Lipo, buttons, HDMI, SD-card on same places
  • same mount holes
  • 1GB DDR3 memory
  • Gigabit Ethernet interface
  • HDMI interface
  • LCD interface
  • 2x USB hosts and 1x USB-OTG
  • micro SD-card
  • GPIOs have similar interfaces on the same positions
  • LiPo battery charger and step up converter for battery operation
  • CAN interface

There are few differences:

  • we add Flash connector where different flash modules will be attached: NAND Flash, SPI Flash, eMMC Flash, so instead to keep many different versions of the board with different Flash options like LIME2 this will be done with exchangeable modules
  • we put the STM32MP1 SOC on bottom where adding heatsink do not interference with the top GPIO connectors and add-on boards

The STM32MP1 devices work at -20/40+125C operating temperature by default which makes them perfect for industrial applications.

There will be different versions with STM32MP151/153/157 as they share same BGA package, also there will be some versions with commercial temperature grade components for lower cost.  Our preliminary estimations are the prices to be between EUR 35 and 70 depend on the different configurations.

How to use A20 CAN interface with the A20 universal Armbian image for OLinuXino

CAN-Network-Diagram

To use A20 CAN interface you need A20-OLinuXino board and A20-CAN board.

Then you have to install the armbian A20 CAN overlay:

 

$ sudo armbian-add-overlay <path_to_the_dts_file>

 

  • connect A20-CAN to your OLinuXino and reboot.

You can see if CAN is available now:

$ ifconfig -a

   can0     Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
            NOARP MTU:16 Metric:1
            RX packets:0 errors:0 dropped:0 overruns:0 frame:0
            TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:10
            RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
            Interrupt:51

 

To use CAN interface you can install can-utils and setup the CAN interface:

$ sudo apt-get install can-utils 
$ ip link set can0 down
$ ip link set can0 type can bitrate 100000 triple-sampling on loopback off
$ ip link set can0 up

 

Now conect A20-CAN to the CAN network two wire interface.

To send a packet over CAN use :

cansend <can_interface> <packet>

 

For instance:

$ cansend can0 5AA#10.10.10

 

To sniff for CAN network messages you can use candump :

$ candump can0

 

Now you can log your car CAN networking messages and interpret them. There is plenty of info on the web about the different CAN messages which are exchanged on car CAN bus.