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.

Do not forget FOSDEM is this weekend!

The most anticipated Open Source event for Europe is this weekend! Unfortunately this time online.

I just browsed some pictures from past FOSDEM events:

…and hope next year the pandemic will be over so we can meet at Bruxelles again:

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

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.

PWR-SWITCH is optically isolated EU style power load switch for up to 3500W, 230VAC/16A and can be driven with any microcontroller, Arduino, EPS32, or Linux computers directly with 3-24V

PWR-SWITCH hides the high voltage problems from the Arduino, ESP32, Raspberry Pi, Beaglebone, OLinuXino developers. It has 1500VAC optically isolation and can drive high voltage up to 230VAC / 16A loads safely.

To switch On or Off the loads from 3 to 24VDC can be used, so you can drive the loads with any microcontroller only 1mA is necessary to trigger the switch.

PWR-SWITCH is with EU stype plug and receptacle, so to use it in US or in UK you will need some of these:US to EU adapter, EU to US adapter or UK to EU adapter.

 PWR-SWITCH has CE-EMC and LVD certification.

Green LED show the switch status.

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.

How to attach external storage hard drive to Pioneer-FreedomBox-HSK

Pioneer-FreedomBox-HSK comes with 32GB micro SD card for file storage, this is not enough for many people, so they logically want to have bigger file storage.

A20-OLinuXino-LIME2 inside Pioneer-FreedomBox-HSK has native fast SATA interface, but the software do not automatically recognize and attach SATA-HDD, so you have manually to set it up.

What you need is SATA-HDD and SATA-CABLE-SET or the complete BAY-HDD which also includes nice metal box for the disk.

What you need to do is to run Pioneer-FreedomBox-HSK then to connect to it via SSH. To do this you need another computer connected on the same network. If this computer runs Linux you can do the connection by ssh command, if your computer is running Windows you can connect with Putty.

When you connect you should use the username and password which you created during the install process of Pioneer-FreedomBox-HSK

Then to you should run as super user with the commands below and mount the disk:

$ sudo -s
# mkdir /mnt/data
# mount /dev/sda1 /mnt/data

At this point via the web interface of Pioneer-FreedomBox-HSK you will see the hard disk as storage:

Last step is to add the hard disk to fstab so next time the board is reboot the hard disk is automatically mounted. You can see disk UUID with the blkid command, then to edit /etc/fstab file and add on the bottom the disk UUID as per this picture:

At this point everything is set.

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.

Previous Older Entries Next Newer Entries