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.

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.

LIME2-SHIELD adds CAN, second SD-card, two UEXT connectors, Audio IN and OUT, breadboard friendly GPIOs to A20-OLinuXino-LIME2 Open Source Hardware Linux computer

A20-OLinuXino-LIME2 is with small compact design, this is why we couldn’t put on it all connectors for the functionality this board offers.

The existing 0.05″ step connectors are OK for cables and shields, but are pain when you want to breadboard something or to attach UEXT module.

This is why we made LIME2-SHIELD open source hardware shield. It has these signals available:

LIME2-SHIELD User manual explains how to prepare your SD-card for booting Linux on A20-OLinuXino-LIME2, then how to setup the board with different scripts and device tree.

Demo codes how to work with GPIO, I2C, SPI, CAN with C, Python and console are included:

The work on our most complex Open Source Hardware Linux board started – meet the Tukhla iMX8QuadMax SOC based board to be designed with KiCAD

We started working on our most complex OSHW board with KiCAD.

iMX8 is broad range of very different ARM architectures under same name which some people may find quite confusing.
Here is the table chart:

You can see by yourself:

  • iMX8X is quite humble with up to x4 Cortex-A35+Cortex-M4F cores, something less capable than Allwinner A13 or STM32MP1XX
  • iMX8M, Nano/Mini/Plus is x4 Cortex-A53 + Cortex-A7/M4F something in the range of power of Allwinner A64
  • finally iMX8QuadMax comes with different configurations, but the high end is Octa-core with x2 Cortex-A72 + x4 Cortex-A53 + x2 Cortex-M4F and is more powerful than the popular Rockchip RK3399

Why we did started working on such monster?

Company from EU which values the OSHW recognized the absence of high end open source Linux board and asked us to design one. They offered to cover all associated design costs. They specially requested this to be not yet another RK3399 board, but based on SOC with proper documentation and software support. NXP’s high end iMX8QuadMax matched their requirements perfectly.

Currently all powerful Cortex-A72 comes from Chinese or Korean origin and are always closed projects, the only published info in best case is PDF schematic which can’t be verified i.e. the final product may or may not match what they publish. The popular Raspberry Pi go even further and their “schemaitcs” are just connector diagrams.

This is how the Tukhla project was born, it will have:

  • MIMX8QM5AVUFFAB Octa-core SOC with: ( x2 Cortex-A72, x4 Cortex-A53, x2 Cortex-M4F, x4 GPUs with 16 Vec4-Shader GPU, 32 compute units OpenGL® ES 3.2 and Vulkan® support Tessellation and Geometry Shading, Split-GPU architecture enables 2x 8 Shader Cores, 4k h.265 Decode, 1080p h.264 encode)
  • x2 LPDDR4 x32 databus RAM memory with up to 16GB of RAM configuration
  • PMU taking all power lines from single 12V/4A source
  • micro SD card
  • eMMC Flash with differnt sizes
  • QSPI Flash
  • x1 SATA for external HDD/SSD drives
  • x2 single lane PCIe with M2 connectors for NVMe
  • HDMI input 1.4 RX with HDCP 2.2
  • HDMI output 2.0 TX with HDCP 2.2 4K
  • USB 2.0 OTG
  • USB 3.0 HOST
  • x2 Gigabit Ethernet
  • x2 MIPI CSI camera connectors

The price of MIMX8QM5AVUFFAB alone is around EUR 100 in small quantities and currently LPDDR4 4GB cost EUR 35, LPDDR4 8GB cost EUR 50, LPDDR4 16GB cost EUR 180.

So with BOM over EUR 200 this board will not be affordable for the most of Raspberry Pi $35 price range users.

This board targets professionals, who need high performance board and being not dependent by Chinese SOC vendors. With all hardware open, which gives them security for their business as the design is public.

iMX8QuadMax SOC is available in automotive AEC-Q100 Grade 3 (-40° to 125° C Tj), Industrial (-40° to 105° C Tj), Consumer (-20° to 105° C Tj)

Some of the features like HDMI input are not present in the Chinese SOCs at all.

iMX8QuadMax may have DSP and incorporate Vision and Speech Recognition interactivity via a powerful vision pipeline and audio processing subsystem.

The Software support include: Android™, Linux®, FreeRTOS, QNX™, Green Hills®, Dornerworks XEN™.

iMX8QuadMax is fully supported on NXP’s 10 and 15-year Longevity Program

Tukhla means Brick in Bulgarian (and other Slavish languages) and it will be the OSHW building block for whole range of different solutions.

How long it will take to finish this design?

We honestly don’t know. It took more than month just to capture the schematic in the state it is now:

There is long path now to create and verify all component packages (just the SOC is in 1313 BGA ball package), verify the schematic signals, place the components on the PCB, route high speed signals manually.

It may be 6 months or more. We got unofficial info that NXP engineers spent more than year to make the NXP iMX8QMax demo board.

Allwinner keep their promise for long term supply of T2 (industrial A20) SOC. If you wonder how 60K of Allwinner T2 SOC looks like you can see now

T2 is the industrial version of A20 – the most successful SOC in Allwinner history. It keeps selling for more than 8 years now and demand is steady.

We are proud that our OSHW designs with A20 are part of this success story.

T2 can work in extended temperature grade and is more expensive than A20, so the demand is not so big and used just by specific customers like in automotive and industrial equipment. During the last COVID-19 economy slow down these customers decreased and Allwinner stock of T2 was sold out. While NXP, ST etc always keep some kind of guarantee that they will produce this processor for XX years, Chinese companies are practical, they sell as long as it’s profitable for them and if demand is low they just stop.

This is why many people are afraid to place Chinese SOC in their products, they are afraid that this chip may stop being produced at some point of time and their design need to be changed.

Fortunately for Olimex our sales are big enough to be interesting and supported by Allwinner. We have enough business to place custom orders even for chips which are now with status “obsolete” and Allwinner keep producing them for us.

T2 automotive/industrial market for Allwinner now is not big enough for them to justify keeping it in stock, but Olimex placed order for these in January and 60Kpcs hit our warehouse few weeks ago.

The label show these T2 SOC are manufactured 18 of May 2020 🙂

So Allwinner keeps their part of the deal for long term delivery and manufacture for us even SOCs which are not available for sale officially, this means we can keep producing our boards with Allwinner SOC for our customers and they are safe with us.

Open Source Hardware Linux board with industrial grade -40+125C temperature STMP1-OLinuXino-Lime2 prototype is live

We have progress on this board software. It now boots, we have been fighting the hardware and of course the issue was RTFM in this case RTFE (Errata) where STM well documented thar this chip requires oscillator and will not work with only crystal. We were misleaded by their kit schematic where they made provisions for both crystal and osciallator and being cheap we first bet on the crystal 🙂 .

Anyway after replacing the crystal with oscillator STMP1-OLinuXino-Lime2 got alive and here is the boot log: https://pastebin.com/ev94Jbk0

Our design is quite different from STM demo kit, we use different PMU, PHY HDMI so many things have to be done on the Linux support, but the results so far are very good.

The Open Source Hardware OLinuXino boards are with new Linux Kernel 5.6 scripts to move Linux OS to eMMC or SATA are included

We are pleased to announce that now the images at http://images.olimex.com/release/ are with the lates Linux Kernel 5.6

All these are build with our Olimage script.

We still keep Ubuntu Bionic 18.04 LTS distribution and didn’t move to 20.04 LTS yet.

To addition for script which set boot from eMMC we add new one which allow you to boot from SATA.

The boot from eMMC and SATA is enabled for OLinuXino boards which has SPI Flash on them like:

  • A20-OLinuXino-LIME-e16Gs16M
  • A20-OLinuXino-LIME-e4Gs16M
  • A20-OLinuXino-LIME-s16M
  • T2-OLinuXino-LIME-e8Gs16M-IND
  • T2-OLinuXino-LIME-s16M-IND
  • A20-OLinuXino-LIME2-e16Gs16M
  • A20-OLinuXino-LIME2-e4Gs16M
  • A20-OLinuXino-LIME2-s16M
  • T2-OLinuXino-LIME2-e8Gs16M-IND
  • T2-OLinuXino-LIME2-s16M-IND
  • A20-OLinuXino-MICRO-e16Gs16M
  • A20-OLinuXino-MICRO-e4Gs16M
  • A20-OLinuXino-MICRO-s16M
  • T2-OLinuXino-MICRO-e8Gs16M-IND
  • T2-OLinuXino-MICRO-s16M-IND
  • A20-SOM-e16Gs16M
  • T2-SOM-e8Gs16M-IND
  • A20-SOM204-1Gs16Me16G-MC
  • T2-SOM204-1Gs16Me4G-C-I
  • T2-SOM204-1Gs16Me8G-MC-I

To make board booting from eMMC you have to boot from SD-card then execute:

$ sudo olinuxino-sd-to-emmc

then wait until script moves the OS to eMMC, remove the SD-card and reboot.

Similar if you want to make board boot from SATA you have to boot from SD-card then execute:

$ sudo olinuxino-sd-to-sata

Olimage – Mainline Linux images building script for all of our OLinuXino and SOM boards

DEBIANubuntu_904

We work for more than 6 month on our own Linux building script and now we are ready with it’s initial release, which is now on GitHub .

Why do we need it? The number of our boards with all variant hit over 70 pcs when you add to them the different LCD combinations and other peripherials the support and test of these images became little hell. Our latest Armbian based image was released 3-4 months ago as we didn’t manage to properly test all board features in the newer images.

So we first made universal images for all our groups of boards (based on the SOC used) and EEPROM where we store info so uboot and kernel to may recognize the board and configure properly the parameters at boot time.

Then we decided to make one-for-all build script which will automatically build images with recent kernel and uboot automatically.

We had to leave Armbian as we wanted things to be more under our control and decision. Also we wanted everything to be 100% tested when released. Armbian official builds are not tested at hardware level other than to see board boots, so many boards are with peripheral conflicts and we had to apply our patched on Armbian anyway to adjust the images for our boards.

Our official images now are at http://images.olimex.com.

There is release folder where we have minimal and basic images for Debian and Ubuntu and testing folder where new uboot and kernel images will be built and kept until properly tested. For instance Ubuntu 20.04 LTS and kernel 5.6 images will be put there in the next couple of weeks.

The Olimage script and repositories are developed in our internal Gitlab and will be only push to Github when everything is properly tested and images moved to release folder. Also we push all our patches upstream.

With the current kernel and uboot users can easily generate any Linux distribution as it’s matter of building rootfs.

Moving to the next release would be possible simple by

sudo apt-get update && apt-get dist-upgrade

then re-boot of the board, so when we release new images all you have to do is to run the above commands and you will have the latest images.

For the moments the builder has A10, A13, A20, A64.

iMX233 and RK3188 SOCs are obsolete and not produced anymore by Rockchip and NXP, so they will be not included in the script. We still produce and sell these boards, but they will be discontinued when we use our existing SOC stock.

AM3352-SOM and AM3359-SOM will be included in the script, but we have no fixed date when, as we have to put earlier S3-OLinuXino and STMP1-OLinuXino-LIME2 which are with higher priority.

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.

Previous Older Entries