Archive

Posts Tagged ‘wifi’

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.

Realtek RTL8710BN ARM Cortex M4 WiFi MCU, MJIOT-AMB-03 Module & Board, and Ameba 4.0a SDK

May 14th, 2017 5 comments

We’ve already covered Realtek Ameba ARM Cortex M3 WiSoC several times with their RTL8710AF, RTL8711AM and RT8195AM solutions, but the company has now a new “Ameba Z series” relying on an ARM Cortex M4 core starting with RTL8711BN MCU.

RTL8710BN specifications as listed on Realtek website:

  • CPU – ARM Cortex-M4(F) up to 125MHz with FPU (TBC)
  • Memory – 256KB embedded SRAM
  • Storage – 512KB embedded ROM, external flash interface; XIP (eXecut In Place) support
  • Wi-Fi
    • 2.4GHz 1T1R 802.11b/g/n up to 150Mbps; 20MHz and 40MHz
    • WEP, WPA, WPA2, WPS support
  • Security engine – MD5, SHA-1, SHA2-256, DES, 3DES, AES
  • Peripheral Interfaces
    • SDIO Slave
    • 2x UART
    • SPI interface (Master/Slave)
    • 2x I2C interface
    • ADC for voltage management
    • 5x PWM
    • Up to 17x GPIOs
  • Package – QFN-32; 5 x 5 mm

AFAIK, other Ameba MCUs do not support XIP, but RTL8710BN and this lowers memory requirements since code can be executed from storage.

RTL8710BN Board (MJIOT-AMB-03-DEBUG)

MJIOT-AMB-03 module – pictured at the top of this post – is the first module based on RTL8710BN, supports up to 128 MB external flash, and includes a PCB antenna, and an u.FL connector. Power consumption is said to be 2.5 mA during operation, and 70 uA during sleep (@ 3.3V?). The module can be made to interface with cloud services such as Ailink, Joylink, QQlink, Hilink, Gagent, and Weichat. You can find a longer list of hardware parameters here.

The module can also be found on MJIOT-AMB-03-DEBUG, a breadboard-friendly board with a micro USB port, two buttons, and a JTAG/SWD header. The module used to be sold for $1.98 and the board for $5 on eBay, but the listings have expired. However, some RTL8710BN items are still for sale on Taobao with a 5 CNY ($0.725) adapter board for MJIOT-AMB-03 module, 13.30 CNY ($1.93) for the module itself, and 30 CNY ($4.35) for the development board. Shipping (to China) adds 8 CNY ($1.15).

However, you can’t do much with an SDK, and kisste, who has been deeply involved in Ameba solutions (see VGA on RTL8710), found out that this module requires a newer Ameba SDK, and that Ameba SDK 4.0A without NDA had just been released with support for RTL8710BN / Ameba Z series MCU and mbedTLS.

RTL8710BN Module (MJIOT-AMB-03 Pinout Diagram

$8.80 RAK CREATOR Pro Ameba RTL8711AM WiFi IoT Board Comes with 2MB SDRAM, Up to 64MB SPI Flash

May 11th, 2017 9 comments

Realtek Ameba is a family of WiFi ARM Cortex M3 micro-controllers for IoT applications, and RTL8710AF got some buzz last year, as modules would sell as low as $2, hereby competing with ESP8266 in terms of price. While the solution was interesting, the community activity around the solution has been slow as ESP8266 already have the community and software support. Other Realtek RTL8195AM and RTL8711AM processors offer much more memory, but at the time, price was not as attractive with Ameba Arduino board based on RTL8195AM selling for $25. But there’s now a new Arduino compatible board made by ShenzhenRAK Wireless Technology (RAK) that comes with RTL8711AM processor with 1MB ROM, 2MB SDRAM, 512KB SRAM, and up to 64MB SPI flash, and sells for just $8.80 + shipping on Aliexpress.

CREATOR Pro (Wiskey) board specifications:

  • WiFi Module – RAK473 with Realtek RTL8711AM ARM Cortex M3 MCU @ 166 MHz, 1MB ROM, 2MB SDRAM, 512KB SRAM
  • External Storage – Up to 64MB SPI flash (unclear how much is installed by default if any).
  • Connectivity – 802.11 b/g/n WiFi 1×1 with PCB antenna on module, up to 400 ~ 500 meters range
  • USB – 1x micro USB port for power and programming
  • Expansion – Arduino UNO compatible header with I2C, digital IO, Analog inputs, UART, GPIOs, 3.3V, 5V, and GND
  • Debugging – JTAG/SWD header
  • Misc – WPS, Easyconfig, N/R, T/R and reset buttons; configuration jumpers
  • Power Supply – 5V via micro USB port.

The board can be programmed with a fork the Arduino IDE called CREATER IDE. There is a lot of documentation available in the Wiki and download section, but only for RAK473 module. I did not find much specific to WisKey or CREATOR board even in their github account. In case you have questions, they have a support center / forum in English. The company also explains that due to memory constraints in RTL8710AF processor, you have to choose between web server, SSL, MQTT or MDNS functions, while RTL8711AM can run all four simultaneously thanks to the 2MB SDRAM. Other hardware differences are shown in the table below.

RAK473 module itself is sold for $5 + shipping in single unit. RAKWireless is also doing all sorts of other WiFi, LoRa, and WiFi video/camera modules, as well as some other Wiskey boards. You may want to check their website for details.

Via RTL8710 Forum.

SHA2017 Conference Badge To Feature ESP32 SoC, e-Paper Display

May 9th, 2017 5 comments

In most conference, you’ll wear a badge showing your name, job description and company, but with the price of electronics going down, it may be time for a conference badge upgrade. SHA2017 is a non-profit outdoor hacker camp taking place in The Netherlands in 2017 on August 4 – 8, and the organizers are planning to use a special badge comprised of Espressif ESP32 processor, and an e-Paper Display.

Click to Enlarge

SHA2017 Badge specifications:

  • Wireless Module – Espressif ESP32 based ESP-WROOM-32 module with WiFi and Bluetooth
  • Display – 2.9″ e-paper display (296×128)
  • Storage – micro SD slot
  • Expansion – 12-pin expansion header with GPIOs, I2C, 3.3V, GND
  • Debugging – micro USB port + USB->TTL chip for programming
  • Misc – Direction keys, select, start, A and B buttons for input; 6x RGB, LEDs; pager motor for notifications
  • Battery – Battery sized to last at least a day

Click to Enlarge

Beside your name and company details, the badge could also be used for weather and timetable information. EAGLE files and firmware can be found on Github with more details also available in the Wiki. The price of the badge is still expected to be around 20 Euros, and they are looking for sponsors. If you’d like that badge and attend the conference, you’ll need a 250 Euros ticket for the 5-day event.

Thanks to Zoobab for the tip.

Getting Started with ESP32-Bit Module and ESP32-T Development Board using Arduino core for ESP32

May 7th, 2017 16 comments

Espressif ESP32 may have launched last year, but prices have only dropped to attractive levels very recently, and Espressif has recently released released ESP-IDF 2.0 SDK with various improvements, so the platform has become  much more interesting than just a few weeks ago. ICStation also sent me ESP32-T development board with ESP32-bit module, so I’ll first see what I got, before trying out Arduino for ESP32 on the board.

ESP32-T development board with ESP-bit Module – Unboxing & Soldering

One thing I missed when I asked for the board is that it was not soldered, and it comes in kit with ESP32-bit module in one package, and ESP32-T breakout board with headers in another package.

Click to Enlarge

The 21.5x15mm module is based on ESP32-DOWNQ6 processor with 32 Mbit (4MB) of flash, a chip antenna, and a u.FL connector.

Click to Enlarge

The module is apparently made by eBox, and also used in Widora board with all information (allegedly) available on eboxmaker.com website, but more on that later.

Click to Enlarge

ESP32-T breakout board comes with a micro USB port for power and programming/debugging via Silabs CP2102 USB to TTL brige, a power LED, a user LED (LED1), a reset button, and a user button named “KEY”. It has two rows of 19-pin headers, and a footprint for ESP32-Bit module.

Click to Enlarge

The back of the board has a footprint for ESP-32S and ESP-WROOM-32 module, which gives the board some more flexibility, as you could try it with various ESP32 modules.

Time to solder the kit. I placed ESP32-Bit on ESP32-T, and kept it in place with some black tape to solder three to four pins on each side first.


I then removed the tape, completed soldering the module, and added the headers.

Click to Enlarge

The final step is to cut the excess pin on the headers, and now we can test the board which I could insert in a breadboard after pushing with some tools…

I connected a micro USB to USB between the board and my computer, and quickly I could see the PWR LED with a solid green, and LED1 blinking.

I could also see a new ESSID on my network: ESP32_eBox, and I could just input the… wait, what is the password? No idea. So I went to the board’s website, and everything is in Chinese with very limited hardware and software information on the ESP32 page. So it was basically useless, and I did not find the password, and other people neither. I asked ICStation who provided the sample, but they were unable to provide an answer before the review.

I could see the serial ouput via /dev/ttyUSB0 (115200 8N1) in Ubuntu 16.04:

Arduino core for ESP32 on ESP32-T (and Other ESP32 Boards)

But nothing really useful. Since the website mentions Arduino, I just decided to go with Arduino core for ESP32 chip released by Espressif, which explains how to use Arduino or PlatformIO IDEs. I opted to go with the Arduino IDE. The first thing is to download and install the latest Arduino IDE.

I’m running Ubuntu on my computer, so I downloaded and installed the Linux 64-bit version:

The next commands install the Arduino ESP32 support and dependencies:

We can now launch the Arduino IDE:

There are several ESP32 to choose from, but nothing about ESP32-T, ESP32-Bit, or Widora. However, I’ve noticed the board’s pinout looks exactly the same as ESP32Dev board shown below.

Click to Enlarge

So I selected ESP32 Dev Module, and set /dev/ttyUSB0 upload speed to 115200.

Click to Enlarge

The next step is to find an easy example to check if everything works, and there are bunch of those in File->Examples, Examples for ESP32 Dev Module section.

Click to Enlarge

I selected GetCHIPID sample, as it just retrieve the Chip ID from the board, and as we’ll see later the Chip ID is actually the MAC Address. I could upload the code, and it indeed returned the Chip ID:

The next sample I tried – WiFi->SimpleWiFiServer – will allow you to test both WiFi connectivity and GPIOs. I modified the sketch to use pin 2 instead of pin 5  in order to control LED1 on the board connected to GPIO2. You’ll also need to set the SSID and password to connect to your WiFi network. Once you’ve compiled and uploaded the sketch to the board, you’ll need to find the board’s IP address. You can do so in your router DHCP list with the board named “espressif” by default, and the MAC address will be the same as the CHIP ID, 24-0A-C4-01-A4-24 in my case. Now you can open the web interface in a web browser to turn on and off LED1 green LED on the board.

You could also use directly http://IP_ADDRESS/H or http://IP_ADDRESS/L to pull the pin high or low. It worked beautifully, but so far, we have not done anything that does not work on the much cheaper ESP8266 boards, and I can see one Bluetooth LE code sample for ESP32 called simpleBLEDevice in Arduino IDE, so let’s try it. It will just broadcast advertise the name of the device, and change it on button press, which could be used to broadcast message to a BLE gateway.

That’s the output from the serial terminal.

The initial name is ESP32 SimpleBLE, and as I press the KEY button on the board, the name will change to “BLE32 at: xxx”. I could detect a Bluetooth ESP32 device with the various names with my Android smartphone.

Since, it’s just advertising the name, there’s no pairing. But that’s a start. To have more insights into Bluetooth, you may also want to check out WiFiBlueToothSwitch.ino sample which shows show to use various mode such as Bluetooth only, Bluetooth + WiFi, WiFi STA, etc… For a more practical use of Bluetooth on ESP32, Experiments with Bluetooth and IBM Watson article may be worth a read. But a faster dual core processor and Bluetooth support are not the only extra features of ESP32 compared to ESP8266, as you also get more GPIOs, hardware PWM, better ADC, a touch interface, a CAN bus, Ethernet, etc…, so there’s more to explore, although I’m not sure all features are fully supported in ESP-IDF SDK and Arduino.

Final Words about ESP32-T and ESP32-Bit

After some initial difficulties, and confusions, I managed to make ESP32-T development kit work, but it’s difficult to recommend it. First, documentation is really poor right now, and while I found out you can use the exact same instructions than for ESP32Dev board, it does not reflect well on the company. Second, the board is sold as a kit that needs to be soldered, which may be a hassle for many, and possibly a fun learning experience for a few. Finally, ESP32-T + ESP32-Bit sells for $15 to $20 on various website, which compares to competitors fully assembled development boards – such as Wemos LoLin32 – now going for less than $10 shipped, and which basically the same features set (ESP32 + 4MB flash) minus the user LED and button, and a u.FL connector for an external antenna.

I’d still like to thank ICStation for giving me the opportunity to test the board. They are now selling it for $14.99 shipped with 15% extra discount possible with Jeanics  coupon (for single order). You’ll also find ESP32-T board on Aliexpress, but pay close attention if you are going to buy there, as it may be sold without ESP32-Bit module. Usually, all prices well below $10 are without the module.

Whitecat ESP32 N1 Board Combines ESP32 WiFi + Bluetooth SoC with a LoRa Transceiver, Runs Lua RTOS

May 2nd, 2017 4 comments

Espressif ESP32 SoC is gaining traction right now as prices have come down, and there’s still an on-going fight among LPWAN standards with LoRaWAN being fairly popular in Europe. Whitecat, a group of engineers from several companies based in Citilab, Barcelona, Spain, has designed a board that combines both ESP32 and a LoRA transceiver, bringing an alternative to Pycom LoPy board, but instead of running MicroPython, they have developed Lua-RTOS.

Whitecat ESP32 N1 hardware specifications:

  • SoC – Espressif ESP32 dual-core Tensilica LX6 microprocessor @ up to 240MHz with 520kB internal SRAM
  • Storage – 4MB flash memory
  • Connectivity
    • LoRa WAN transceiver working in the 868 (EU) MHz / 915 (USA) MHz with on-board antenna, and u.FL connector for external antenna
    • Integrated 802.11b/g/n WiFi transceiver with on-board antenna, and u.FL connector for external antenna
    • Integrated dual-mode Bluetooth (classic and BLE)
  • I/O Headers – 2x 16-pin with SPI, I2C, I2S, SDIO, UART, CAN, ETHERNET, IR, PWM, DAC, ADC.
  • Power Supply
    • 3.3 to 5.5V operating range through input voltage regulator
    • Second voltage regulator for power on / power off sensors through a dedicated GPIO
  • Dimensions – 78 x 26 mm

By default, the board runs Lua RTOS real-time operating system designed to run on embedded systems, and currently supporting ESP32, ESP8266 and PIC32MZ platforms. The OS has a  3-layer design:

  1. Top layer – Lua 5.3.4 interpreter with special modules to access the hardware (PIO, ADC, I2C, RTC, etc …), and middleware services provided by Lua RTOS (Lua Threads, LoRa WAN, MQTT, …).
  2. Middle layer – Real-Time micro-kernel powered by FreeRTOS.
  3. Bottom layer – Hardware abstraction layer, which talk directly with the platform hardware.

Lua RTOS boards can be programmed with Lua programming language directly, or using a block-based programming language that translates blocks to Lua.

ESP8622 and PIC32 targets have some limitations so features like SSL are not implemented, but ESP32 supports all features listed below:

  • Lua Thread, Pthread API
  • SSL
  • On-board editor, Shell
  • FAT and SPIFFS file systems
  • WiFi, Ethernet
  • LoRaWAN class A & B node, LoRa WAN gateway
  • ADC, SPI, UART, PIO, PWN, I2C, CAN,
  • Sensor, Servo

Bluetooth is missing from the list. You’ll find Lua RTOS source code and instructions to get started on Github. The Wiki is also also a good place to get started with ESP32 N1 Board and Lua-RTOS.

Board pricing is currently a little on the high side, as ESP32 N1 board is sold for 30 Euros without Lora, and 40 Euros with LoRa. Worldwide shipping adds 5 Euros to the total. You’ll find more details, including the purchase links, on Whitecat ESP32 N1 page.

Intrinsyc Introduces Open-Q 2100 SoM and Devkit Powered by Qualcomm Snapdragon Wear 2100 SoC for Wearables

April 27th, 2017 3 comments

Qualcomm unveiled Snapdragon Wear 2100 SoC for wearables early last year, and since then a few smartwatches powered by the processor – such as LG Watch Style and Watch Sport – have been launched, and Intrinsyc has now unveiled one of the first module based on the processor with Open-Q 2100 system-on-module, and a corresponding Nano-ITX baseboard.

Open-Q 2100 SoM specifications:

  • SoC – Qualcomm Snapdragon Wear 2100 (APQ8009W) quad core ARM Cortex A7 processor @ up to 1.094 GHz with Adreno 304 GPU
  • System Memory – 512 MB LPDDR3
  • Storage – 4GB eMMC flash
  • Connectivity – 802.11 b/g/n WiFi (WCN2320), Bluetooth 4.1 LE, Gen 8C GNSS (GPS/GLONASS) with on-board u.FL connector (WGR7640)
  • Audio – Integrated Codec/PMIC (PM8916-1) with optional support for Fluence HD, Snapdragon Voice Activation, and Snapdragon Voice+
  • 2x 100-pin board-to-board connectors with USB 2.0, I2S, GPIO, MIPI DSI up to 720p @ 60 Hz, 2-lane MIPI CSI, SDC2/microSD signals
  • Power Supply – 3.6 to 4.2V input
  • Dimensions – 31.5 x 15 mm
  • Temperature Range – -10 to +70 °C

The module runs Android 7 Nougat by default, but it can also support Android Wear.

The company also provides Open-Q 2100 SoM development board to evaluate the platform, and get started as soon as possible while you wait for your custom baseboard. The development includes the following key features:

  • Connectors for Open-Q 210 system-on-module
  • Storage – micro SD slot
  • Display – MIPI DSI connector with optional smartphone display, HDMI output
  • Camera – MIPI CSI connector for optional 720p capable camera
  • Connectivity – Ethernet port (via LAN9514); wireless connectivity (WiFi, BLE, GPS) on module
  • USB – 4x USB 2.0 host ports
  • Expansion Headers – SPI, I2S, GPIO, etc…
  • Debugging – micro USB port for debug UART
  • Power Supply – 12V/3A via DC jack, or 6-pin battery connector
  • Dimensions – Nano-ITX form factor (120×120 mm)

The module is expected to be used in connected wearables & trackers, tethered smartwatches, as well as ultra-compact embedded designs.

Open-Q 2100 SOM and Development Kit can be pre-ordered for respectively $75 and $595, with “early adopter units available to approved customers by May 31”. More information can be found on Intrynsic Open-Q2100 SoM and Devkit pages.

Via LinuxGizmos