Archive

Posts Tagged ‘oled’

This TTGO Board Combines ESP32, LoRa Radio, and OLED Display for just $10

October 13th, 2017 12 comments

Just one year ago, it would cost around $15 to $20+ to get an ESP32 board, that is if you were lucky/fast enough to order one one before it went out of stock. Since then, availability is no longer an issue, and you now can get an ESP32 development board for as low as about $7, or even around $4 during promotions.

Today, I was made aware of another board sold under the “TTGO” brand, that includes not only ESP32 WiFi and Bluetooth SoC, but also a (433 MHz) LoRa radio, and an OLED display. Price? Just $10 plus shipping ($1.75 here).

Battery not Included – Click to Enlarge

TTGO ESP32/LoRa board specifications:

  • WiSoC – Espressif ESP32
  • Storage – 32MB on-board flash (or maybe just 16MB?)
  • LoRa
    • Semtech SX1278 with u.FL connector + 433MHz antenna (N.B.: Antenna must be connected during use or the Semtech chip could be damaged)
    • Sensitivity” ~ -148dBm; output power: +20dBm
  • Display – 0.96″ blue OLED display
  • USB – 1x micro USB port for debugging (CP2102) and power
  • Expansion – 2x 18-pin headers with GPIOs, UART, ADC, Touch, SPI, power signals… (See pinout diagram)
  • Misc – Charging Status LED
  • Power Supply – 5V via micro USB port, 2-pin battery header, 5V Pin. (Operating voltage: 3.3V to 7V)

The board can be programmed with the Arduino IDE after downloading and installing the TTGO folder in arduino/hardware. After selecting “WiFi_LoRa_32” board, you should be able to load various samples to play with the board.

Click to Enlarge

The board is sold with a 433MHz antenna, and two male headers. You’ll save a little bit on shipping if you purchase two kits instead.  The board can also be found on eBay and Banggood.

Thanks to Mpampis for the tip.

MXCHIP AZ3166 IoT Developer Kit is Designed to Work with Microsoft Azure

June 25th, 2017 3 comments

MXCHIP is a Shanghai based company designing and manufacturing WiFi IoT modules such as EMW3165, which has now made a development board based on their EMW3166 STM32+ Cypress module – called MXChip AZ3166 – specifically designed for Microsoft Azure cloud computing platform.

Click to Enlarge

MXChip AZ3166 board specifications:

  • Wireless Module – EMW3166 WiFi module with STM32F412 ARM Cortex M4F MCU @ 100 MHz with 256KB SRAM,1MB+2MB SPI Flash, Cypress BCM43362 WiFi chip
  • Display – 128×64 OLED display
  • Audio – Audio codec, built-in microphone, and 3.5mm heaphone jack
  • Sensors – Motion sensor,  magnetometer, atmospheric pressure sensor,  temperature and humidity sensor
  • Expansion – Finger extension interface with 25 external I/O pins including GPIOs, I2C, I2S, UART, ADC, Reset, 3.3V, and GND
  • Debugging – DAP Link emulator
  • USB – 1x Micro USB port for power, programming, debugging
  • Misc – 2x user buttons;  1x RGB light; 3x working status indicator; IR emitter; Security encryption chip
  • Power Supply – 3.3V DC, maximum current 1.5A; 5V via micro USB port

The AZ3166 board is Arduino compatible can be used for prototyping IoT and smart device solutions using Visual Studio Code with Arduino Extension. Applications can  integrates with various services like Azure IoT Hub, Logic App and Cognitive Services. You’ll find more technical details on Microsoft’s Azure IoT Devkit and MXCHIP AZ3166 pages.

Visual Studio Code with Arduino Extension – Click to Enlarge

The board is not for sale yet, but you could get a preview board for free, if you can meet Microsoft’s “select criteria”.

Thanks to Freire for the tip.

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.

 

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.

ArduBoy Arduino Compatible Portable Game Console Sells for $39

September 9th, 2016 1 comment

Ardubox feels like the little brother of PocketCHIP portable & hackable game console with its transparent case, but instead of running Linux on a 32-bit ARM processor, Ardubox is based on the same Atmel ATmega32u4 MCU used in Arduino Leonardo & Micro boards.

arduboyArduboy specifications:

  • MCU – Atmel ATmega32u4 AVR MCU with 32KB flash, 2.5KB RAM, and 1KB EEPROM
  • Display – 128×64 1-bit OLED display
  • USB – 1x micro USB 2.0 port for power and programming
  • User Inputs – 6x momentary tactile buttons
  • Audio – 2 channel Piezo Speaker
  • Misc – 1x LED
  • Battery – 180 mAh Thin-Film Li-Po battery good for over 8 hours

Beside the Arduino IDE, The board can also be programmed with Codebender, GCC & AVRDude. There’s also a fairly long list of games to play with, and it can be hacked as a virtual business card, a USB mouse and keyboard, a synthesizer, and more.

The Arduino game console was first launched via Kickstarter last year, raised $433,038 out of 7,221 backers, and has been shipped to all backers in August. However, it’s now available for pre-order on Arduboy website for $39, and SeeedStudio is organizing a crowdbuy where it can be had for $37.95. More details can be found on Arduboy website which features a community forum, and a getting started guide.

Categories: Atmel AVR, Hardware, Video Tags: arduino, battery, games, hack, oled

Xiaomi Mi Band 2 Fitness Tracker Adds an OLED Display, Promises 20-day Battery Life

June 2nd, 2016 5 comments

I’m not a big fan of fitness trackers without display that require you to monitor your daily progress on your smartphone, and that’s probably why when Xiaomi released their first fitness band I was not quite as interested, but now the Chinese company has released Mi Band 2 with an OLED display, an heart rate monitor,  IP67 ingress protection rating, and a 20-day of battery life for just 149 RMB ($23).

Mi_Band_2Mi Band 2 key features:

  • Fitness, heart rate and sleep tracker
  • OLED display, view time, step count, heart rate
  • 20-day battery, IP67 water resistant
  • ADI accelerometer and optical heart rate sensor
  • Anodized 0.05mm ultra-thin button
  • Upgraded pedometer algorithm
  • Hypoallergenic silicone band
  • 2nd gen Bluetooth 4.0 for faster, stable connections

It’s still good to be able to gather your fitness data over time, and you can do so with Mi Fit app for Android or iOS.

Mi_Band_2_Unlock_Phone

The downside with an OLED display is that you normally have to press the button to turn it on, but Mi Band 2 display will also turn on when you lift your wrist. That will be great as long as it is properly implemented. I tried this feature on another smartwatch once, and simply typing on a keyboard would turn on the display, seriously limiting the battery life. Other features include sleep monitoring, and phone unlock.

Mi Band 2 is already up for pre-order on Tinydeal for $46.99. [Update: The device is now on GeekBuying for $39.99; Update 2: Up on GearBest for $33.91 with coupon GBMI2]

Via Xiaomi Facebook page.

Categories: Android, Hardware Tags: ble, bluetooth, health, hrm, oled, xiaomi

BPI-GSM Arduino Compatible Board Integrates a GSM & GPS Module, Sensors and an OLED Display

April 7th, 2016 4 comments

Banana Pi team has come up with another board, but this time it does not run Linux or Android, as they’ve made an Arduino compatible board called BPI-GSM based on Atmel ATmega2560 MCU with a light sensor, DHT22 temperature and humidity sensor, and a GSM/GRPS & GPS module powered by a LiPo battery.

BPI-GSMBPI-GSM board specifications:

  • MCU – Atmel ATmega2560 8-bit AVR MCU @ 16 MHz with 256 KB flash, 8KB SRAM, 4KB EEPROM
  • Connectivity – Simcom SIM808 GSM, GPRS, and GPS module + SIM card slot +
  • Sensors – DHT22 temperature and humidity sensor, light sensor
  • Display – OLED display
  • Expansion headers – 54x digital I/O (including 14x PWM), 16x analog input, 4x UART. Max DC current per I/O: 40 mA.
  • Misc – Reset button, LEDs
  • Power Supply
    • 5V via micro USB port
    • 3.7V LiPo battery (2,500 mAh battery included in kit)
  • Dimensions – TBD
Click to Enlarge

Click to Enlarge

The board can be programmed in the Arduino IDE by selecting Arduino Mega board. SIM808 modem is controlled with AT commands so that might not be the most programmer friendly board there is. You can find limited documentation for the board on gitbook.io. Bear in mind that several countries have or are going to phase out 2G networks, so the GSM/GPRS connectivity may not work for long depending where you live.

The kit which includes the board, the OLED display and 2,500 mAh battery sells for $64 on Aliexpress.

$25 TinyScreen is an OLED Display for TinyDuino Arduino Compatible Board (Crowdfunding)

October 7th, 2014 1 comment

Back in 2012, Tiny Circuits launched a Kickstarter campaign for TinyDuino, an Arduino compatible board that’s… tiny, based on Atmel Atmega328P, and supports tiny stackable shields in a similar fashion to Microduino (launched in 2013). The campaign was successful, and the company is now back on Kickstarter with TinyScreen, an OLED display that can be stacked on top of TinyDuino to create a smartwatch, a minuscule gamepad, smart glasses, and more.

TinyScreen_OLED_Arduino

Video Player and Video Game Kits for TinyScreen

TinyScreen technical specifications:

  • 96×64 OLED display, 16-bit color depth
  • 0.96″ (24.4mm) viewable area
  • Software controllable backlight (OLED brightness)
  • Power down mode
  • Four push buttons along the sides (connected to IO pins)
  • SPI interface for display
  • Power Supply – 3.0V to 5.5V operation (higher voltages supported with TinyShield power regulator)
  • Power Consumption – 20 – 45mA max supply current (depending on brightness)
  • Dimensions – 25.8mm x 25.0mm

Programming of TinyDuino can be done through a web interface for Arduino called Codebender, that seems to provide functionality very similar to the Arduino IDE, except it’s done from your web browser. TinyDuino also supports the standard Arduino IDE, but Codebender will transparently keep TinyScreen libraries, examples, and standalone apps up-to-date. TinyDuino and TinyShields are schematics and PCB layout files (Eagle) are available on github, an the company intends to release hardware design files for TinyScreen as well. Various tutorials for TinyDuino and TinyShields can be found in tiny circuits website, and I assume TinyScreen will soon be added in this section too. Support is provided on their forums.

Codebender

Codebender

Unless you already own recent TinyDuino boards and shields (boards have been updated since 2012), TinyScreen would be pretty useless, so albeit the OLED display is offered as a single perk for $25, most people will be interested in the kits:

  • Basic Kit ($55) – TinyScreen, TinyDuino “processor”, USB shield and Li-Po Battery.
  • Video Player Kit ($65) – Basic kit + micro SD card shield.
  • Video Game Kit ($75) – Basic kit + Joystick shield.
  • Smart Watch Kit ($90) – Basic kit + Bluetooth LE shield.
  • Deluxe Kit ($120) – Basic kit + microSD, BLE, and Joystick shield.
  • Robot Control Kit  ($165) – Based on Video Game kit + one extra TinyDuino board, 2x 433Mhz radio shields, and a motor x4 shield.
  • Sensor Kit ($200) – Based on Smart Watch kit + Wi-Fi, Accelerometer, 9-axis DOF, ambient light, and compass shields.

There are also two perks that offer discount when you buy multiple basic kits, or a combination of kits.

The video below provides an overview of TinyScreen and some of its kits, and shows Tiny Circuits factory based in the US.

The project has already reached its funding target ($15,000) having raised over $56,000 with 18 days to go. Shipping for all perks is free to the US, and $5 to the rest of the world, with delivery scheduled for January to February 2015.