STM32MP1-OLinuXino development update, we managed to build Ubuntu 18.04.LTS with Linux Kernel 5.3. Now we need your feedback on GPIOs

kit

One of the benefits to work with European SOC vendor and distributors – just few days after we show interest in the new STM32MP1 series of SOCs DHL come with one big carton where we got STM32MP151AAC and STM32MP157AAA3 samples plus the most comprehensive ST kit with all features of the high end STM32MP157AAA3. The credits go to EBV as we got these totally free of charge. The kit came with comprehensive documentation for both board, software support etc. In regard of customer friendliness Chinese SOC vendors has long way to go.

We needed one day to build our own Linux image as we didn’t like (no offense) the Yocto ST uses, so here is Ubuntu 18.04.LTS with Kernel 5.30 boot:

screen

Overall we have very positive vibes that STM32MP1 is good candidate for new industrial grade OLinuXino-LIME2!

The specs of the STM32MP1-OLinuXino-LIME2 we work now are:

  • STM32MP151AAC or STM32MP157AAA3 they are pin to pin compatible so one board will be used for both
  • 1GB DDR3L industrial grade memory -45+90C
  • Gigabit Ethernet with PoE plug-in option (*)
  • AXP209 PMU with LiPo charger and step-up so everything works even with no external power supply
  • two USB 2.0 high speed hosts
  • USB-OTG 2.0
  • HDMI+CEC
  • LIME2 board shape and same connector positions
  • replacing with CAN the SATA connector
  • micro SD-card
  • SPI/NAND/eMMC Flash on socket and different options(**)

(*) we love what Raspberry Pi did with their PoE hat, board which is working as normal, and have PoE functionality if PoE hat is attached. We intend to add such PoE feature to our other Allwinner boards too, but will take time to re-design them all.

(**) this is new experimental feature instead to keep many different LIME2 board versions which only differs the amount of flash on them. The Flash will be on plug in module, something which Odroid does for years and we do wonder why we didn’t do earlier, as now keeping so many versions of LIME, LIME2 and MICRO is killing our production manager and logistics :). If these Flash modules work as expected we will re-design our LIME, LIME2 and MICRO to use them also .

STM32MP1 series has some very unique features missing in Allwinner SOCs like:

  • 6× I2C up to 1 Mbit/s
  • 4× UART + 4× USART up to 12.5 Mbit/s, ISO7816, LIN, IrDA, SPI slave
  • 6× SPI 50 Mbit/s, 3 FD I2S audio class accuracy
  • 4× SAI stereo audio: I2S, PDM, SPDIF Tx
  • SPDIF Rx with 4 inputs
  • 8-14-bit camera interface up to 140 Mbyte/s
  • 2× ADCs with 16-bit max. resolution 3.6-4.5Msps
  • 2× 12-bit D/A converters 1 MHz

We will try to arrange GPIOs with similar functions so A20-LIME2 current customers to may exchange with STM32MP1-LIME2 if they want or to have second SOC choice, but we are open to listen to your tips and suggestions how to arrange the ADC/DAC signals and extra I2C, UARTS, SPIs on the GPIO1-GPIO4 connectors optimally.

STM32MP1 series has only one operating temperature range -45+125C.

Many people may think that on 650Mhz the Cortex-A7 cores are running slow, but this is because this SOC has to work reliable from -45 to +125C. All SOCs which run on extended temperature range run on lower speed clocks compared with same parts which run on commercial 0-70C. If you want to run your STM32MP1 board at home in non demanding apps, we are pretty sure you will be able to overclock it at much higher values and it will work, but when we talk industrial devices and reliable 24/7 operation the clocks are always announced with most conservative values.

STM32MP1 nice candidate for new industrial grade OLinuXino-LIME

Screenshot from 2019-09-03 15-00-34

ST Microelectronic released new interesting device it’s Cortex-A7 and Cortex-M4 in one package. This solves two problems – the connectivity and ample amount of DDR3 memory to run Linux on Cortex-A7 core and the additional co-processor with Cortex-M4 for Real Time tasks. On top of this it’s -40+125C operating temperature and with 10 years supply longevity warranty from ST.

The prices starts around USD 5, which is in same range as Allwinner/Rockchip.

Their top model STM32MP157C has 3D openGL ES2.0 and CAN. There will be finally properly documented Secure boot (we hope 🙂  ):

Screenshot from 2019-09-03 15-06-23

From recent Twitter post I see than Bootlin already works on Linux support for STM32MP1.

Overall STM32MP1 looks like very promising SOC for Industrial grade Linux computer.

Magic shield plates helps naked A20-OLinuXino-LIME2 board to pass CE EMC requirements.

Ax0-OLinuXino-LIME-1

A20-OLinuXino-LIME and A20-OLinuXino-LIME2 are choice for many industrial applications, when the board is inside metal box like BOX-LIME:

BOX-LIME-BLACK-1

it has no problems with shielding the radio emissions, but when just board is used as component, our customers has to shield it by their own in their designs. We had number of request to do official CE EMC certifications for A20-OLinuXino-LIME2 as this would make their life easier, and we decided to do this after we already get some experience with the certification of USB-ISO and ESP32-POE-ISO.

Initially the naked board failed on EMC measurements as seen here from the test results.

LIME2-naked

The major problem is the Gigabit Ethernet PHY. You can see spikes at 125 Mhz, 325Mhz etc. Disabling the PHY removes all noise and everything is in safe levels. So we knew who is ther trouble maker.

The major noise emitter are the Transmit and Receive clock lines. We put 33 ohm resistors in series R119 and R123 in A20-OLinuXino-LIME2 schematic , but obviously this was not enough. To further fade the line harmonics we replaced the resistors with 0402 Ferite Beads with 600 ohm impedance at 100 Mhz. This lowered the emissions, but still not well enough to be at safe levels.

So we had to make small Faraday cage on top:

LIME2-SHIELD-top

and bottom of the board:

LIME2-SHIELD-bot

this effectively removed all noises and the A20-OLinuXino-LIME2 pass CE requirements:

LIME2-1

LIME2-2

LIME2-3

LIME2-4

We are preparing now to implement the Ferite Beads on PHY Tx and Rx lines in all our other boards production assembly, and will offer the shield plates as kit they are good for A20-OLinuXino-LIME and A20-OLinuXino-LIME2 and we will prepare same for A20-OLinuXino-MICRO and A64-OLinuXino.

 

New Debian 10 Buster images released for A20 and A64 boards and SOMs

buster

We have released Universal A20 and A64 images with Debian 10 Buster.

There are few known issues which we work on:

  • Certain types of eMMC memories might start in HS-200 mode instead of SDHS mode. This causes eMMC installation and boot problems.
  • HDMI always takes precendence over LCD. This is even if you have enabled a
    display manually (interrupted u-boot and executed “olinuxino monitor set XXX”).
  • Boards with 5.x eMMC chips are unable to boot directly from eMMC;
    this is caused by poor eMMC 5.x support in eGON BROM;
    this issue is not related to the Linux image
  • The board currently cannot store rootfs on usb driver. The init script
    starts before the usb subsystem initialization.
  • If the board has eMMC and SPI, it’s not possible to boot from SPI and rootfs
    on SATA. This is due to the fact that u-boot searches first the eMMC storage
    for boot scripts.
  • LCD-OLinuXino-15.6FHD is not fully supported.
  • The GT2005 camera module in A20-SOM-EVB and A20-SOM204-EVB is not working.

New release is preparing and will be updated by the end of the month.

 

 

New Open Source Hardware board adds SATA drive connectivity to any computer with USB host

USB-SATA

USB-SATA is board which connects to any computer with USB host and bridge it to SATA Hard disk.

The read/write speed with USB2.0 host is approx 30MB/s.

USB-SATA has USB device connector, SATA connector and power connector, when used with SATA-CABLE-SET it can drive directly SATA-HDD-2.5-500GB

It’s very convenient when you have to move large files from one computer to another you can just plug big HDD with it and use it as “giant USB Flash storage” it works faster than the USB Flash disks and can have way larger capacity.

Writing applications for OLinuXino with GTK

GPIO

Many times I hear from customers – Linux has no good UI, it’s made for servers but we want to make apps with windows drop boxes, check boxes etc.

Recently we found Simon Long’s C GUI Programming book and made two “windows” examples for OLinuXino.

We recommend you first to download the book and read it then to look at the code we made and uploaded to GitHub.

In the README.TXT you will find step by step instructions how to install and configure GTK for OLinuXino.

Then you can try the code and modify for your need.

GPIO example allow you to read or write GPIO state to any of the GPIO connectors of OLinuXino.

I2C example will allow you to interface to any of our UEXT boards with I2C interface. The example we test with MOD-IO.

I2C

How secure are Allwinner SOC we use in our OLinuXino boards?

spyware

From time to time customers ask us:

You are using Chinese SOCs. I’ve heard that Chinese government forces all Chinese vendors to place back-doors in their SOCs which to spy on you. Can you guarantee that your Linux boards have no back doors to spy on us”

I already posted about Linux-Sunxi community, which develops the Allwinner SOC mainline Linux support. What I forgot to mention is that most of the SOC features and tuning they do is done almost without any official help or documentation from Allwinner and based mostly on tips from Allwinner employees and reverse engineering.

I do remember A20 CAN module was not mention at all as existent in Allwinner datasheets at the beginning and Linux-Sunxi developers found it while hacking the chip.

So I will have to disappoint people, who believe in such myths that no, A20 chips are for quite some time now and there is nothing hidden inside, even the Boot ROM which resides in the SOC internal ROM code and is executed first is disassembled and known code.

This for sure do not give any warranty that these SOCs are bug free and that someone latter may not find and exploit some bugs (I already wrote about the level of the SOC software developers in my previous post) and to create back door to install malware or spyware, but this is not done intentional and IMO above the capacity of the software developers working in the SOC vendors.

I still do remember Allwinner released few years ago SDK where they were forgotten to remove the debug flags and if you send message “rootmydevice” to /proc/sunxi_debug/sunxi_debug, you get root privileges, but was this intentional and forced by Chinese government? I doubt so.

We build our Linux Images from Armbian project sources using their repositories and our images has MD5, so if you load our Linux Images and use in our boards we are sure there are no back doors. I know the guys who are behind Armbian project and I can guarantee they do not work for the Chinese government.

Now you can say if you found undocumented CAN inside the SOC, there may be other undocumented modules as well which to spy on us. Yes, this is possible, but even if there are such hidden resources the software we run on the SOC does not take advantage of them and activate them, you can always monitor your USB/LAN etc traffic packets and see what information go outside the chip and so far for the last 6 years A20 is existent no one ever has detected such suspicious traffic.

Previous Older Entries