The Core Wars, ARM Cortex M0 vs M3 vs M4 vs M7

Microcontrollers are powerful tiny computers, and it’s no surprise that we love them here at qcentlabs. But what sets different microcontrollers apart? Well, Microcontrollers essentially are made up of a CPU core, some memory and specialized peripherals. Almost all modern Microcontrollers feature a RISC based core. These core are either made in house or are licensed from a separate core IP vendor. Example of popular in house developed architecture and core include AVR,PIC,MSP430 etc....

October 16, 2023 · 2 min · magalsh64

Making my own Programmer/Debugger using ARM SWD.

So, recently at my day job our team needed to develop a PCB test JIG for mass manufacturing/testing of the assembled PCBs. To increase the efficiency of this test process, the idea of testing and programming multiple boards at once came into my mind. Initially I thought of using multiple Debuggers/Programmers to flash code into multiple boards at once, but as you know, most of these debuggers aren’t cheap. Except for ST-link V2 clones which are available at dirt cheap prices, all other debuggers cost at least 10s of dollars and from then on special mass production versions of J-link can go on for 1000s of dollars not including professional software that you need to purchase separately for flash programming in a manufacturing setting....

June 27, 2023 · 34 min · magalsh64

Machine Learning on Microcontrollers.

The Rise of Machine(s) “The AI revolution in 2023 brought transformative changes to industries and daily life. Intelligent automation and advanced algorithms improved efficiency in manufacturing, healthcare, finance, and transportation. Natural language processing has led to the emergence of sophisticated voice assistants. Breakthroughs in image recognition and sentiment analysis revolutionised fields like autonomous vehicles, cybersecurity, and personalised marketing.” Well, I didn’t write any of it, ChatGPT did. So today we are going to explore if we can take advantage of machine learning to help build better embedded systems....

March 2, 2023 · 9 min · magalsh64

Exploring GPUs in Microcontrollers.

When was the last time you heard about GPUs and MCUs in a sentence? Well, today we are going to talk about how the landscape is changing in the embedded world with the introduction of more and more powerful microcontrolers, some of which even feature dedicated GPUs for accelerating graphics processing! A lot of modern problems require low power solutions with rich graphical interfaces, People have become accustomed to rich UIs due to the smartphone revolution, and thus expectations of smart devices around us to have fluid smartphone like UIs have become a trend....

February 28, 2023 · 8 min · magalsh64

IMXRT, The Fastest GPIO Toggler in Town.

Speed, I am Speed…. So what’s the first thing you do when you get a new microcontroller to play with? Blink an LED, of course! And for that, you toggle a GPIO… So now the question is how fast can your MCU toggle that juicy GPIO? Recently, NXP sent me samples of their IMXRT Series of crossover MCUs. These include the MIMXRT1172,MIMXRT1166,MIMXRT595 along with a devkit for the MIMXRT1166! Now If you have not been living under a rock for the past few years (or are not into embedded systems in general),...

January 14, 2023 · 3 min · magalsh64

Hacking a Synaptics touchpad.

The Backstory: I’ve had a few laptops over the years, and one of the first things I do whenever I’ve got a new piece of hardware is open it up. Well, I live in India, and the environment here is quite dusty, so this act of opening and cleaning happens quite often. Unfortunately, if you own a laptop with a plastic body, this becomes quite an issue, as plastic body laptops have knurled nuts pushed into the body, the plastic housings of these nuts tend to break over time if you regularly screw and unscrew....

December 19, 2022 · 7 min · magalsh64

Making an Arduino Killer.

So few years ago NXP released a new series of MCU’s called “Cortex M on Steroids”. Yeah, right.. They(NXP) weren’t joking when they released the IMX RT series of MCUs. These are called crossover MCUs because they lie in between Application processors and normal MCUs, Almost all of them feature atleast an ARM Cortex M7 core clocked at 500Mhz(some at 1Ghz+) or above for the consumer version. Some like MIMXRT1160/1170 also include a ARM Cortex M4 alongside the 1Ghz M7!...

February 19, 2022 · 3 min · magalsh64

Hacking Logitech G402 Mouse to make a Camera!

Soo…some time ago(like maybe 1-2 years?), I saw a video on youtube by the 8-bit guy where he showed how an optical mouse works. He showed a really old mouse and was able to connect it to an old computer which ran BASIC. The he wrote a progam in BASIC to pixel grab data out of the sensor and display it on screen. I was really amazed by this, But the image produced was very crude and the frame rate was very slow (more like spf instead of fps)....

January 19, 2022 · 3 min · magalsh64

STM32F103 Custom USB.

Recently i got into USB device driver development for linux, I’ve always wanted to know how USB works at hardware as well as software level. So i fired up google and looked up for USB specifications, and general documentation for it. The best resource’s on the internet that i found were www.usbmadesimple.co.uk and the book USB complete by Jan Alexson. The guys at usbmadesimple.co.uk explained the gist of USB in a very easy to understand manner, I highly recommend anyone going into USB to give it a go, then the book USB Complete gives detailed overview of every concept....

November 19, 2021 · 7 min · magalsh64