Integer overflow

Computation in a computer using integers is performed using twos complement representation. Integers can thus take two forms: Unsigned integers Signed integers Signed integers are useful in representing only positive numbers(No decimal points), including zero. Unsigned integers are useful for representing both positive and negative numbers including zero. Within the above classes of integers have … Continue reading Integer overflow

The Memory map

Definitions: AHB-Advanced high performance bus. APB-Advanced peripheral bus. AMBA-Advanced micro-controller bus architecture. The memory map is a way to access peripherals and other micro-controller features via a memory write or read. The memory map on 32 bit ARM micro-controllers is 4GB (2^32 unsigned) and contiguous. The reason it is this large is to allow room … Continue reading The Memory map

Understanding the convoluted world of ARM cortex-M documentation.

  ARM processors are usually powerful and most likely you are reading this on a device with an ARM cortex application processor(Your phone). Usually when one starts out programming ARM micro controllers , it gets very intimidating to start programming so I will give a few hints to the rules of thumb I use to … Continue reading Understanding the convoluted world of ARM cortex-M documentation.

Data error in scientific computing

Errors arise from approximations such as: Modeling due to problem simplification. During actual measurement As a result of previous computation in an iterative solution.   Data error and computation error Total error=computational error + propagated data error. Computational error is the difference between the method chosen, and that method that would give a correct result. … Continue reading Data error in scientific computing

Getting started with scientific computing

This category on scientific computing is based on my previous personal notes on the topic while studying for my EE major. I have rewritten the notes here for self reference. What is scientific computing It is a branch of applied mathematics. Involves solving mathematical problems by the use of algorithms and the assessment of the … Continue reading Getting started with scientific computing

Sync an external kicad project with a copy within a git repository

When I work on projects, I usually run into the following problem when working with PCB design and code together: I set up a repository using git whose location is at X. This repository contains say, code. I later use a separate design program such as Kicad and start a design project whose location in … Continue reading Sync an external kicad project with a copy within a git repository

Guide to choosing the right ingredients for an electronic product/device.

When making business decisions about what to have in a product, the decision factor is not binary whereby the decision is based on expensive/affordable among binary options but is a mix of various factors . The factors also depend on geographical location among other factors. They include: Access to manufacturers and vendors An electronic product … Continue reading Guide to choosing the right ingredients for an electronic product/device.

Record and share terminal sessions with asciinema

Asciinema is the perfect tool to share terminal sessions and it is one that we regularly use at Bitsoko to share a terminal workflow or record terminal behaviour. You can find the asciinema website here. Asciinema package is available in the Ubuntu repository in Ubuntu 16.04. It may not be bleeding edge as with any … Continue reading Record and share terminal sessions with asciinema