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.

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.

GNUHealth Open Source Project runs on Open Source Hardware OLinuXino-LIME2

GNU Health is a Free/Libre project for health practitioners, health institutions and governments. It provides the functionality of Electronic Medical Record (EMR), Hospital Management (HMIS) and Health Information System (HIS).
GNU Health is an official GNU package, part of the GNU System.

Luis Falcón, MD, started the GNU Health project in 2008 to improve Primary Health Care (PHC) in rural communities.
Today GNU Health has grown to a full Health and Hospital Information.

The GNU Health Federation allows the establishment of nationwide federated networks with thousands of heterogeneous nodes. The GNU Health federation is revolutionary, and will allow the community, the health practitioners, the research institutions and the ministries of health to have much better perspective and precise information on the individuals and their context.

GNU Health in a Box is GNU Health running on small Single Board Computer. The first image was released for Raspberry Pi, which is the most popular Linux SBC, but we are happy that Open Source Hardware OLinuXino was noticed by the GNU Health project and there is some preliminary work to port the GNU Health to work on OLinuXino-LIME2.

Embedded GNU Health in a Box provides real-time monitoring of vital signs in hospital settings, retrieves information from laboratory instruments or can be a great Personal Health tracker. They are also a great resource for research and academic institutions.

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

Previous Older Entries