Bit-banding explained: A key feature of ARM Cortex-M3/M4

Yahya Tawil over at Atadiat wrote in to let us know about a corner-stone feature in ARM Cortex-M3 processors called bit-banding: Writing a portable code is one of the concerns for developers, and while dealing with bit-fields is not standard in all compilers, it is not very advisable to use. When a feature is available […]

Hands-on with the PocketBeagle: a $25 Linux computer with lots of I/O pins

Ken Shirriff shares his experience with a low-cost, compact Linux computer PocketBeagle: The PocketBeagle is a tiny but powerful inexpensive key-fob-sized open source Linux computer. It has 44 digital I/O pins, 8 analog inputs, and supports multiple serial I/O protocols, making it very useful as a controller. In addition, its processor includes two 200-MHz microcontrollers that […]

SMA solar readout

Jean-Claude writes: This is the first post of a 3-part series about reading out an SMA solar inverter over Bluetooth and displaying some readings every few seconds. Long-time readers may remember the Solar at last weblog post from several years ago and the SMA Relay, based on a JeeNode v6. The Bluetooth readout code was derived […]

Using Python to store data from many BLE devices

Erich Styger has written an article describing a technique he used to collect and store data from several BLE devices with Raspberry Pi and Python scripting: BLE (Bluetooth Low Energy) sensor devices like the Hexiwear are great, but they cannot store a large amount of data. For a research project I have to collect data […]

MCUXpresso IDE tutorial series

Erich Styger has made a series of tutorial blog posts on using the new NXP MCUXpresso IDE. Published so far are: MCUXpresso IDE: Unified Eclipse IDE for NXPs ARM Cortex-M Microcontrollers MCUXpresso IDE: S-Record, Intel Hex and Binary Files MCUXpresso IDE: Adding the Eclipse Marketplace Client MCUXpresso IDE: Importing Kinetis Design Studio Projects MCUXpresso IDE: […]

Modifying the Teensy 3.5 and 3.6 for ARM SWD debugging

Erich Styger @ writes: Looking for a small, inexpensive ($25-30) ARM development board (say 120-180 MHz ARM Cortex-M4 with FPU, 512kB-1MB of FLASH and 256 KByte of RAM? Then have a look at the Teensy 3.5 and Teensy 3.6 by PJRC/Paul Stoffregen The only problem? it is not possible to debug it :-(. At […]

Tutorial: Using Eclipse with NXP MCUXpresso SDK v2 and processor expert

Erich Styger from MCU on Eclipse writes: To me, software and tools are by far more important than the microcontroller. Because the silicon is a ‘one time kind of thing’, where the software has to be maintained and working over a longer time. And at least my software usually needs to be ported to a […]

Cheep Mod II – a low cost platform for Euro-Rack digital audio

Eric Brombaugh writes, “This is a small 6HP Euro-Rack format module with 3 CV inputs, 3 pots, Digital (Sync) input, 16-bit stereo audio outputs. It’s a slight modification of the Cheep Mod I did earlier, but with a slightly more advanced MCU that provides I2S output and has more on-chip flash. One of the goals […]

JeeNode Zero

JeeLabs has been working on a new board called JeeNode Zero: Enter the STM32, the 32-bit ARM series from STMicroelectronics which has been around for several years, with new chip releases at a breathtaking pace. While most of the more advanced chips are only available in 64-, 100-, or even 144-pin packages, there is also an […]

Tutorial: RFID tags with the NXP NFC controller PN7120 and Eclipse

Erich Styger writes: Playing with RFID and NFC is definitely fun?, and they are everywhere! For a research project I’m exploring different RFID tags and solutions. I several types around for a long time, but never found the time to actually work on it, so last nightI thought I give it a try, and I […]

nRF24L01+ 2.4 GHz wireless connectivity with the tinyK20 board

Erich Styger writes: I’m using the tiny and inexpensive Nordic Semiconductor nRF24L01+ transceiver (see “Tutorial: Nordic Semiconductor nRF24L01+ with the Freescale FRDM-K64F Board“) in many projects: it costs less than $3 and allows me to communicate with a proprietary 2.4GHz protocol in a low power way (see “IoT: FreeRTOS Down to the Micro Amps“). I have […]

Fobble, a general purpose wireless breakout board

Ken Boak  has been working on a general purpose wireless breakout board – Fobble: As can be seen from the above picture it contains a number of key features: A resident RFduino  Bluetooth Low Energy Module with ARM Cortex M0 processor 2 layer pcb 50 x 50 mm format- with extended Arduino headers pin-out An X-Bee footprint […]

Counting bits in hardware: Reverse engineering the silicon in the ARM1 processor

Ken Shirriff writes: How can you count bits in hardware? In this article, I reverse-engineer the circuit used by the ARM1 processor to count the number of set bits in a 16-bit field, showing how individual transistors form multiplexers, which are combined into adders, and finally form the bit counter. The ARM1 is the ancestor […]

Linting with Eclipse and the GNU ARM Embedded Launchpad compiler

Erich Styger of MCUonEclipse writes: For a space project we have to make sure that things are not failing while our hardware orbits around the Mother Earth. Therefore we are using different static and dynamic analysis tools, and one of it is using PC-lint from Gimpel to catch as many errors and bugs as possible. For […]