For more than 6 years, the LibIIO library has existed to ease the development of software interfacing Linux Industrial I/O (IIO) devices. It is part of the Linux Kernel and a subsystem that provides support for devices like analog to digital or digital to analog converters (ADCs, DACs). This subsystem includes ADCs, accelerometers, pressure sensors, color, light and proximity sensors, temperature sensors, RF transceivers, and many more. You can use LibIIO natively on an embedded Linux target. It is cross-platform, supporting Linux, Windows, and Mac OS. Analog Devices Inc. was the main company behind LibIIO development, which is currently an active open-source library, which many people have contributed to. What does LibIIO do? LibIIO will identify the channels that belong to each device. It will assign specific attributes, one for the channels and one for the devices. Then, it will also create a context that is a place where all […]
Ntablet Android & Linux Tablet Features a Replaceable RK3288 CPU Module, GPIO Board
Most tablets on the market either run Android or Windows, and while some have tried to launch Linux tablets, none of the products have really caught on, although the upcoming PINETAB might change that. Another option might be Ntablet 7″ tablet that runs either Android, Debian or WebOS Linux operating systems, but also offers some innovative features such as a replaceable Rockchip RK3288 CPU module, and an external GPIO board for makers. Ntablet hardware specifications: SoC – Rockchip RK3288 quad-core Cortex-A17 processor @ 1.8 GHz with Mali-T760 quad-core GPU System Memory – 2GB LPDDR3 Storage – 16GB eMMC flash, MicroSD card slot up to 32GB Display – 7″ touchscreen IPS display with 1920×1200 resolution Video Output – Micro HDMI port Audio – 3.5mm headphone jack Camera – 5MP front-facing camera (OV5648 sensor) Connectivity – 802.11b/g/n/ac WiFi 5 and Bluetooth 4.0 via Ampak AP6255 module USB – 1x USB 2.0 port, […]
Review of Ubuntu 18.04 on ODROID-XU4Q Development Board
Hardkernel released their first Samsung Exynos 5422 octa-core board in July 2014 with ODROID-XU3, which at the time was really a powerful board, but also pricey at $179. Later that year, the company released a cheaper version ($99) called ODROID-XU3 Lite, which I had the chance to review with Ubuntu 14.04 and Android 4.4. The company’s adventure with Exynos 5422 processor did not stop there, as in 2015 they released the smaller and even cheaper ($74) ODROID-XU4 board, and last year launched a fanless version of the board with ODROID-XU4Q featuring a large heatsink. More recently, the company also introduced ODROID-HC1 and ODROID-MC1 solutions for respectively network storage and clusters applications. That’s the short history of Hardkernel Exynos 5422 boards as I remember it, and that means that since 2014, or nearly 4 years so far, the company has kept updating Ubuntu and Android firmware for their board, including the […]
WCH CH341 USB to Serial Chip Gets Linux Drivers to Control GPIOs over USB
USB to serial chips are often used as a debug interface either directly on the target board, or via a dedicated debug board. But some models have extra pins exposed, and one of those is WCH CH341, which also includes I2C & SPI interfaces and up to 8 GPIOs. But software support for those extra pins is not currently built-in into the drivers found in Linux mainline, and you’d also have to find a board that breakout the relevant pins. It turns out there are few of things including “CH341A ALL IN 1 USB to SPI/I2C/IIC/UART/TTL/ISP serial adapter” board going for $10 shipped on Aliexpress, and which Zoobab successfully used to control 6 (out of 8) GPIOs over USB. The board comes with a USB board to connect to your computer, several header for I2C, UART, SPI, some LEDs, and jumper to select I2C/SPI or UART mode and voltage (5V/3.3V). […]
FOSDEM 2018 Open Source Developers Meeting Schedule
FOSDEM (Free and Open Source Software Developers’ European Meeting) occurs every year on the first week-end of February, where developers meet for two days discussing about open source software projects. FOSDEM 2018 will take place on February 3-4 this year with 652 speakers, 684 events, and 57 tracks, an increase over last year 608 speakers, 653 events, and 54 tracks. There will be 8 main tracks namely: Community, History, Miscellaneous, Performance, Python, Security and Encryption, Space, and Global Diversity CFP Day. There will also be 33 developer rooms, and since the full schedule is now available, I’ll make a virtual schedule mostly based on sessions from the Embedded, mobile, and automotive, Hardware Enablement, and Internet of Things devrooms. Saturday 3, 2018 09:50 – 10:15 – Turning On the Lights with Home Assistant and MQTT by Leon Anavi In this presentation you will learn the exact steps for using MQTT JSON […]
Learn More About Linux’s New GPIO User Space Subsystem & Libgpiod
Sysfs was used to control GPIOs on Linux system with the GPIOs defined in /sys/class/gpio, but starting with Linux 4.8, a new GPIO interface for user space was introduced, with gpiochip becoming char devices foudn in /dev/gpiochip0, dev/gpiochip1, etc.. , and sysfs allegedly become deprecated. But a quick check in NanoPi Duo with Linux 4.11 shows both GPIO user space interfaces appear to be enabled:
1 2 3 4 |
ls /sys/class/gpio/ export gpiochip0 gpiochip352 unexport ls /dev/gpiochip gpiochip0 gpiochip1 |
Nevertheless overtime, sysfs will die out, and the new subsystem will likely be used by all systems, so it might be useful to learn more about it. One way to do that is to watch Bartosz Golaszewski’s ELCE 2017 talk entitled “New GPIO Interface for User Space” with the video embedded below. But I first I’ll summarize some of the key points. Now GPIO handling from user space becomes similar to other char driver with ioctl, poll and read functions, and beside assigning numbers […]
Getting Started with MicroPython on ESP32 – Hello World, GPIO, and WiFi
I’ve been playing with several ESP32 boards over the months, and tried several firmware images. I started with a tutorial for Arduino Core on ESP32, a few month later I tested ESP32 JavaScript programming with Espruino on ESPino32 board, and recently Espressif Systems sent me ESP32 PICO core development board powered by their ESP32-PICO-D4 SiP, and while I took some pretty photos, I had not used it so far. So I decided to go with yet another firmware, and this time, I played with MicroPython on ESP32, and will report my experience with basic commands, controlling GPIOs, and WiFi in this getting started post. Flashing Micropython Firmware to ESP32 Board Source code is available on Github, as a fork of MicroPython repo as ESP32 support has not been upstreamed yet. We could built the firmware from source, but there’s also a pre-built binary which you can download on MicroPython website. […]
Embedded Linux Conference & Open Source Summit Europe 2017 Schedule
The Embedded Linux Conference & IoT summit 2017 took place in the US earlier this year in February, but there will soon be a similar event with the Embedded Linux Conference *& Open Source Summit Europe 2017 to take up in Europe on October 23 – 25 in Prague, Czech Republic, and the Linux Foundation has just published the schedule. It’s always useful to find out what is being discussed during such events, even if you are not going to attend, so I went through the different sessions, and compose my own virtual schedule with some of the ones I find the most interesting. Monday, October 23 11:15 – 11:55 – An Introduction to SPI-NOR Subsystem – Vignesh Raghavendra, Texas Instruments India Modern day embedded systems have dedicated SPI controllers to support NOR flashes. They have many hardware level features to increase the ease and efficiency of accessing SPI NOR […]