Archive

Posts Tagged ‘development board’

Firefly Introduces RK3399 CoreBoard with up to 4GB RAM, 128GB eMMC Flash

September 20th, 2017 No comments

Firefly-RK3399 is a development board powered by Rockchip RK3399, and the company behind the board has now launched a system-on-module called RK3399 Coreboard with 2 to 4GB RAM, 8 to 128GB flash, a PMIC, and a 314-pin MXM 3.0 edge connector exposing various I/Os.

RK3399 CoreBoard specifications:

  • SoC – Rockchip RK3399 hexa-core big.LITTLE processor with dual core ARM Cortex A72 up to 2.0 GHz and quad core Cortex A53 processor, ARM Mali-T860 MP4 GPU with OpenGL 1.1 to 3.1 support, OpenVG1.1, OpenCL and DX 11 support
  • System Memory – 2GB or 4GB DDR3
  • Storage – 8, 16, 32 or 128 GB eMMC flash
  • Carrier Board Interface – 314-pin MXM 3.0 edge connector with Ethernet, PCIe, HDMI 2.0, DP 1.2, MIPI DSI, eDP 1.3, S/PDIF, I2S, GPIO, USB, etc… signals
  • Power Supply – 5V/3A input; RK808 PMIC
  • Dimensions – 82 x 63 mm
  • Weight – 24 grams

The company provides support for Android 6.0.1 and Ubuntu 16.04 for the module, and we should expect the same kind of support as for Firefly-RK3399 board. In order to help their customers getting started before they design their own custom board for the module, T-Firefly also offers a complete development kit combining RK3399 Coreboard with a carrier board.

Click to Enlarge

The carrier board – which they call backplane – exposes the following interfaces and I/Os:

  • Video Output – HDMI 2.0, MIPI DSI, DVP interface, eDP 1.3
  • Camera – MIPI CSI
  • Audio – Audio in/out, built-in microphone, speaker header, optical S/PDIF, MIC IN header, LINE OUT header
  • Storage – 2.5″drive SATA connector (back of the board), PCIe M.2 M key, micro SD card slot
  • Connectivity – Gigabit Ethernet (RJ45), Fast Ethernet (RJ45), WiFi and Bluetooth module, mini PCIe slot for LTE module + SIM card slot
  • USB – 2x USB 2.0 host ports, 1x USB 3.0 port, 1x USB type C port, micro USB port
  • Expansion – 30-pin GPIO header
  • Misc – IR receiver, power/recovery/reset keys, RTC battery header, fan connector
  • Power Supply – Via power barrel jack
  • Dimensions – TBD

Either they’ve hidden it well, or they don’t have product page for RK3399 Coreboard on their website, and the only place where we’ll find some information is RK3399 Coreboard page in their online shop with the SoM going for $95 with 2GB RAM, 8GB flash, and $119 with 4GB RAM, 16GB flash, The development kit and variant of the SoM are not sold online (anymore), so you’d have to contact them to find about pricing and availability.

Amlogic S805X Processor is Designed for Low Cost TV Boxes with 1080p H.264, H.265 and VP9 Video Support

September 20th, 2017 5 comments

The low end of the TV box market is now highly competitive with Rockchip and Amlogic battling to offer the cheapest solutions available, as we’ve seen in a recent factory price list of TV boxes with RK3229 based devices selling for as low as $17.8, and Amlogic S905W based boxes going for $17.5 and up (per unit) for orders of 200 pieces. Amlogic has been working on an even lower cost SoC with Amlogic S805X based on four Cortex A53 cores, the same Mali-450MP GPU, but no 4K support, and instead H.264, H.265 and VP9 video decoding up to 1080p60, as I found out in a document shared on Amlogic Open Linux website.

Amlogic 805X will be quite similar to Amlogic S905X and S905D with the same CPU by clocked at a lower 1.2 GHz frequency, the same penta-core GPU, TrustZone support, and Fast Ethernet. The main difference is that in order to lower costs, they limited the multimedia capabilities to 1080p video decoding, and 1080p video output. Those last two actually make it more similar to Amlogic S805 SoC, but instead of a four Cortex A5 32-bit cores, S805X comes with more powerful Cortex A53 64-bit cores, and VP9 support was added to S805X.

The processor is likely be used in both Android and Linux TV boxes, as the company’s Mbox P241 reference platform / development board based on S805X SoC, comes with either 512MB DDR3 or 1GB DDR4, coupled with eMMC flash, and an AP6255 wireless module supporting 802.11 b/g/n/ac and Bluetooth 4.2.

I’ve yet to see any S805X TV boxes, even on Alibaba, but I’d expect them to sell retail for around $20 including shipping. The processor could also be an interesting choice for low cost development boards, competing against Allwinner H5 solutions.

uCAN CAN Ethernet Converter and Logger is Based on Orange Pi Zero Board

September 19th, 2017 1 comment

The CAN bus is a serial communication protocol used in automotive and automation applications. The guys at ucandevices.pl have designed a solution around Orange Pi Zero board that allows you to log CAN bus data or act as a bridge between the CAN bus and Ethernet or WiFi. They call it “CAN Ethernet converter, CAN Logger, Linux CAN computer”. Sorry, no shorter name that I could find…

Click to Enlarge

uCAN (pronounced micro CAN) CAN Bus board specifications:

  • Main Board – Orange Pi Zero with Allwinner H2+ quad core cortex-A7 processor, 256 MB RAM
  • Network Connectivity – 10/100M Ethernet, 802.11 b/g/n WiFi
  • Can Bus – 2-pin terminal block; support for CAN version 2.0 support
  • Power Supply – DC 5V/2A via micro USB port
  • Dimension – 50 x 50 x 20 mm

The device comes pre-load with Debian distribution provided by Armbian plus various CAN tools. The getting started video below shows uCANTools web interface programmed with Node.js and running by default on the board, and explains how to use sockets instead to access the CAN data.


You can find the source code for uCANTools on Github, and the other pre-installed tools are based on can-utils package available from Debian repository.

uCAN CAN Ethernet converter is normally sold on Tindie for $50 plus shipping, but right as I was about to finish this article the price switched to $150 with the message “This seller is on vacation. Please return after Oct. 14, 2017 to purchase this awesome product!”. Oh well…

LimeSDR Mini is a $135 Open Source Hardware, Full Duplex USB SDR Board (Crowdfunding)

September 18th, 2017 13 comments

LimeSDR open source hardware software defined radio was launched last year with the promise of integration with Ubuntu Snap Store allowing to easily download and install various radio implementations such as LTE, WiFi, Bluetooth, LoRa, etc… It was offered for $200 and up as part of a crowdfunding campaign, but Lime Microsystems is back on CrowdSupply with a cheaper and low end version aptly called LimeSDR Mini.LimeSDR mini specifications:

  • FPGA – Intel Altera Max 10 (10M16SAU169C8G) with 16K Logic gates, 549 KB M9K memory, 2,368 KB user flash memory
  • Storage –  4 MB flash memory for data; 2x128KB EEPROM for RF transceiver MCU firmware and data
  • RF
    • Lime Microsystems LMS7002M RF transceiver
    • Tx & Rx SMA connectors
    • Frequency range – 10 MHz to 3.5 GHz
    • RF bandwidth – 30.72 Mhz
    • Sample Rate – 30.72 MSps with 12-bit sample depth
    • Power Output (CW): up to 10 dBm
  • USB – 1x USB 3.0 port via FTDI FT601 controller chip
  • Expansion – 8-pin FPGA GPIO header
  • Misc – 2x  dual color LEDs, JTAG
  • Power – USB or external power supply
  • Dimensions – 69 mm x 31.4 mm

The company also put together a table to compare LimeSDR to LimeSDR Mini and other product on the markers from the dirty cheap RTL-SDR stick to more expensive and advanced solutions like Ettus B210.

The new LimeSDR Mini board will support the same development tools such as LimeSuite, and Snappy Ubuntu Core apps as its old brother, although I’m not quite sure about the status about the app store, as they did not provide that many details. The board will also be open source hardware, with hardware design files that should be released on MyriadRF’s Github account shortly before or after shipping. The company will also offer some accessories for the board such as an acrylic enclosure, and three SMA antennas optimized for 800-960 MHz, 1710-2170 MHz, and 2400-2700 MHz.

LimeSDR Mini Prototype (no SMA connectors) in Acrylic Case

The goal is to raise at least $100,000 for mass production, and after a few days they’re off to a good start with over $76,000 pledged. All 500 $99 early bird rewards are gone, but you can still pledge $139 for the board with delivery planned for December 31, 2017. Shipping is free to the US, and $10 to the rest of the world.

Need to Program Many ESP-WROOM-32 / ESP-32S Modules? This Board Should Help

September 18th, 2017 1 comment

We’ve just published an article about a 3D printed jig to program some ESP8266 light bulbs, but as I watched Andreas Spiess’s latest video about ESP32 boards, he showed a board specifically designed to flash firmware to ESP-WROOM-32 or/and ESP-32S modules, which could be useful if you have many to program.

Click to Enlarge

The acrylic base does not appear to be offered by all vendors, as some use some standoffs instead to lift the board up. You just need to insert your compatible ESP32 module in the board, flash the firmware it, take it out, and more to the next module. It can also be used as a development board since it exposes I/Os via three 14-pin headers, comes with a on/off button, reset and program buttons, as well as a micro USB port for power, programming and debugging

I first found it on Banggood, where it is sold for $14.99 shipped, the best price at the time of writing, but you can also purchase it on Amazon, eBay, Aliexpress, and I’m sure other websites. Just search for “ESP32 Test Board Small Batch Burn Fixture”.

7″ LCD Display with HDMI input, Audio output Launched for Orange Pi (and Other) Boards

September 15th, 2017 8 comments

If you want a cheap and simple way to add a screen to your development board, there are some 7″ displays with HDMI inputs that costs under $30 shipped. But Shenzhen Xunlong has decided to make their own 7″ LCD display with HDMI input and audio output, and sell for $22 + shipping.

The company only provided minimal technical information about the board and display:

  • Display  – 7″ TFT LCD with 1024×600  resolution
  • Video & Audio Input – HDMI
  • Audio Output – 3.5mm audio jack
  • Power Supply – 5V via micro USB port

If we look at a closer picture of the board, we’ll see they used Lontium LT8619B, but the company’s website is down… The board also features three different connectors for displays, so they probably have other displays planned. While the company claims the display is made for  Orange Pi H3 boards, it should really work with any board that can output 1024×600 over HDMI.

Click to Enlarge

All you need to use the kit is a board, a HDMI cable (preferably less than 1.5 meters), and a USB power supply for the “transfer” board and the display. It should also be possible to connect speakers via the 3.5mm audio jack. As usual, no documentation is provided, but I would not expect too many issues as long as the hardware works.

Wemos LOLIN32 Lite Board Powered by ESP32 Rev 1 Chip Sells for $4.90

September 14th, 2017 3 comments

Wemos introduced the first low cost ESP32 board with LOLIN32 board going for $6.90 plus shipping in April, but the company is now back with a new Lite version of the board switching ESP-WROOM-32 module with their own design around ESP32 Rev 1 chip (with various silicon bug fixes), and a lower $4.90 price tag to which you need to add ~$2 for shipping.

Click to Enlarge

Wemos LOLIN32 Lite is also smaller, so we’ll lose some of the pins (mostly extra power pins), but the I/Os look the same:

  • SoC – Espressif ESP32-DOWD6Q Rev 1.0 dual core Tensilica Xtensa LX6 processor with WiFi and BLE
  • Connectivity – 802.11 b/g/n WiFi + Bluetooth LE
  • I/Os via 2x 13-pin headers with digital I/Os, analog inputs, UART, I2C, SPI, VP/VN, DAC…
    • 3.3V I/O voltage
    • Breadboard compatible
  • USB – 1x micro USB port for power and programming/debugging
  • Misc – Reset button
  • Power – 5V via micro USB + battery header for Lithium battery (charging current: 500mA max)
  • Dimensions & Weight – TBD

The board sold on Aliexpress is pre-loaded with micropython firmware, but you could also change that to Arduino, or other supported firmware. The Wiki has limited information for now.

Getting Started with Espruino & JavaScript on ESP32 with ESPino32 Board

September 11th, 2017 No comments

Venus Supply Co., Ltd, better known as ThaiEasyElec, is a company based in Thailand, selling embedded systems and development board, as well as providing development services based in Thailand. The company sent me their latest board called ESPino32 powered by Espressif ESP-WROOM-32 WiFi and Bluetooth module for evaluation. While the board is supported in Arduino-esp32, I’ve already tested Arduino with ESP32-Bit module & ESP32-T board, so after checking out the hardware, I’ll load it with something different: Espruino, a firmware allowing for JavaScript programming over the serial console, or a Web based IDE.

ESPino32 Unboxing and Soldering

The board shipped with four female headers, and I/O stickers.

Click to Enlarge

The board includes ESP-WROOM-32, exposes I/Os through four 10-pin headers, features CP2104 chip for serial to USB debugging via micro USB port, two buttons (reset and program), a user LED connected to IO16, and a jumper to select between regulated power supply (micro USB or Vin), or battery power (Vbat).

Click to Enlarge

If you’re going to integrate your board in a project, you may want to use it asif without header to save on space, but for prototyping and use with a breadboard, we should start by soldering the four female headers. It’s even a little easier than with other headers, since you can simply place the board on top of the headers to do the soldering.

Click to Enlarge

Once we’re done, we can apply the stickers on all four headers, which will make it easier to play with while connecting the jumper cables.

Now we can insert the board into a breadboard, connect an external 5V LED through pin 16, and connect a micro USB cable to a computer to get power and access the board.

Click to Enlarge

A board with female headers has the advantage of providing two usable rows on each side of the board. With male-only you’d lose that extra row, unless you use a narrower board such as  ESP32 Pico Core board.

That’s the output I get when connecting the board to my Linux computer:

Quick Start Guide for Espruino on ESP32

Espruino has a page about ESP32 support that explains what is working:

  • onewire
  • hardware SPI
  • hardware I2C
  • DAC
  • ADC
  • Serial
  • WIFI – as a client and access point

and what is not (yet):

  • Over-The-Air (OTA) firmware updates.
  • Bluetooth and BLE

So we can’t play with Bluetooth, but WiFi and GPIO should work. There are also some instructions in that page which I will follow and adapt (since some are not working/out of date) below.

First we need to download the latest version of Espruino, in my case Espruino 1.94.

Espruino Firmware for various board – Click to Enlarge

The zip file includes firmware for all supported platforms include the company’s own Espruino boards & Puck.js, Micro::bit, OlimeXino, Raspberry Pi, STM32 discovery boards, and more..

For our use, we need to get into espruino_1v94_espruino, where we’ll find 3 binary files (bootloader.bin, espruino_esp32.bin, and partitions_espruino.bin), as well as README_flash.txt that explains how to do the update in Windows with flash_download_tools_v3.4.4.zip, or in Linux with esptool.py from the ESP-IDF SDK. I’m running Ubuntu 16.04, so I’ll go with the later, but since most people won’t need to install the ESP-IDF SDK, you can instead get esptool from pip for Python 2.7 or 3.4 or newer:

if you’ve used esptool previously for other esp32/esp8266 board(s) before, you can upgrade esptool with:

In my case, I had installed an older version of esptool (v0.4.6) with apt when I played with NodeMCU board, so I removed it:

Now that we have the latest esptool utility installed, we can flash the image we’ve  just extracted:

It worked the first time. Log of successful installation:

At this point, in theory, you can install Espruino Web IDE chrome extension,  click on the connect icon on the left top corner, select /dev/ttyUSB0 port, and program away.

Click to Enlarge

Espruino Web IDE will also show in Ubuntu 16.04 dash. But in practise, there’s a known issue that the first time you won’t be able to connect through the Web IDE, and indeed I could not.. The work around is to first connect using screen or minicom in a terminal window:

We can then run an hello world sample:

That “=undefined” is a little confusing, but Espruino developers explain that is expected :

This is normal and it indicates the result of the last operation, which in this case is the return value of console.log, which is always undefined.

The next step is to configure a WiFi connection to your access point:

Replace “YOUR_SSID” and “YOUR_SSID_PASSWORD” with the value for your WiFi router. If this is successful, you should  see a message like shortly after:

The line wifi.save() will make sure the WiFi connection is permanent, so the board will reconnect to the router automatically after each reboot.

We can now go back to Espruino Web IDE, click on the Setup icon on the top right corner, go to Communications tab, and input the IP address (192.168.0.112 in my case) in the field “Connect over TCP Address“.

Click to Enlarge

You don’t even need to connect the board to your computer at this stage, if you be powered by a battery, or a USB power adapter. If we click on the Connect icon again, we’ll have the option to select TCP/IP: 192.168.0.112.

Click to Enlarge

I wrote a simply LED blink demo in the right part of the window, and clicked on he Upload button (third button in the middle) to upload and start the program:

Click to Enlarge

D16 is connected both the board’s IO16 LED and the LED on the board. IO16 will be turned on when D16 is low, and my LED when D16 is high every half second. I’ve shot a quick demo below.

However, if you reboot or power cycle the board, your program will not automatically start. So if you want the program to be “permanent”, add save command at the end of your code:

The output from the console should look like when you click on Upload button.

I could turn off and on the board, the LED demo resumed automatically without having to upload the code from the IDE.

Note that at this stage, I started to have some strange issues, like failure to connect to the board, and sometimes it would should “module http not found” or “module wiki not found”, as I wrote code for a web server.

It could be you need include the code for a permanent WiFi connection, before running the save command. It was still working sometimes, but I decided to connect through micro USB cable via Espruino Web IDE (it worked at this stage) to carry on with my tests more reliably.

In case you want to use ESPino32 board as small webserver, you can do so by creating a access point, and returning a simple “hello world” with the following code:

I click on Upload button, and I could access web server from Firefox.

The main advantage of Espruino over the Arduino IDE is that it’s much faster to try your code on the target, since there’s no need to compile a binary, upload to the board, and flash to storage during development. Another advantage depends on your skill set, as if you’re a seasoned web developer with a good knowledge of JavaScript, you won’t need to learn C programming used in Arduino IDE.

For other interface (SPI, I2C, ADC…) and more advanced tasks, you may check Espruino ESP32 page, but be forewarned, as the blink and web server samples did not work for me (unknown variable and missing semi-colon) by default. So you may want to read through the API reference in case the samples do not work. The company behind Espruino, Pur3 Ltd, is likely focusing most of the development efforts of their own hardware platforms like Puck.js and Espruino boards, and there’s more activity for those in the forums. So if you are interested in JavaScript on micro-controllers, but don’t want too many issues, ESP32 may not be best platform to learn, but if you like challenges, go ahead! 🙂

I’d like to thank ThaiEasyElec for sending an ESPino32 board sample. The company sells the board locally and globally for respectively 590 THB / ~$16 plus shipping on their website, where you’ll also find some documentation in English and Thai language. If you are based in Thailand, you can get further discount and free shipping if you purchase through LINE app.