Archive

Posts Tagged ‘development board’

STMicro Unveils STM32L4 Discovery Kit for IoT with WiFi, BLE, NFC, Sub-GHz RF, and Plenty of Sensors

May 29th, 2017 No comments

STMicro has recently introduced B-L475E-IOT01A Discovery kit powered by STM32L4 Cortex-M4 and targeting IoT nodes with a choice of connectivity options including WiFi, Bluetooth LE, NFC, and sub-GHZ RF at 868 or 915 MHz, as well as a long list of various environmental sensors.

Click to Enlarge

B-L475E-IOT01A Discovery kit key features and specifications:

  • MCU – STM32L4 Series MCU based on ARM Cortex -M4 core with 1 MB Flash memory, 128 KB SRAM
  • Storage – 64 Mbit (8MB)  Quad-SPI Flash memory (Macronix)
  • Connectivity
    • Bluetooth 4.1 LE module (SPBTLE-RF)
    • Sub-GHz (868 or 915 MHz) low-power-programmable RF module (SPSGRF-868 or SPSGRF-915)
    • Wi-Fi module based on Inventek ISM43362-M3G-L44 (802.11 b/g/n compliant)
    • Dynamic NFC tag based on M24SR with its printed NFC antenna
  • Sensors
    • 2x digital omni-directional microphones (MP34DT01)
    • Capacitive digital sensor for relative humidity and temperature (HTS221)
    • 3-axis magnetometer (LIS3MDL)
    • 3D accelerometer and 3D gyroscope (LSM6DSL)
    • 260-1260 hPa absolute digital output barometer (LPS22HB)
    • Time-of-Flight and gesture-detection sensor (VL53L0X)
  • USB – 1x micro USB OTG port (Full speed)
  • Expansion – Arduino UNO V3 headers, PMOD header
  • Debugging – On-board ST-LINK/V2-1 debugger/programmer with USB re-enumeration capability: mass storage, virtual COM port and debug port
  • Misc – 2 push-buttons (user and reset)
  • Power Supply – 5V via ST LINK USB VBUS or external sources

The board supports ARM mbed online compiler, but can also be programmed using IDEs such as IAR, Keil, and GCC-based IDEs. STMicro also provides HAL libraries and code samples as part of the STM32Cube Package, as well as X-CUBE-AWS expansion software to connect to the Amazon Web Services (AWS) IoT platform.

You’ll find documentation, hardware design files, software, and tools on  the product page, where you’ll also be able to purchase the board for $51.94 with either a 868 or 915 MHz RF module.

FriendlyELEC Mailbag: NanoPi NEO OLED Starter Kit, NEO Station NS-120B, and NanoPi K2 Multimedia Kit

May 28th, 2017 10 comments

FriendlyELEC will send me some review samples from time to time, and normally I just ask for one item, but they aways send a bunch of their products instead. This time I asked for a NanoPi NEO NAS Kit v1.2 to play with, but I got clearly more than what I asked for…

Let’s start with the box at the top.

Click to Enlarge

It contains “NanoPi NEO complete starter kit” selling for $29.99for $29.00 with the following items:

  • NanoPi NEO board
  • NanoHat OLED
  • Heatsink and thermal pad kit
  • Akuminum housing
  • a Mico USB cable
  • A micro SD card pre-loaded with NEO OLED Ubuntu firmware.
  • Three buttons, and screws

It’s actually not fully complete, as you’d need to provide and solder your own male headers to NanoPi NEO board. I did not have time for soldering that day, but the final results should be really neat based on pictures from their website.

If you prefer the more powerful board, the same kit is sold with NanoPi NEO2 board for $34.00. Both kits are currently out of the stock, but so you may want to add the one you like to your wish list.

Moving to those very thick yellow / orange envelopes…

Click to Enlarge

That’s two NanoPi NEO NAS kits v1.2, with the marking showing “NEO Station NS-120B”, maybe in reference to “Synology DiskStation”, but they don’t use that name in their website, which is probably a good idea. The models I received as the side plate for NanoPi NEO 2 board, but there may be more inside. I’ll check it later, since I’ll review the kit in details in a separate post.

Next up is a box with “K2” written on it.

Click to Enlarge

Unsurprisingly NanoPi K2 board powered by Amlogic S905 processor can be found inside. But we also have a heatsink +fan + thermal kit, a micro USB cable, and an IR remote control. Almost all you need for a TV box, but looking further into the big package, we’ll find an acrylic enclosure completing the kit.

Click to Enlarge

I’ve also taken closer pictures of the K2 board since it’s the first time I’ve received it.

Click to Enlarge

The board has basically the same form factor and ports as the Raspberry Pi 3, but it adds an IR receiver, more memory (2GB), Gigabit Ethernet, and a slot for eMMC modules – which are yet to be available -, but lacks MIPI CSI and DSI connectors. It should be noted however, that while FriendlyELEC mentioned both Linux and Android, they appear to focus their efforts on Android only, with no actual plans to release a Debian / Ubuntu image:

The bad news, according the the Moderator of the FriendlyArm forum, there are no plans for a debian image. Only the supplied Android 5.1 image. 🙁 Meaning its get out the uboot and the compiler and make your own with a bit of USB TTL flashing to boot.

So any Linux images would have to be done & maintained by the community. [Update: finally the company is working on a Ubuntu image too]

Click to Enlarge

NanoPi K2 board goes for $39.99, but the complete multimedia kit should cost more. The problem is that I can’t find it on their website, but if we adds individual item, namely the heatsink + fan ($5.99), RC-100 IR Controller ($2.99), micro USB cable ($1.97), and the acrylic enclosure ($1.99) to total adds up to $52.93 + shipping, which costs a little more than a TV box with similar specifications, but provides more flexibility due to the source code available for NanoPi K2.

I had two more boxes in the package with one more K2 multimedia kit and an extra acrylic enclosure, which would make a nice candidate for a future giveaway week.

 

Melon S3 FPGA Arduino & Raspberry Pi Compatible Board is Programmable over WiFi using ESP8266 WiSoC

May 25th, 2017 3 comments

Q-Wave Systems, an embedded systems company based in Thailand, has designed Melon S3 FPGA board powered by a Xilinx Spartan 3E FPGA with WiFi connectivity added through a ESP8266 module programmable with the Arduino IDE , and featuring two Raspberry Pi compatible headers. The FPGA bitstream can be updated over  WiFi, and does not require a JTAG debugger.

Melon S3 FPGA Prototype

Melon S3 FPGA specifications:

  • FPGA – Xilinx Spartan XC3S500E FPGA with 500K gates, 73Kb Distributed RAM, 4 Digital Clock Manager (DCM), 20 Multipliers (18×18), 360 Kb Block RAM
  • WiFi module – WROOM-2 with Espressif ESP8266 32-bit MCU @ 80 MHz supporting 802.11 b/g/n WiFi.
  • Storage – 4MB SPI flash in total with 1MB for ESP8266, 3 MB for FPGA
  • Expansion – 2x 40-pin Raspberry Pi compatible headers; 3.3V tolerant
  • Debugging – Onboard USB-UART Silicon Labs CP2104 for configuration, debugging and power; 6-pin JTAG port for debugging/programming
  • Misc – 8x Users LEDs, 4x DIP switch user button, 1x reset button,  on-board 50 MHz FPGA clock
  • Power Supply – 5V via micro USB port
  • Dimensions – 65 mm x 56.5 mm x 10 mm
  • Weight – 20g

Block Diagram for Melon S3 FPGA – Click to Enlarge

The board can be used in standalone, but it’s also compliant with Raspberry Pi HAT form factor, and can be inserted on top of Raspberry Pi boards with 40-pin headers, which in theory would allow you to run the Arduino IDE directly on Raspberry Pi to program Melon S3 FPGA board.

You can also program the FPGA  using development tools such as Xilinx ISE Webpack (free), MATLAB HDL Coder/HDL Verifier and National Instruments LabVIEW FPGA Toolkit, and upload the resulting bitstream using the board’s web interface.

Melon S3 FPGA Labview Programming with Raspberry Pi / Computer

The board is available via a sort of self-organized crowdfunding campaign, with at least 50 backers required by May 31. At the latest update, they had 74 backers, so the project will go ahead with mass production and shipping taking place in June. They’ll eventually post all documentation, hardware design files, and source code in Melon_S3_FPGA github repository (currently empty), but in the meantime you can get some information, including schematics in PDF, and a more details overview of the board and the way to program it in the product page in English, where you’ll also be able to order it for $79.99 plus shipping.  If you are based in Thailand, you can get it for 2,800 Baht instead.

All backers will also be invited to a free one day seminar to learn out to use the board, as long as you are ready to go to Bangkok  in Thailand.

MinnowBoard Turbot Quad Core Open Source Hardware Board is now Shipping for $190

May 24th, 2017 2 comments

MinnowBoard Turbot Quad Core board was announced last autumn, with shipping expected in December 2016, but there may have been delays as the MinnowBoard foundation has just announced that the Intel open source hardware board is now shipping.

Click to Enlarge

MinnowBoard Turbot Quad “MBT-4220” board specifications:

  • SoC – Intel Atom E3845 quad core Bay Trail-I processor @ up to 1.92 GHz with Intel HD graphics @ 542 / 792 MHz (10W TDP)
  • System Memory – 2GB DDR3L 1067 MT/s (Soldered)
  • Storage – 1x SATA2 3Gbps, 1x micro SD card slot, 8 MB SPI Flash for firmware (Tianocore UEFI, Coreboot, SeaBIOS)
  • Video & Audio Output – 1x micro HDMI connector
  • Connectivity – 10/100/1000M Ethernet RJ-45 connector (with Intel i211 instead of Realtek NIC on dual core MinnowBoard)
  • USB – 1x USB 3.0 host, 1x USB 2.0 host
  • Debugging – Serial debug header
  • Expansion headers
    • Low-speed expansion (LSE) port – 2×13 (26-pin) male 0.1″ pin header with access to SPI, I2C, I2S Audio, 2x UARTs (TTL-level), 8x GPIO (including 2x supporting PWM), +5V, and GND
    • High-speed expansion (HSE) port –  60-pin high-density connector with access to 1x PCIe Gen 2.0 Lane, 1x SATA2, 1x USB 2.0 host, I2C, GPIO, JTAG, +5V, and GND
  • Power Supply – 5V/4A DC input via 2.5mm center pin positive power jack; 5V DC output via  2-pin header
  • Dimensions – 99 x 74mm
  • Temperature Range –  0 to 40 °C; wider range possible with larger heatsink.
  • Certifications – FCC Part 15 Class A, CE Class A, IEC-60950, RoHS/WEEE

Click to Enlarge

 

The board can run Debian GNU/Linux, Windows 10 IoT, Windows 8.1, Android 4.4, Ubuntu, and Yocto Project Custom Linux with source, firmware image, documentation, and hard design files available via the tutorials and github.

The board can be purchase for around $190 on Mouser or Netgate.

 

ODROID-C2 Board Gets Experimental Ubuntu 16.04 Armbian Images with Linux 4.10

May 24th, 2017 5 comments

Hardkernel is doing a good job at providing working images with GPU / VPU support, and documentation for their ODROID boards. But while Exynos based ODROID-XU4(Q) boards already get firmware images with a recent Linux 4.9 kernel, Amlogic S905 based ODROID-C2 board’s Ubuntu 16.04 images still rely on the Linux 3.14 kernel released by Amlogic, plus various patchsets.

But we’ve seen BayLibre is working on a Linux mainline port for Amlogic processors, and Armbian community appears to have leveraged that work, and added Ubuntu 16.04 Server and Desktop images with Linux 4.10 to their build system. Those are experimental nightly builds so they may not have been tested, and it’s likely not working as well as the Ubuntu 16.04 “legacy” images released by Hardkernel. They are also not shown in Armbian ODROID-C2 page at the time of writing, but it’s a step in the right direction.

RAK WisCam is a $20 Arduino Compatible WiFi Camera Linux Board Powered by Nuvoton N32905 ARM9 Processor

May 23rd, 2017 7 comments

A couple of weeks ago I wrote about Rakwireless’ RAK CREATOR Pro development board based on Realtek Ameba RTL8711AM Wireless MCU, and part of their Wiskey family of development boards. Sub-family include WisNode for IoT boards, WisAP for OpenWrt boards, WisPLC for PLC hardware, and WisCam for WiFi video camera boards. The company has recently introduced Wiscam RAK5281 Arduino compatible Linux board powered by a Nuvoton ARM9 MCU, and supporting a camera module or an SD card + USB module.

Click to Enlarge

RAK WisCam specifications:

  • SoC –  Nuvoton N32905R3DN ARM926EJ processor @ 200 MHz with 8KB internal SRAM, 16KB IBR internal booting ROM, 16Mbit  x16  DDR2 memory
  • Storage – 128 MBit SPI flash, included sub-module adds micro SD card
  • Connectivity – 802.11 b/g/n WiFi via Realtek RTL8189FTV module
  • Camera via sub-module
    • 648×488 pixel VGA CMOS Image Sensor (GC0308); 102° FOV
    • Video –  QVGA (320×240) 30FPS, VGA(640×480) 30FPS, MJPEG encoding
    • Photo – JPEG, 16 bits/pixel – RGB565, 32bits/pixel – ARGB8888
  • Audio – 16-bit stereo DAC; built-in microphone, speaker header
  • USB – 1x micro USB port for power and programming, USB 2.0 port via sub-module
  • Expansion – Arduino UNO compatible headers with PWM, I2C, GPIO, ADC, UART, I2S, USB2.0 HS (High-Speed)
  • Power Supply – 5V via micro USB port
  • Dimensions – 55.61mm x 55.88mm

Click to Enlarge

The board runs Linux, and support both USB UVC mode (like most webcam), and video streaming in Android, iOS, or Windows app using RTSP or Nabto P2P cloud server running on the board.  Wiscam board appears to share most of the same components as Nuvoton NuWiCam development board, so software and apps for it may also be compatible. Wiscam documentation is available in the Wiki, and hardware design files such as Altium schematics and PCB layout, as well as source code for board and mobile apps, and datasheets can be found in Github. For some reasons, they shared some of the files in a compress archivve files in github, instead of using the revision control system. Another downside, but common to most ARM9 “IP camera” SoCs, is that the board runs an ancient Linux 2.6.35 kernel.

Some has already done a short video review with the board.

RAKwireless is a startup company, but their WiFi video camera solutions are also being used in products such as Waggle 3D printer remote controller. They seem to be quite responsive, and if you have questions or remarks, they’ll certainly reply to your comments here or by emails.

RAK Wiscam board is sold on Aliexpress for $19.90 + shipping ($3.75 in my case)

Arduino Cinque Combines SiFive RISC-V Freedom E310 MCU with ESP32 WiFi & Bluetooth SoC

May 22nd, 2017 5 comments

SiFive introduced the first Arduino compatible board based on RISC-V processor late last year with HiFive1 development board powered by Freedom E310 MCU, but  the company has been working with Arduino directly on Arduino Cinque board equipped with SiFive Freedom E310 processor, ESP32 for WiFi and Bluetooth, and an STM32 ARM MCU to handle programming.

Click to Enlarge

Few other technical details have been provided for the new board, but since it looks so similar to HiFive1, I’ve come with up with preliminary/tentative Arduino Cinque specifications:

  • MCU – SiFive Freedom E310 (FE310) 32-bit RV32IMAC processor @ up to 320+ MHz (1.61 DMIPS/MHz)
  • WiSoC – Espressif ESP32 for WiFi and Bluetooth 4.2 LE
  • Storage – 32-Mbit SPI flash
  • I/Os
    • 19x Digital I/O Pins
    • 19x external interrupt pins
    • 1x external wakeup pin
    • 9x PWM pins
    • 1/3 SPI Controllers/HW CS Pins
    • I/O Voltages –  3.3V or 5V supported
  • USB – 1x micro USB port for power, programming and debugging
  • Misc – 6-pin ICSP header, 2x buttons
  • Power Supply – 5 V via USB or 7 to 12V via DC Jack; Operating Voltage: 3.3 V and 1.8 V
  • Dimensions – 68 mm x 51 mm

Image Source: Olof Johansson

The board will obviously be programmable with the Arduino IDE, something that’s already possible on HiFive5 possibly with limitations since the platform is still new. Freedom E310 SoC RTL source code is also available via the Freedom SDK.

There’s no availability nor price information, but considering HiFive1 board is now sold for $59, and Arduino Cinque may cost about the same or a little more once it is launched since it comes with an extra ESP32 chip, but a smaller SPI flash. Hopefully, it will take less time than the one year gap experienced between the announcement and the release of Arduino Due.

Using GPIOs on NanoPi NEO 2 Board with BakeBit Starter Kit

May 21st, 2017 10 comments

NanoPi NEO 2 is a tiny 64-bit ARM development board powered by Allwinner H5 processor. FriendlyELEC sent me a couple of NEO 2 samples together with their BakeBit Start Kit with a NanoHat and various modules via GPIOs, analog input or I2C. I’ve already tested both Armbian with Linux 4.11 and Ubuntu Core Qt with Linux 3.10, and ran a few benchmarks on NanoPi NEO 2. You would normally prefer to use the Armbian image with Linux mainline since it provided better performance, but at the time I was told GPIO support was not there.

Configuring NanoPi NEO 2 board with BakeBit library

So this week-end, when I decided to test GPIO support and BakeBit Starter Kit, I decided to follow this advice, especially nanopi-neo2-ubuntu-core-qte-sd4g-20170329.img.zip image is still the recommended one in the Wiki. So I went with that image.

I’ll use Python examples from Bakebit library, but if you prefer something similar to WiringPi, you may consider using WiringNP library directly instead of using Bakebit. Since NanoHat Hub comes with header with digital I/O (including 2 PWM), analog input, I2C and UART interfaces, I’ll make sure I try samples for all interfaces I have hardware for. FriendlyELEC did not include a module with a UART interface, so I’ll skip that one.

I followed instructions in BakeBit wiki from a terminal which you can access from the serial console or SSH. First, we need to retrieve the source code:

Then we can start the installation:

The last line will install the following dependencies:

  • python2.7           python2.7
  • python-pip         alternative Python package installer
  • git                        fast, scalable, distributed revision control system
  • libi2c-dev           userspace I2C programming library development files
  • python-serial     pyserial – module encapsulating access for the serial port
  • i2c-tools              This Python module allows SMBus access through the I2C /dv
  • python-smbus   Python bindings for Linux SMBus access through i2c-dev
  • minicom             friendly menu driven serial communication program
  • psutil                   a cross-platform process and system utilities module for n
  • WiringNP           a GPIO access library for NanoPi NEO

This will take a while, and after it’s done, the board will automatically reboot.

We can check if everything is properly running, but try out one of the Python scripts:

hmm, python-smbus was supposed to be installed via the installation script. Let’s try to install it manually:

Running the command again with verbose option shows the download URL is not valid:

So I went to https://pypi.python.org/simple/ looking for another python-smbus library in case the name has changed, and I finally installed the pysmbus:

I could go further, but the I2C bus was not detected:

So maybe the driver needs to be loaded. But running sudo modprobe i2c_sunxi it does nothing, and I could notice the .ko file is missing from the image…

So let’s try to build the source code for the board following the Wiki intructions:

We also need to install required build packages…

… download gcc-linaro-aarch64.tar.xz toolchain, and copy it to lichee/brandy/toolchain directory (do not extract it, it will be done by the build script).

Now we can try to build the kernel for NanoPi NEO 2 (and other Allwinner H5 boards).

and it failed with more errors possible related to CROSS_COMPILE flag. There must be a better solution… FriendlyELEC guys might not work on Saturday afternoon, and while I did contact them, I decided to try one of their more recent images with Linux 4.11 available here.

Let’s pick nanopi-neo2_ubuntu-core-xenial_4.11.0_20170518.img.zip since it has a similar name, and is much newer (released 3 days ago). I repeated the installation procedure above, and …

Success! Albeit after 4 to 5 hours of work… Let’s connect hardware to ind out whether it actually works, and not just runs.

Analog Input and Digital Output – Sound Sensor Demo

The simplest demo would be to use the LED module, but let’s do something more fun with the Sound Sensor demo I found in BakerBit Starter Kit printed user’s manual, and which will allow us to use both digital output with the LED module connected to D5 header, and analog input with the Sound sensor module connected to A0 header. Just remember the long LED pin is the positive one.

You can run the code as follows:

I changed the source a bit including the detection threshold, and timing to make it more responsive:

The LED will turn on each time the the sound level (actually analog voltage) is above 1.46V.

PWM and Analog Input – Servo and Rotary Angle Sensor Demo

We can test PWM output using the Servo module connected to D5 header, and control it using the rotary angle sensor module connected the A0 analog input header .

Click to Enlarge

The sample for the demo runs fine, and use the potentiometer is detected:

However, the servo is not moving at all. Raspberry Pi relies on rpi-config to enable things like I2C and other I/Os, and I noticed npi-config in the Wiki for NEO 2. So I ran it, and sure enough PWM was disabled.

So I enabled it, and answered Yes when I was asked to reboot. The only problem is that it would not boot anymore, with the system blocked at:

So maybe something went wrong during the process, so I re-flashed the Ubuntu image, reinstalled BakeBit, and re-enabled PWM0. But before rebooting, I checked the boot directory, and noticed boot.cmd, boot.scr, and the device tree file (sun50i-h5-nanopi-neo2.dtb) had been modified. The DTB looks fine, as I could decode it, and find the pwm section:

Let’s reboot the board. Exact same problem with the boot stuck at “Starting kernel…”. So there’s something wrong with the way npi-config modifies one or more of the files. With hindsight, I should have made a backup of those three files before enabling PWM the second time… I’ll give up on PWM for now, and ask FriendlyELEC to look into it.

I2C and Analog Input – OLED UI controlled with Joystick

The final test I’ll use the I2C OLED display module connected to one of the I2C headers, together with the analog joystick module connected to A0 header.

Click to Enlarge

Let’s run the sample for the demo:

It works, but there’s a bit of a lag, and the sample may have to be improved to better detect various states. I’ll show what I mean in the video below.

The bad parts are that documentation is not up-to-date, enabling PWM will crash the image, and while the Python sample do demonstrate IO capabilities, they should probably be improved to be more responsive. The good part is that we’re getting there, the hardware kit is a really nice, and I think the documentation and software should become much better in June, as FriendlyELEC has shown to be responsive to the community issues.

What? Python sucks? You can use C language with GPIOs too

If Python is not your favorite language, FriendlyELEC also provided some C languages samples in the C directory:

As we’ve seen above, Bakebit library appears to rely on WiringNP, and you’d normally be able to list the GPIOs as follows:

The utility is not too happy about seeing an Allwinner H5 board. But maybe the library in the board is not up-to-date, so I have built it from source:

and run the gpio sample again:

Excellent! It’s not quite a work-out-of-box experience, but NanoPi NEO 2 can be used with (most) GPIOs.

My adventures with NanoPi NEO 2 board are not quite done, as I still have to play with NanoHat PCM5102A audio add-on board, which I may end up combining with a USB microphone to play with Google Assistant SDK, and I’m expecting NanoPi NAS Kit v1.2 shortly. I’ll also update this post once PWM is working.