Debugging Bluetooth LE Device Using bluetoothctl Tool Under Linux

First of all don’t bother with hcitool and hciconfig tools. They are deprecated. Use bluetoothctl to connect and test your Bluetooth LE devices. It’s an interactive command line utility that provides a convenient interface for testing and probing your devices. Here is a short introduction on how to connect to a LE device that implements […]

Using ARM Cortex-M SysTick Timer for Simple Delays

ARM Cortex-M based microcontrollers has an included system tick timer as part of the core. It’s generally used as the tick timer of a RTOS. Hence the name “SysTick”. It’s also relatively simple and lacks advanced features. Only counts down 24 bit Auto-Reload register Dedicated interrupt Calibration value for interrupt period Can use system clock […]

Problems in Embedded Programming

I used to have a saying; 50% of our problems are caused by improper connections. I am revising it to: 75% of our problems are caused by improper connections. Before you go bug hunting make sure you have proper connections, your cables are up to spec, clock speed is correct for your cables etc…

Embedding Python in C#

Disclaimer: I don’t know C#. Take any line of code you see below with a grain of salt. I have developed a USB based device. Now I have to provide a driver for it to the client (actually another developer team). Device is actually based on USB UART but we have a slightly complex protocol […]

Don’t use SessionAsync

If you are trying to write a Cinnamon extension/applet and having this error when trying to parse some data that you have fetched via Soap.SessionAsync: Failed to convert UTF-8 string to JS string: Invalid byte sequence in conversion input Using Soap.Session instead of Soap.SessionAsync may solve your problem. I’ve encountered this problem when working with […]

Patching a Debian Package

This is my experience on patching a debian package. Once you learn how to do it, its so simple and straightforward I wanted to demonstrate. Problem I develop an application named SerialPlot. It’s programmed with Qt SDK. It makes use of QSerialPort module of Qt for accessing the serial port devices. When I updated my […]

makestmlib is Now A Part of KiPart

makestmlib.py script hat I’ve introduced in a previous post is now a part of KiPart. KiPart is a tool to automatically create KiCad symbols from CSV files. It has its own format for this but support for other formats can be easily added. So I did that. You can install KiPart via pip. And here […]

Table for Selecting STM32 F4 Timers

If you didn’t know already, STM32 F4 MCU’s can have a lot of timers. And not all of them are the same. Some are feature packed, some are 32 bits, some doesn’t support certain interrupt types. Even the most feature-full one may not have a specific function you need. In software you are free to […]