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.

A20-OLinuXino-LIME Revision H is now in stock. The OSHW Linux computer now support eMMC and can be produced with industrial grade temperature -40+85C

Ax0-OLinuXino-LIME-1.jpg

A20-OLinuXino-LIME now is at revision H. What is new?

  • We now support eMMC Flash
  • Ethernet PHY is changed from Realtek to Micrel/Microchip as latter can be purchased in both commercial and industrial grade
  • SPI Flash with hardware write protect is supported which allow board to boot from net.
  • Industrial version of LIME is available with T2 Allwinner with all components -40+85C operating temperature
  • EEPROM now contain unique MAC address , serial number and configuration info

We decided to drop the odd shape which was made specially to fit LIME in the Hammond plastic box, instead it range of Metal Boxes is available.

Latest image supports all new feature.

Final updates on A64-OLinuXino GMAC and eMMC, we are ready to launch production

A64-OLinuXino-1

We complete our test with Rev.B

Good news is that Gigabit interface works well with Micrel/Microchip PHY and result is real Gigabit bandwidth. A20 although having Gigabit interface can’t make more than 700 Mbit I guess this is related to A20 capability to handle the data from GMAC. With A64 the speed is  932Mbit i.e. very close to 1Gb:

root@A64-OLinuXino:~# iperf -s 
 ------------------------------------------------------------ 
 Server listening on TCP port 5001 
 TCP window size: 85.3 KByte (default) 
 ------------------------------------------------------------ 
 [  4] local 10.0.0.4 port 5001 connected with 10.0.0.1 port 41144 
 [ ID] Interval       Transfer     Bandwidth 
 [  4]  0.0-10.0 sec  1.09 GBytes   932 Mbits/sec

 

For eMMC we followed the advice to make it dual voltage 3.3V and 1.8V with aim to have faster transfers and we implemented it in the hardware, but the tests show that transfer is same even at 1.8V is a bit lower. I don’t know if this is due to lame software settings we do in the eMMC drivers, or just the eMMC we use have same transfer on both voltages (we check datasheet and the eMMC we use have same speed quoted on both voltages), so this may be useless for our eMMC chip:

eMMC clock: 52 Mhz

eMMC@3.3V 
root@A64-OLinuXino:/home/olimex# dd if=/dev/zero of=/mnt/output conv=fdatasync bs=384k count=1k; rm -f /mnt/output 
1024+0 records in 
1024+0 records out 
402653184 bytes (403 MB, 384 MiB) copied, 33.0437 s, 12.2 MB/s 
 
eMMC@1.8V 
root@A64-OLinuXino:/home/olimex# dd if=/dev/zero of=/mnt/output conv=fdatasync bs=384k count=1k; rm -f /mnt/output 
1024+0 records in 
1024+0 records out 
402653184 bytes (403 MB, 384 MiB) copied, 37.9408 s, 10.6 MB/s 
 
SDMMC clock: 40MHz 
 
SDMMC@3.3V 
root@A64-OLinuXino:/home/olimex# dd if=/dev/zero of=/tmp/output conv=fdatasync bs=384k count=1k; rm -f /tmp/output 
1024+0 records in 
1024+0 records out 
402653184 bytes (403 MB, 384 MiB) copied, 41.1578 s, 9.8 MB/s 
 

With SDMMC as we don’t know what SD card will be inserted the clock is set to default 40Mhz.

After re-checking that everything works, we make last cosmetic changes to audio part we noticed in the last moment and will run Rev.C in production.

LIME2 get better now with eMMC Flash A20-OLinuXino-LIME2-eMMC

A20-OLinuXino-LIME2-eMMC

A20-OLinuXino-LIME2-eMMC was developed first for customer of ours, but after we saw the result we decided that it’s good to add it in our web shop.

What difference make eMMC instead of NAND Flash?

eMMC behaves like SD-card so no need for special drivers, you write on it as you write on SD-CARD, it’s faster than NAND Flash, and it’s more reliable.

The eMMC Flash we use is industrial grade -40+90C SLC Flash from Micron. All other functionality remains same. Note thatA20-OLinuXino-LIME2-eMMC is still not 100% industrial temperature grade, the DDR3 and Ethernet PHY are in commercial temperature grade (0-90C for the DDR3 and 0-70C for Ethernet PHY), we have industrial grade DDR3 and can build A20-OLinuXino-LIME2-eMMC with such memories,so the next step to complete industrial grade temperature board is to find proper industrial grade Ethernet PHY chip.

A64-OLinuXino OSHW Linux computer is close to complete routing – GitHub update of KiCAD files

A64

Our first complex Linux board done completely in KiCAD is near the finish.

As you can see from the picture above all the complex high speed signals routing is already done.

What left is GPIO, audio etc low speed signals which are easy to complete.  CAD files are updated to GitHub

A33-OLinuXino OSHW Quad Core Linux SBC prototypes ready for test

A33-OLinuXino-top

We just assembled our A33-OLinuXino prototypes, these have PMU and should not overheat so badly as H3.

A33-OLinuXino-bottom

The advantage to have PMU is also that it have LiPo charger and can run from LiPo battery.

The features are:

  • A33 Quad core Cortex-A7 SoC
  • AXP223 PMU
  • 1/2GB RAM
  • optional 4GB NAND Flash
  • Audion Input
  • Audio Output
  • CSI/DSI connector
  • 40 pin LCD connector for LCD-OLinuXino-XX LCD modules
  • USB-OTG
  • GPIO 40 pin connector

Both H3 and A33 support dual CS DDR memories, this means they can work with the new 8Gb DDR3 ram chips which have two CS lines and H3-OLinuXino and A33-OLinuXino could have 1GB or 2GB RAM as option.

A33 have no Ethernet and HDMI, would be good for handheld video/audio processing devices.

The next revision of H3 and A33 OLinuXino will have eMMC option too.

 

EDIT: 18.00 o’clock update A33-OLinuXino is booting and working fine. As we expected although with same Quad Core Cortex-A7 it do not overheats at all compared to H3. Something is really broken in the H3 Linux clock/power configuration!!!

New KiCAD OSHW PCB project – Breakboard for ADS1220 Low Power 24-bit ADC

BB-ADS1220-1

ADS1220 is four channel 24-bit precise Sigma-Delta ADC with these features:

  • Low Current Consumption 120 µA in Duty-Cycle Mode
  • Wide Supply Range: 2.3 V to 5.5 V
  • Programmable Gain: 1 V/V to 128 V/V
  • Programmable Data Rates: Up to 2 kSPS
  • Up to 20-Bits Effective Resolution
  • Simultaneous 50-Hz and 60-Hz Rejection at 20 SPS with Single-Cycle Settling Digital Filter
  • Two Differential or Four Single-Ended Inputs
  • Dual Matched Programmable Current Sources: 10 µA to 1.5 mA
  • Internal 2.048-V Reference: 5 ppm/°C (typ) Drift
  • Internal 2% Accurate Oscillator
  • Internal Temperature Sensor: 0.5°C (typ) Accuracy
  • SPI-Compatible Interface (Mode 1)

The PCB is made with KiCAD and files are uploaded on GitHub with Apache 2.0 Licensee.

Software examples how to use BB-ADS1220 with OLIMEXINO-32U4 (Arduino Leonardo) and A20-OLinuXino-MICRO are available as reference.

Previous Older Entries