Archive for the ‘Programming’ Category

TASCAM Sound Recorder (Part 4)

Part 1, 2, 3, 4 And here is the driver code. Nothing exceptional just plain good’ol arduino code. Check the writeByte function which contains few tricks and optimizations that are mandatory to achieve a proper timing. Ultimately this code contains a pretty versatile bit-bang UART writer that you may want to reuse in various applications. Enter […]

Retour vers le futur

Allez, zou, pour une fois voici une publication en français ! Cà fait un moment que çà me grattouillait le clavier de composer dans ma langue maternelle, et je vois au moins deux bonnes raisons de faire une entorse à ma politique de publication. Soyons réalistes, l’anglais est une langue universellement comprise par les technophiles, […]

FN-M16P MP3 player (Part 2)

Part 1, 2 As seen in the previous post, the MCU (e.g. arduino) and the module are talking each other through a serial communication (UART) at a quite modest rate of 9600 baud. Data is exchanged as packets of 10 bytes according to the following structure: Byte# Function Value Comments 0 Start Byte 0x7E constant 1 […]

Metal detector (Part 1)

“Dear cousin, I lost my keys in the middle of the meadows, would you please make a metal detector for me ? Urgent !“ This is really how this project started ! More or less, as I have in mind the design of an Earth’s Field Nuclear Magnetic Resonance spectrometer which features magnetic fields sensors on […]

Direct Digital Synthesizer (DDS) (Part 7)

Part 1, 2, 3, 4, 5, 6, 7, 8, 9 A recent project lead me to excavate a quite old DDS design which may be of some interest for you. Instead of using a ladder of resistors, this design features a simple, cheap and yet powerful digital to analog converter. I will later explain why I choose this particular Microchip circuit but for […]

Stepper Motors (Part 8)

Part 1, 2, 3, 4, 5, 6, 7, 8, 9 This post is about driving multiple stepper motors continuously sweeping various ranges of steps at various speeds. Each motor features a permanent sinusoidal motion (accelerated and decelerated). The complexity of the code lies in the next requirements: Each motor has its own sweeping frequency, its own full swing range (number […]

Simple command parser (Part 2)

Part 1, 2 In the previous version, the command parser is using one single alpha character as an opcode while the argument is computed on the fly using simple arithmetic. In this version, the opcode is extended to (almost) any number of characters and the argument is stored in a vector which is then converted […]

Mon p’tit python ! (Part 1)

I had a laugh when I started tumbling around on the web, trying to get a proper starting point for learning Python ! I heard about the famous Pink Floyd rock band funding the no less famous “Python and the Holy Grail” with a part of their substantial earning from “Dark Side of the Moon” […]

Picture of the day

Could DSP produce some sort of modern art on some occasion ? Do you want to reproduce that ? Well, here is the recipe … Get a function generator and set the signal pattern to ramp, sweep frequencies from 80 to 90 Hz with 0.1 Hz steps every second. Connect the output to PlainDSP* and starting […]

Alternate IDE (Part 2)

Part 1, 2 Well Notepad++ is really my editor of choice for coding Arduino. Although I am aware of many other powerful editors, I like the style as well as the price (It is free!). Anyway, I felt like Notepad++ was lacking something handy available elsewhere: running external applications. As my first attempts to use […]