Archive

Posts Tagged ‘wifi’

Armtronix AC Powered WiFi Quad Relay Board is Powered by ESP8266 SoC (Crowdfunding)

June 23rd, 2016 3 comments

Armtronix, an Indian startup, has come to kickstarter to launch a quad relay board with an AC terminal based on ESP8266, and the company also offer a complete kit allowing you to build your own wireless power strip with the board.

WiFi_Quad_Relay_Board_ESP8266WiFi quad relay board specifications:

  • Wireless module – ESP8266 module
  • 4x Relays to connect four AC/DC loads with terminals offering both MO and NC options
  • “ModeMCU” headers to connect additional sensors such as PIR, IR, Temperature, Humidity, Limit switch etc.
  • USB – micro USB port for programming.
  • Misc – LEDs
  • Power Supply – Terminal with 100-240V AC to 5V DC converter.
  • Dimensions – 145 x 60 x 22 mm.

The WiFi Quad Relay Board can be programmed as “MQTT Client” for networking/home automation integration using Arduino IDE, and controlled/ setup with a smartphone running a web browser. Some code is already available on the company’s github account.

WiFi_Smart_Strip_ESP8266The crowdfunding campaign had a lowly $299 funding target, and we’re now well pass that level. $15 should get you 5 bare PCBs, $29 a complete WiFi quad relay board, and $79 a complete kit with a four socket case, the board, a PIR sensor, a WiFi smart switch with one relay, a temperature sensor, an 0.96″ OLED 128×64 display, and a Bluetooth module. Shipping adds $7 to $12 depending on rewards, and delivery is scheduled for October 2016.

Get an Early ESP32 Board by Contributing to Luanode for ESP8266 & ESP32 Project (Crowdfunding)

June 22nd, 2016 4 comments

Development boards and module based on Espressif ESP32 dual core processor with WiFi and Bluetooth LE connectivity are due for Q3 or Q4 2016, but you could get an early sample as early as July if you contribute to Jimmy Wu’s (of wifimcu.com) crowdfunding campaign to develop Luanode (Lua SDK) for ESP8266 and ESP32 processors, as ESP32 boards are part of the rewards.

ESP32_Development_Kit

Luanode is a Lua SDK for ESP32 and ESP8266 that supports multi-tasking through FreeRTOS, and includes support for peripherals. The source code and documentation can be already be found on Github, and the main differences against something like NodeMCU appear to be multi-tasking and (for now) ESP32 support. Interestingly the SDK contains a tools called WiFi-Killer uses for Denial of Service (DoS) attacks using ESP8266 or ESP32 modules…

ESP32_Video_Camera_Tank

One hardware project is called WiFi tank comprised of one T300 Tank Chassis, ESP8266 Development Kit, 720p HD Camera, WR703N Wireless Router, and controlled by an Android or iOS smartphone. The company behind the project is DOIT (Doctors of Intelligence and Technology) and the funds would be used for hardware, software, and documentation.

With less than 3 days to go, the campaign has not reached its goal yet however. ESP32 development kit rewards is $19, while a pack with 6 ESP32 devkit only costs $39 (maybe baseboard + 6 modules?), and the WiFi tank “video car” is also offered for $219. Shipping appears to be included, and delivery is scheduled for July 2016 for all three rewards.

Thanks to Harley for the tip.

Espressif ESP8285 is just like ESP8266 but with 1MB built-in Flash, and Designed for Wearables

June 22nd, 2016 1 comment

Espressif announced ESP8285 WiFi SoC was entering production last March. The new processor is based on ESP8266, but the company added 1MB built-in flash to make the solution smaller, and more suitable to wearables such as smartwatches and activity trackers.

ESP8285

A.I. Thinker ESP8285 Module

ESP8285 features a Tensilica L106 32-bit MCU and another ultra-low-power 16-bit RISC core, as well as 802.11 b/g/n/d/e/i/k/r WiFi connectivity. AI Thinker has already produced a tiny module based on the solution, called ESP-8285, and another person has developed an ESP8285 development board sold on Tindie for $24.95, and with some code sample (Arduino sketches) on Github.

ESP8285_Development_Board

Espressif ESP8285 Development Board

You’ll also find some more technical information on a Devacron blog post, or inside the datasheet on Espressif website.

ESP8285 Block Diagram

ESP8285 Block Diagram

Via Hackaday

802.11ax WiFi Aims to Deliver Higher Throughput (Up to 10 Gbps), Better Handle High Density Scenarios

May 27th, 2016 1 comment

802.11ax WiFi, also known as High-Efficiency Wireless (HEW), aims to improve the average throughput per user by a factor of at least 4 times in dense user environments, with a total bandwidth of 10 Gbps over 2.4 and 5.0 GHz . The new standard is still work in progress and is expected to be published in 2019.

802.11ac_vs_802.11ax

802.11ax WiFi key features include:

  • Backwards compatible with 802.11a/b/g/n/ac
  • Increase 4x the average throughput per user in high-density scenarios, such as train stations, airports and stadiums.
  • Data rates and channel widths similar to 802.11ac, with the exception of new Modulation and Coding Sets (MCS 10 and 11) with 1024-QAM.
  • Specified for downlink and uplink multi-user operation by means of MU-MIMO and Orthogonal Frequency Division Multiple Access (OFDMA) technology.
  • Larger OFDM FFT sizes (4x larger), narrower subcarrier spacing (4x closer), and longer symbol time (4x) for improved robustness and performance in multipath fading environments and outdoors.
  • Improved traffic flow and channel access
  • Better power management for longer battery life

802.11ax_vs_802.11ac_subcarrier_spacing

So 802.11ax looks particularly suited to public space and WiFi in buildings, but if you live in the countryside or other low population density areas, it may not bring that much benefit over 802.11ac. You can read more about 802.11ax in National Instruments’ white paper, where they also mention software and equipment that can be used to work with the upcoming 802.11ax such as WLAN Measurement Suite and PXI RF Vector Signal Transmitter (VST). You can also visit IEEE 802.11ax page.

Updating Star Cloud PCG02U to Ubuntu 16.04 with WiFi and HDMI Audio Support

May 26th, 2016 13 comments

I completed my review of PCG02U Ubuntu TV stick a few days ago, and I was quite satisfied with the device, but since Ubuntu 16.04 was released last month, I thought it might be fun to upgrade to the latest version of Ubuntu. I’m go through the complete steps including building a new kernel for HDMI audio, and the drivers for WiFi, but you should be able to install Ubuntu 16.04 for Bay Trail and Cherry Trail processor with the image made by Linuxium and a USB stick.

Star Cloud PCG02U OS Support and Warranty

Before I go through the instructions, you may want to read the conditions on MeLE’s Aliexpress PCG02U page.

PCG02U_Linux_OS_WarningThey meant Ubuntu 14.04 instead of 14.0.4, but the important part is that if something goes wrong trying alternative OS, you may lose your warranty.

Upgrade Ubuntu 14.04 to Ubuntu 16.04

Upgrading from one LTS version to the next should be easy using the update manager…

… or doing it through the terminal entirely:

However, it did not work for me, as it quickly ended with the message:

I noticed that PCG02U was still stuck on Ubuntu 14.04.3 LTS, despite running dist-upgrade:

After trying several solutions, I eventually changed the Ubuntu mirror, and the steps above completed successfully with Ubuntu 16.04 running.

Click to Enlarge

Click to Enlarge

At least two little problems though: I lost HDMI audio with only Dummy Output available, and while Ethernet was still working after the update, WiFi support was gone… But if you don’t need either you’re good to go.

Enabling HDMI audio in PCG02U

Luckily we already have the instructions to enable HDMI audio for Bay Trail and Cherry Trail processors, all we need is a Linux 4.5 kernel and patch it. I’ll do everything inside PCG02U, and I have not used a separate build machine, which would likely be faster. Tip: you’ll need gcc 4.9 or greater. I used the instruction here and there.

First let’s build the dependencies required to build the kernel in Ubuntu.

Now let’s get the patches in a working directory

as well as the Linux 4.5.1 kernel patched for Ubuntu and the Intel Atom HDMI audio support:

Now we can configure the build:

This will ask which config files to configure for AMD64, i386, ARM and so on. We only need to edit the first one (AMD64). Once you are in the config menu, use menuconfig search function to locate SUPPORT_HDMI option and enable it. Exit and save.
CONFIG_SUPPORT_HDMI

Before starting the build add something like “+some_string” to the end of the first version number in the debian.master/changelog> file. I added +hdmi_audio string:

You can now start the build with:

However, the build did not complete for me, with the error:

I followed the instructions on askubuntu, and disabled set do_zfs = false in debian.master/rules.d/amd64.mk, and completed the build with the same command line. It took around 2 to 3 to complete the build on PCG02U, and I had a bunch of deb packages…

.. and I installed the headers and image:

Rebooted the system, which booted successfully, and I could confirm HDMI audio was back. Yes!

Click to Enlarge

Click to Enlarge

But still no WiFi… and space was running now, so I did some cleaning which gave me a few gigabytes to play with:

Building Realtek RTL8723BS WiFi Driver in Ubuntu/Linux

Star Cloud PCG02U uses  a WiFi and Bluetooth module with the common Realtek RTL8723BS chip, but the driver is not currently in mainline, so it needs to be compiled separately. That part is straightforward, and only take 2 minutes or less:

That’s all and now the Wireless network is enabled:

Click to Enlarge

Click to Enlarge

I had no problems connecting to my wireless router, and the module is automatically loaded at boot time. So now we have the same level of support as in Ubuntu 14.04 with HDMI audio and WiFi.

Realtek RTL8732BS Bluetooth in Linux

However, the hardware also supports Bluetooth, so it would be nice to have this enabled too, and again RTL8723BS Linux Bluetooth driver is available thanks to one independent developer (lwfinger).

In theory, it’s pretty easy:

But this did not work for me, despite Bluetooth apparently being located on /dev/ttyS4:

But the log would show a connection timeout:

Sadly, I haven’t been able to find a solution in a reasonable amount of time, and changing the baudrate from 115200 in the script to 2764800 (as shown in dmesg) does not help.

Of course everything would be so much easier if HDMI audio Cherry Trial and Bay Trial and RTL8723BS drivers would be in mainline linux, as all you would have to do would be to install Mainline linux in Ubuntu, and everything would just work. This does require some work however, but if you are motivated, lwfinger is ready to submit the RTL8723BS WiFi code to mainline if somebody takes care of all the errors and warnings generated by checkpatch.pl.

Getting Started with Beaglebone Green Wireless Development Board

May 21st, 2016 5 comments

SeeedStudio introduced BeagleBone Green Wireless based on BeagleBone Green, but replacing the Ethernet port by a Wilink8 WiFi and Bluetooth module, and providing 4 USB ports in total. I’ve also ready taken some picture of the board, and Grove Base Cape to addition the company’s add-on boards via I2C, UART, analog, or digital interfaces. So today, I’ll report about my experience getting started with the board.

First Boot of BeagleBone Green Wireless

Since the board comes with a Debian image installed on the internal 4GB eMMC flash, checking out the board should be really easy. The Wiki may help, but for a first try to check the board is indeed working, you can simply connect it to a 5V power supply, or the USB port of your computer to port it up.

I’m using a development machine running Ubuntu 14.04 with both Ethernet connected to my router, and a WiFi USB dongle which I used to find and connect to BeagleBoneXXXXXX access point. You’ll get assigned an IP address (e.g. 192.168.8.138), and can access the board using 192.168.8.1.

BeagleBone_Green_Wireless_Access_PointAlternatively, you could use the micro USB to USB cable to connect the board over IP. In Linux, it just works, but in Windows or Mac OS X, you may need to following the instructions to install the drivers.
BeagleBone_Green_Wireless_USB_Ethernet

You should see a new ethX device in your computer in 192.168.7.x subnet

Now you can start your favorite web browser, and access the board using http://192.168.8.1 (WiFi), or http://192.168.7.2 (USB Ethernet gadget) to get access to some documentation in the board, and links to tools like Node-RED,  Cloud9 IDE, and BoneScript.

Click to Enlarge

Click to Enlarge

Updating Firmware Image

Now that we’ve made sure we’ve received a working board, it might be a good idea to update the firmware. Bear in mind that the board will officially start shipping on May 30, 2016, and I got an early board, so the final image may differ.

I’ve open a terminal to download, extract, and flash the image to a 16GB micro SD card (4GB or greater required):

Replace sdX in the command line above, your own SD card device which you can check with lsblk.

This is an installer image designed to install Debian in the internal storage of the board. While the board is turned off, insert the micro SD card, hold the USER button (on board or Cape), connect the power supply, release the button, and the installation should start. The instructions mention that all 4 USRx LEDs will be lit solid when the update is complete and that it may take up to 45 minutes. So I went for dinner, and when I came back over one hour later, I did not see the LEDs were on, so I waited a little longer. But eventually, I decided to turn off the board, remove the micro SD card, and boot the board again.

After connecting to the BeagleBone SSID, I access the board with SSH successfully:

The date was 2016/05/16, so the update was successful.

BeagleBone Green Wireless Network Configuration

So far, everything went rather smoothly, but setting up networking was more of a challenge.

Since I now had two network interfaces on my computer with Ethernet to my router and WiFi to BeagleBone Green Wireless (BBGW), Internet traffic was routed to both, and since BBGW had no network connection I often had problems accessing the net to browse the web or send emails. So I had two options: change the routing table or connect the board to my router. I tried the routing table method first, which looked as follows initially:

After my attempt at changing metric to a high value did not work as expected, I changed the route from “link” to “host” for WiFi so that only the local traffic is routed there.

This did not work that well either, so I went with plan B to connect the board to my router. Network connections in BBGW:

So we wan t to configure wlan0 to connect to my router. Remember that only 2.4 GHz can work,  as the board does not support 5 GHz.

So I edited /etc/network/interfaces with vi, and added the following four line at the end of the file:

I save the done, and brought down and up the interface:

Awesome! Only problem is that after reboot, wlan0 would not acquire an IP address, and I had to run ifdown and ifup manually again.

I switched to static IP address configuration:

But the same problem occurred, so I asked on the beta group mailing list, and was informed that I could configure that using my smartphone. Simply connect BBGW AP, go to the sign-in page (http://192.168.8.1/login), click the select SSID, and enter password. That method is also mention in the system reference manual.

Click to Enlarge

Click to Enlarge

That’s supposed to be so easy, but sadly it did not work at all for me the first time as none of the ESSID were detected, but I tried the day after, and it eventually worked… I just don’t know why…

Click to Enlarge

Click to Enlarge

I could connect to 192.168.0.111 on my local network, even after a reboot. Good.

Node-RED in BeagleBone Green Wireless

Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways, and it’s one of the tools available in BBGW web interface. The link is actually hardcoded to http:192.168.7.2:1880, which is a bug, but you can easily access the page using your own IP and 1880 port. I found one example for BeagleBone Black to turn on and off user LEDs, which I imported into Node-RED, and Deployed to the board.

BeagleBone_Green_Wireless_Node-REDClick on the square on the left of the “on” / “off” injector with turn on or off LED 2 or 3. You can change settings of one block by double-clicking  on it, and I’ve done so for bbb-discrete-out: USR2. You can see it will let you select whatever output pin supported by the board, change the name, invert values and so on.

BeagleBone_Green_Wireless_Node-RED_GPIO_Selection
The Blue gray “injectors” will either “0” or “1” string to the bbb-discrete-out nodes to change the GPIO status.

One interesting part of the BeagleBone Green boards are Grove connectors for add-on modules with the same name.

Click to Enlarge

Click to Enlarge

I’ve connected Grove LED strip (Digital I/O), Grove Button (Digital I/O), and a digital light sensor (I2C), but Node-RED does not list the LED strip , and only shows the analog Grove light sensor, so I was left with the Grove Button connected to GPIO 51 as marked on the silkscreen of the Grove connector on the cape. So I dragged and dropped Grove Button in Node-RED, and configured it to poll for GPIO_51 every 500 ms.

BeagleBone_Green_Node-RED_Button_ConfigurationI planned to turn on and off some user LEDs, but connecting directly to bbb-discrete-out node for USR2 LED did not work. The problem is that I could not find documentation for this, except something about GrovePi, which explains that the Grove Button sends a JSON object containing a ‘state’ key:

So I probably would have to use another block to convert that JSON objects into “0” or “1” strings to controlled the LED/GPIOs. I’m not quite familiar enough with Node-RED, so I switched to testing Cloud9 IDE. [Update: There’s a tutorial using Node-RED, WioLink and BBGW, but it currently lacks in details]

Cloud9 IDE on BeagleBone Green Wireless

Cloud9 is a cloud based development environment that you can access using http://<IP_address>:3000.

Click to Enlarge

Click to Enlarge

The first neat thing I noticed is that you have access to the console as root from within the web browser, so SSH is not even needed with the board. I quickly checked the OS version (Debian GNU Linux 8) and kernel version (Linux 4.4.9-ti-r25) to test it out. We’ll also find several Python examples for BBG and Grove modules in the left panel.

Click to Enlarge

Click to Enlarge

I’ve open grove_i2x_digital_light_sensor.py demo program.

Access the terminal in the board to install the missing module

Another error:

So I’ve checked the I2C interfaces in the board:

There’s no i2c-1, so I changed the code to try with I2C-2 used with the Grove connector on BBGW:

And it went a little further:

I stopped there as it’s clear the sample have not been ported to the board, and to compound the issue Seeed Studio Wiki is currently down.

So I’ve had my share of issues with BeagleBone Green Wireless, but remember that the board is not shipping yet, so they still have time to improve the firmware and especially documentation. Yet I was expecting an easier experience considering the board leverages code and documentation from BeagleBone Black (software compatible), and there’s only about 10 days left before the retail boards ship.

If you are interested in the board, you can purchase BeagleBone Green Wireless for $44.50, the Grove Base Cape for $9.90, and various Grove modules on Seeed Studio website.

Arduino Primo Board Supports WiFi, Bluetooth LE, and NFC

May 19th, 2016 7 comments

A couple of weeks after unveiling Arduino UNO WiFi with ESP8266 and Atmel AVR, Arduino Srl has introduced Arduino PRIMO board with Nordic Semi nRF52 MCU with Bluetooth Smart and NFC, ESP8266 for WiFi, and STM32 to handle GPIOs and USB UART during May Faire Bay Area 2016.

Arduino_Primo

Arduino Primo board (A000135) specifications:

    • Service Micro-controller
      • STMicro STM32F103R8T6 ARM Cortex-M3 MCU @ 72 MHz with 64KB flash, 20KB SRAM
      • USB/Uart converter & CMSIS-DAP
      • GPIO expander, IrDA
      • Board power management
      • Operating Voltage – 2.0 to 3.6 V
    • Arduino Micro-controller
      • Nordic nRF52832 ARM Cortex-M4F MCU @ 64 MHz with 512 KB flash, 64KB SRAM
      • Analog I/O Pins – 6 + 1 DAC
      • DC Current per I/O Pins – 7 mA
      • Bluetooth Smart – Up to +4 dBm output power, -96 dBm sensitivity
      • Other features – PDM interface, AES HW enc, NFC tag
    • WiFi Micro-controller
      • Espressif ESP8266 Tensilica Xtensa LX106 WiSoC @ 80 MHz with 8MB RAM for instructions, 12MB for data
      • Storage – 4MB SPI flash
      • WiFi 802.11 b/g/n 2.4 GHz
      • Wake up time – < 2 ms
      • Operating Voltage – 3.3 V
    • Common Specs
      • Digital I/O – 20 pins
      • PWM Output – 3
      • Misc – On-board button, LED
      • Input Voltage – 5V
      • Power Consumption – 87 mA @ 5V typ.
      • Dimensions – 68.5 x 53 mm
      • Weight – 34 grams

Arduino_Primo_Open_Source

The board is not yet available, and documentation is limited to what’s on the product page. But we can safely assume that the board will be programmable via the Arduino IDE, and Nordic also mentioned that professional developers and Makers will also be able to use any Nordic nRF52 Series-compatible Software Development Kit (SDK) or programming tools, for example to develop IPv6 over Bluetooth low energy applications.

Arduino_Primo_Core

Arduino Srl and Nordic Semi are also working on a coin-cell powered Arduino Primo Core module with nRF58232 chip and motion and environmental sensors.

Considering the recent legal history between Arduino Srl and Arduino LLC, I’m a little surprised they went with Arduino Primo, as Arduino LLC is also selling a toy designed to teach programming logic to young children, also called Primo.

AFAIK, no information about the launch date and pricing have been released so far.

$44.90 BeagleBone Green Wireless Board Adds 802.11n WiFi & Bluetooth 4.1 LE and More USB Ports

May 16th, 2016 8 comments

After BeagleBone Air, there’s now another BeagleBone Black derived board with WiFi and Bluetooth, as BeagleBone Green gets a wireless version with WiFi 802.11n, Bluetooth 4.1 LE, and four USB ports.

BeagleBone Green Wireless Specifications

Click to Enlarge

Click to Enlarge

The Ethernet port is also gone, but most of the other specifications remain the same as seen from the comparison table below.

BeagleBone Black BeagleBone Green BeagleBone Green Wireless
SoC Texas Instruments Sitara AM3358 ARM Cortex-A8 processor @ 1GHz with NEON, PowerVR SGX530 GPU, PRU…
System Memory 512MB DDR3 RAM
Storage 4GB eMMC flash + micro SD slot
USB 1x USB client, 1x USB 2.0 host 1 USB client, 4x USB 2.0 host ports
Network Connectivity 10/100M Ethernet Wi-Fi 802.11 b/g/n & Bluetooth 4.1 LE
Video Output HDMI N/A
Expansion Headers 2×46 pin headers 2×46-pin headers and 2x Grove connectors
Debugging 6-pin serial header and unpopulated 20-pin JTAG header
Dimensions 86.3 x 53.4 cm
Price $55.00 $39.00 $44.90

BeagleBone Green Wireless (BBGW) and Grove Base Cape for Beaglebone v2.0

The board is designed and manufactured by Seeed Studio, and the company send me an early sample for evaluation together with Grove Base Cape for Beaglebone v2.0 that supports up to 12 extra Grove modules. I’ve not had time to review both yet, so I’ll show what I’ve received first.

BeagleBone_Green_Wireless_PackageI got two unbranded packages for each board, but I understand BBGW board will be send in a retail package with two WiFi antennas, and a micro USB to USB cable for power.

BeagleBone Green Wireless with Antennas (Click to Enlarge)

BeagleBone Green Wireless with Antennas (Click to Enlarge)

I got the two antennas, but not the USB cable. There are two u.FL connectors where you can insert the antennas. The wireless module is Texas Instruments WiLink8 (model WG78V0) that supports WiFI 802.11 b/g/n @ 2.4 GHz 2×2 MIMO and Bluetooth 4.1 LE. The four USB ports are on the left, and two Grove connectors (I2C & UART) on the right.

Click to Enlarge

Click to Enlarge

The bottom of the board has the micro SD slot, micro USB port for power, and unpopulated 20-pin JTAG solder pads. The board can run Debian, Android, Ubuntu, Cloud9 IDE on Node, and all other operating systems supported by BeagleBone Black. The wireless module support AP+STA mode, as well as A2DP & MRAA Libraries. The board is shipped with a Debian based firmware, and you can easily access it by accessing http://192.168.8.1 from your computer web browser to get some documentation. Resources for the board can be found on the BeagleBone Green Wireless Wiki.

Click to Enlarge

Click to Enlarge

Grove Base Cape for Beaglebone v2.0 has 4x digital I/O headers, 2x analog input headers, 4x I2C headers, and 2x UART headers, as well as a I/O voltage selector (3.3V or 5V), a Cape address switch, and a user button. More details about the grove base cape can be found in the Wiki.

Click to Enlarge

Click to Enlarge

I plan to write test the board, and the cape with some of the Grove module I got in Wio Link Starter Kit in the next few days.

BeagleBone Green Wireless pre-sells for $44.90 on Seeed Studio with shipping scheduled for May 21, 2016, while Grove Base Cape for Beaglebone v2.0 goes for $9.90.