i.MX6SX - Pulse oximetry with MAX30100, SSD1306 and UDOO NEO
In this blog I demonstrate how the cortex m4 on the imx6sx could be used to develop a Pulse Oximeter.I chose the max30100 because its features an integrated pulse oximetry and heart-rate monitor...
View Articlei.MX6SX - Using the cortex M4 on a UDOO NEO to drive a $4 Touch Screen
The challenge here was to see if a ultra cheap touch screen could be made to work with the cortex M4 on the UDOO NEO. The video (below) demonstrates its possible, the M4 is controlling the display and...
View Articlei.mx6sx - One Wire Digital Temperature gauge using DS18B20 + UDOO Neo + LCD
The challenge here was to implement the Dallas one wire protocol so that two DS18B20 sensors could be wired to the cortex M4 to form the basis for a temperature gauge. I recycled the LCD display from...
View Articlei.mx6sx - SPI interfacing an OLED display for fast updates using the cortex...
It has taken me a considerable amount of time to prove that the SPI interface can be made to work with cortex M4 on the UDOO Neo. To demonstrate the speed of SPI I chose to interface with a SSD1306...
View Articlei.mx6sx - Tiny NEO Scope
This project span from two requirements, firstly testing the performance of the ADC (analogue to digital) and ECSPI interfaces when running against the M4. Secondly as a diagnostic aid to verify low...
View Articlei.mx6sx - M4 SD Card access on the UDOO NEO
In this post I demonstrate that it is possible to interface the M4 to a SD card shield (similar to using an Arduino SD card shield) in order to retrieve or save data locally (without relying on the...
View Articlei.mx6sx - IMU Sensor fusion with the UDOO NEO
A key feature of the UDOO NEO is the hosting of a 9-DOF IMU through the inclusion of the NXP FXOS8700CQ and FXAS21002C sensors. The FXOS8700CQ provides a 6-axis accelerometer and magnetometer and...
View ArticleMachine learning with the i.MX6 SoloX and the Movidius Neural Compute Stick
The i.MX6 SoloX processor is fairly unique in the i.MX6 family primarily because it co-hosts a single Cortex A9 along with a Cortex M4. The heterogeneous architecture proves very useful for hard...
View ArticleESP32 - Enabling RS485 half duplex UART support
Although the ESP32 UART claims to support RS485 the documentation provided in the Technical Reference Manual is pretty poor as the register and interrupt descriptions are extremely vague in terms of...
View ArticleMachine learning with the i.MX6 and the Intel NCS2
Last October Intel released a upgraded Neural Compute Stick known as NCS2 hosting the Movidius Myriad X VPU (MA2485). Intel claim "NCS 2 delivers up to eight times the performance boost compared to the...
View ArticleJetson Nano - Developing a Pi v1.3 camera driver Part 1
I liked to thank motiveorder.com for sponsoring the hardware and development time for this article. The jetson nano is fairly capable device considering the appealing price point of the device. In...
View ArticleJetson Nano - Developing a Pi v1.3 camera driver Part 2
I liked to thank motiveorder.com for sponsoring the hardware and development time for this article. Following on from my previous post, finally I am in a position to release a alpha version of the...
View ArticleParticle Xenon - Enable Ethernet connectivity with a low cost W5500 module
The preferred option to enable a Xenon to act as a Gateway is to deploy the Particle Ethernet FeatherWing. Unfortunately I didn't have one to hand, however after reviewing the schematics it turns out...
View ArticleParticle Xenon - Adding WIFI support with a EPS32
The preferred option for WIFI support with Gen 3 devices is to deploy a Particle Argon. The Argon consists of a Nordic nRF52840 paired with Espressif ESP32. The EPS32 simply provides the WIFI interface...
View ArticleESP32 impersonates a Particle Xenon
With the announcement that Particle will no longer manufacture the Xenon development board and drop their OpenThread based mesh networking solution. We decided to see if we could impersonate an...
View ArticleReverse engineering the V831 NPU (Neural Processor Unit)
I took up the challenge posted on the sipeed twitter feed "We are reversing V831's NPU register, and make opensource AI toolchian based on NCNN~ If you are interested in making opensource AI toolchain...
View ArticleInside another fake ELM327 adaptor (filled with Air)
I'd ordered a couple of ELM327 compatibleadapters from Aliexpress expecting that these would be similar to the item in the image below. Normally these contain a PCB board to fit the enclosure and...
View ArticleRK3588 - Decoding & rendering 16 1080p streams
I'm currently working on a video application for the RK3588 given it is one of the few processors on the market that currently has native HDMI input support (up to 4K30). As part of that work one of...
View ArticleRK3588 - Adventures with an external GPU through PCIE Gen3 x4 (Radxa Rock-5b)
One of the interesting features of the RK3588 is the pcie controller because of it support for a Gen3 X4 link. I'd started looking into using the controller for a forth coming project and subsequently...
View ArticleRK3588 - RKNN Object detection on multiple video streams
Having previously reversed engineered the V831 NPU , let's now examine the RK3588 NPU. While the RK3588 RKNN advertises 6 TOPs@int8, it is not entirely clear what this figure represents since the RKNN...
View ArticleRK3588 - Reverse engineering the RKNN (Rockchip Neural Processing Unit)
The internal operations and capabilities of the RK3588 NPUs are mainly concealed within a closed-source SDK known as RKNPU2. Given the huge interest in Large Language Models (LLMs) and the quest for...
View ArticleRK3588 - Reverse engineering the RKNN - Running llama2.c with TinyStories
I've finally reached a point with reverse engineering where we can start evaluating the usefulness of the NPU for LMMs. I've crafted a basic library (rk3588-npu) with sufficient features for initial...
View ArticleAX650N - Sipeed Maix-IV (AXeraPi-Pro) NPU teardown
After spending a significant amount of time reverse-engineering the RK3588 NPU and examining Rockchip's 6 TOPS claim. The AXera AX650N SoC piqued my interest due to AXera's ambitious claims about the...
View ArticleRK3588 - Building an simple HDMI anaylzer
While developing and debugging HDMI drivers and custom video applications. You quickly come to appreciate the convenience of having a straightforward way to debug the HDMI output both video and audio...
View ArticleRK3588 - Implementing a Vectorscope for processing video in real time
Following on from my previous post covering decoding and rendering HDMI input on the RK3588, I encountered a new requirement: implementing a real-time vectorscope to visualize chrominance information...
View Article