The popularity of Raspberry Pico board powered by RP2040 microcontroller has made every reader wanting to know more about the board and chip. So today we will be talking about RP2040’s Programmable IOs, a feature that makes it different from most other microcontroller boards. The two PIO blocks or let’s call it the hardware interfaces in the RP2040 have four state machines each. These two PIO blocks can simultaneously execute programs to manipulate GPIOs and transfer raw data. Now, what do these state machines do? Well, the PIO state machines execute the programs fetched from various sources. Sometimes the programs are taken from the PIO library (UART, SPI, or I2C) or user software. Why Programmable I/O? All the boards usually come with hardware support for digital communications protocols such as I2C, SPI, and UART. However, if you plan to use more of these interfaces than what is available on the board, you can use the programmable IOs provided in RP2040 […]
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 the devices exist, and you can browse through the channels, […]
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, 1x micro USB OTG port Expansion – 20-pin GPIO 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 just released Ubuntu 18.04 (MATE) operating system, which I’m going […]
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). The board is recognized differently whether you use I2C/SPI or […]
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 Light component of the open source home automation platform Home […]
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: 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 to GPIOs you can assign names. The API (in linux/gpio.h) provides […]
Privacy & Cookies Policy
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.