May 2021 production delays and updates!

Everything is moving extra slowly this year.

On top of the Semiconductor shortages, now PCB factories also experience lack of raw materials and delay the production times more than double.

This is the reason our plans to release S3-OLinuXino, RK3328-SOM, STMP15x-OLinuXino-LIME2 and STM32MP15X-SOM to produced with delay.

At least we got the STMP15x-SOM and STMP1(A13)-EVB blank PCBs and by the end of next week they will be ready to order.

We used the time to update the product page with schematics and user manual.

Production updates for S3-OLinuXino, RK3328-SOM and STMP15x-OLinuXino-LIME2 will follow!

S3-OLinuXino Open Source Hardware Linux dual camera board status uppdate April 2021

S3-OLinuXino is small open source hardware Linux computer with Ethernet, dual camera interface, running mainline uboot and Linux Kernel 5.12.

Our hardware went through few iterations, but last Revision.C now is in production and we will have it for sale on our web at the end of the April.

This board has small PoE plug-on top module which adds PoE functionality, so the whole setup board + cameras can be powered via Ethernet.

The camera connectors are made compatible with OV2640 2Mpix camera and Raspberry Pi Camera.

S3-OLinuXino has LCD connector where LCD-OLinuXino displays can be connected.

WiFi/BT module adds wireless functionality.

STMP157-OLinuXino-LIME2-IND status update April 2021

The last issues with STM32MP1 mainline Linux kernel support were resolved and now we run STMP157-OLinuXino-LIME2 in production!

Revision B fixes all hardware issues in the initial prototype. STMP157-OLINUXINO-LIME2 is complete analog of A20-OLinuXino-LIME2 which is one of our best selling Allwinner board.

Mainline uboot and Linux kernel 5.12 images are available with all periperials working.

We will have STMP157-OLINUXINO-LIME2 on our web for sale by the end of April.

This is also our first board with Ethernet supporting Precise Time Protocol and Time Sensitive Networking implemented.

IEEE 1588 Precision Time Protocol (PTP) is implemented for the industrial grade Open Source Hardware Linux computer STMP1-OLinuXino-LIME2

The Time Sensitive Networking (TSN) is for real-time communication with hard, non-negotiable time boundaries for end-to-end transmission latencies.

The main use of TSN is for industrial machine controllers, robots etc.

For this purpose all devices in this network need to have a common time reference and therefore, need to synchronize their clocks among each other. Only through synchronized clocks, it is possible for all network devices to operate in unison and execute the required operation at exactly the required point in time.

The time in TSN networks is usually distributed from one central time source directly through the network itself using the IEEE 1588 Precision Time Protocol, which utilizes Ethernet frames to distribute time synchronization information.

Linutronix helped to implement IEEE 1588 PTP on STMP1-OLinuXino-LIME2.

For Uboot changes Olimex Uboot was used as base. The Kernel patch is sent upstream and can be seen on the mailing list

https://lore.kernel.org/linux-devicetree/20210316080644.19809-1-kurt@linutronix.de/

We also apply these patches in our next STMP1 Linux images release.

The results is correctly working PTP:

# ptp4l -H -2 -i eth0 --tx_timestamp_timeout=40 -f /etc/gPTP.cfg -m
|ptp4l[1434.665]: rms    5 max   13 freq  -1069 +/-   7 delay   325 +/-   0
|ptp4l[1435.666]: rms    8 max   16 freq  -1068 +/-  11 delay   325 +/-   0
|ptp4l[1436.667]: rms   10 max   19 freq  -1060 +/-  12 delay   324 +/-   0
|ptp4l[1437.668]: rms    8 max   17 freq  -1055 +/-  10 delay   322 +/-   0
|ptp4l[1438.668]: rms    6 max    9 freq  -1057 +/-   9 delay   322 +/-   0

Quad Core 64bit Open Source Hardware Linux computer A64-OLinuXino now have version with external antenna

A64-OLinuXino is Open Source Hardware Quad core 64 bit Linux Computer.

We also offer nice metal box for it named BOX-A64-BLACK:

The only problem was that A64-OLinuXino have option for on board WiFi-BT but it uses PCB antenna and when put in box the communication range was decreasing signiificantly.

New revision of A64-OLinuXino board now supports both internal PCB antenna and U.FL externally attached 2.4Ghz antenna.

So A64-OLinuXino can be put inside the metal box and have the antenna outside:

Open Source Hardware S3-OLinuXino update – The new board targeting industrial vision applications is now with mainline Linux support

S3-OLinuXino is board we create to may add vision to the PTH components Soldering Robot we are working on for some time.

Revision.B now is a bit different than the first prototype we made. It has these features:

  • S3 SOC Cortex-A7 running at 1.2Ghz
  • 1Gb DDR3 RAM inside S3 SOC up to 1333Mhz
  • MIPI Raspberry Pi camera interface up to 8Mpix camera support
  • Parallel CSI camera interface up to 8 Mpix
  • Power Management Unit with LiPo battery charger and step-up to allow stand alone battery operation
  • 100Mb Ethernet interface with POE support (external optional module)
  • SPI, NAND, eMMC external optional module
  • LCD connector to connect to LCD-OLinuXino displays with different sizes and resolutions
  • LiPo battery connector
  • USB-OTG interface
  • UEXT connector with SPI, I2C, Serial and power supply
  • EXT1 connector for LED PWM lighting
  • audio input with microphone
  • audio output
  • WiFi and BT module with external antenna
  • micro SD card connector

We are working to offer Mainline Linux with this board.
Bootlin got sample board and have working MIPI driver.

S3-OLinuXino can take power from USB, LiPo battery or PoE (with optional PoE module).

Different NAND Flash, SPI Flash, eMMC flash options are possible with addon module

The only thing we still didn’t complete is USB-OTG functionality.

Mass production is planned for March 2021.

Open Source Hardware STMP1-OLinuXino-LIME2 industrial grade Linux computer update – Debian Buster and Ubuntu Focal with mainline Kernel 5.10.12 now supports almost everything

STMP1-OLinuXino-LIME2 Industrial grade Linux Computer project took us almost an year of work to build proper software support for our hardware with mainline uboot and kernel.

ST demo board uses Yocto with kernel 5.4, our images use Linux Kernel 5.10.12

These who monitor our Official images at https://images.olimex.com probably nottice that we already have images with Debian Buster and Ubuntu Focal for STM32MP1 where almost everything now work with mainline Linux Kernel 5.10.12.

  • We had lot of troubles around the Ethernet, but now it works pretty well!
  • CAN-FD – works!
  • Two USB High speed hosts with 1A current – works!
  • LCD – works
  • HDMI – works!
  • eMMC Flash boot – works!
  • PMU and LiPo charger battery support – works

Two things on this board left not complete:

  • low power modes
  • USB-OTG

New prototypes rev.B now are in production, the Chinese New Year will delay them to end of February. We hope meantime to solve these two last issues and run production.

UPDATE: As some people wanted to know what was the Ethernet issue we were struggling so long, I posted in the comment section.

For the USB-OTG my guess is that it’s also some silly issue so people may help:

STM32MP1 has two High speed USB hosts and one Full speed USB-OTG, here is snip from their Hardware development document:

Here is our schematic which follows above guide:

The two High Speed USB hosts work as expected, but the USB-OTG has issue summarized here: https://pastebin.com/i6G90kdg

What makes us a little bit suspicious is that STM in their own demo board didn’t follow their Hardware Guide and were wiring one of their High speed USB as OTG and connecting USB hub to the other, ignoring the Full speed USB at all.

Building Marine Chartplotter with A20-OLinuXino-LIME and LCD-OLinuXino-7 in metal frame

Matthias sent us link to his project of Marine Chartplotter made with A20-OLinuXino-LIME open source hardware Linux computer + LCD-OLinuXino-7 and LCD7-METAL-FRAME

The power supply is done with DCDC-36-5-12

Driving High voltage loads with optoisolated 220VAC/16A switch by Arduino and OLinuXino

eduArdu is educational low cost Arduino board, it has plenty of resources like: LED 8×8 display, Joystick, Buzzer, Microphone, temperature sensor, Ultrasound distance meter, PIR sensor, IR emitter and receiver, Capacitive buttons, RGB LED, Lipo charger for stand alone work.

Here we will show you how you can drive high voltage loads like lamps, heaters etc with PWR-SWITCH connected to eduArdu.

Plug PWR-SWITCH in mains and the object you want to control plug in PWR-SWITCH receptacle.

Then connect “-” termianl of PWR-SWITCH input to eduArdu UEXT.pin2 and “+” terminal of PWR-SWITCH input to eduArdu UEXT.pin4.

In Arduino IDE make this program:

void setup() {
   pinMode(0, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
   digitalWrite(0, HIGH); // turn the PWR-SWITCH on
   delay(5000); // wait for a 5 seconds
   digitalWrite(0, LOW); // turn the PWR-SWITCH on
   delay(5000); // wait for a 5 seconds
}

The Lamp will start to blink 5 seconds on and 5 seconds off.

You can drive high voltage loads with A20-OLinuXino-LIME2 + LIME2-SHIELD:

In this setup connect “-” termianl of PWR-SWITCH input to LIME2-SHIELD GPIO.pin9 and “+” terminal of PWR-SWITCH input to LIME2-SHIELD GPIO.pin7 (GPIO271 in Linux) and you can use this code to switch on and off PWR-SWITCH:

echo 271 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio271/direction

echo 1 > /sys/class/gpio/gpio271/value

echo 0 > /sys/class/gpio/gpio271/value

or you can use Python and pyA20LIME2:

!/usr/bin/env python
from pyA20Lime2.gpio import gpio
from pyA20Lime2.gpio import port
from pyA20Lime2.gpio import connector
gpio.init() #Initialize module. Always called first
gpio.setcfg(port.PI15, gpio.OUTPUT)

gpio.output(port.PI15, gpio.HIGH)
gpio.output(port.PI15, gpio.LOW)

Linux tip: How to reset device connected to USB port

Sometimes devices connected to USB ports need to be re-set. It’s not unusual GSM modems and WiFi dongles to freeze and the only way to bring them back to life is to remove and re-attach.

OLinuXino USB ports has power switches and current limiters which can be controller by Linux drivers.

After some experimenting we found that it’s not so easy actually to do it with the standard file system and shell.

A friend suggested to try this code. It worked very well, so here is how to use it. First you need to download and compile it, then to make it executable:

$ mkdir usbreset
$ cd usbreset
$ wget $ https://raw.githubusercontent.com/jkulesza/usbreset/master/usbreset.c
$ cc usbreset.c -o usbreset
$ chmod +x usbreset

Then you need to see where your USB device is. In our case I connected MOD-WIFI-R5370 WiFi USB dongle:

$ lsusb

you will see something like:

Bus 002 Device 039: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

to reset this device use the command:

./usbreset /dev/bus/usb/002/039

The device USB port will be power off for a second then power on again.

All above is tested and work with official Olimex Linux images from images.olimex.com, but should work on other Linux distributions too.

Previous Older Entries