Browsing All posts tagged under »python«

EE & CS: A JTAG/XSVF Library for Arduino

September 2, 2015


Marcelo Jimenez wrote an Arduino library to apply XSVF patterns on a JTAG interface using the Arduino as a JTAG adapter. It is especially useful for FPGA/CPLD programming. In the example provided in the GitHub repository, the XSVF file is passed through the serial port using a client-side python script. Some time ago I started some similar […]

Arduino Ethernet shield and Python socket

June 14, 2015


I started playing with an Ethernet shield for Arduino that I bought at a faire. I noticed that the shield itself is not original, but it’s a clone of the Arduino Ethernet Shield version 5.0, also identified as revision 2. The shield provides Ethernet connectivity and has an SD card slot to provide non-volatile memory […]

JTAGduino: JTAG connection using Arduino

August 10, 2014


One of my personal project ideas is JTAGduino: using Arduino as a JTAG adapter. I wrote a couple of posts about it, and today I managed to connect it to a real target. All the code that I used here is present on my JTAGduino GitHub repository. I have an Olimex STM32-P152 board, and I […]

Digital Signal Processing course on Coursera ended

July 20, 2014


I attended the last session of Digital Signal Processing course offered by the Polytechnic of Lausanne (EPFL: École Polytechnique Fédérale de Lausanne) through The course is presented by Professors Paolo Prandoni and Martin Vetterli. I already knew some of the topics from University, but it was ten years ago and I wanted to refresh […]

Analyzing C source files dependencies in a program

November 24, 2013


This post shows an approach to draw graphs representing the dependency of C source files and modules throughout a complete program. The implementation of this method uses the functionalities of GNU ld to create a cross reference table, then NetworkX to create a graph and Graphviz to visualize it. The approach is applied to a simple example and a real embedded application (U-Boot).

JTAGWhisperer: Arduino as a XSVF programmer

February 5, 2012


Dangerous Prototypes features an interesting project, that is similar to my JTAGduino idea. JTAGWhisperer is a solution to program FPGAs and CPLDs using Arduino and a small client-side Python script. It reads files in the XSVF format, which stands for Xilinx Serial Vector Format and is one of the formats used to program Xilinx chips. […]

Ongoing project: Arduino as a JTAG adapter

January 7, 2012


I started a project to try to use Arduino as a JTAG interface to perform debugging, programming and scans. The objective is to have a setup like the following diagram: The complete project should include: Arduino sketch OpenOCD integration Python API Arduino shield with common connectors etc. In particular the shield should have: Level shifters between […]

PyPy as a faster alternative for Python

June 7, 2011


It came to my attention today that there’s an alternative interpreter for the Python language which is faster and often viable: it’s called PyPy and uses Just-In-Time compilation to execute Python code. Just-In-Time compilation is a technique that is used successfully in many projects: the .NET Framework, Java, QEMU, … and it has also been […]

Capturing an analog signal with Arduino and python

March 26, 2011


Last week I salvaged a magnetic sensor from a stationary bike and connected it to my Arduino Uno in order to analyze the sensor’s behavior with the ADC converters.   I wanted to capture a good enough signal, so I searched about the Arduino capabilities: From analogRead() reference description: It takes about 100 microseconds (0.0001 […]

Coding styles comparison in the Open Source Software world

December 28, 2010


While looking for existing C coding standards I discovered that the GNU and Linux projects officially suggest very different styles. Inside the Linux kernel documentation, Linus Torvalds goes so far as to mock GNU coding standards: First off, I’d suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, […]