SM1000 Part 5 – Mysterious Triangle Waves

Getting close to Beta now.

I have just spent a week tracking down a mysterious 256 Hz low level (30mVpp) tone that ended up being a software configuration error in the DAC initialisation code! However before that I thought it was a noise issue caused by PCB layout, or the wrong sort of bypass capacitor. . . . → Read More: SM1000 Part 5 – Mysterious Triangle Waves

SM1000 Part 4 – Killing a PCB and PTT Working

Last Sunday the ADC1 net on the first SM1000 prototype went open circuit all of a sudden. After messing about for a few hours I lifted the uC pin for that net and soldered a fine wire to the other end of the net. That lasted a few days then fell off. I . . . → Read More: SM1000 Part 4 – Killing a PCB and PTT Working

Do Anti-Depressants work?

In the middle of 2013 I had a nasty bout of depression and was prescribed anti-depressant drugs. Although undiagnosed, I think I may have suffered low level depression for a few years, but had avoided anti-depressants and indeed other treatment for a couple of reasons:

I am a man, and men are bad at looking after their . . . → Read More: Do Anti-Depressants work?

SM1000 Part 3 – Rx Working

After an hour of messing about it turns out a bad solder joint meant U6 wasn’t connected to the ADC1 pin on the STM32F4 (schematic). This was probably the source of “noise” in some of my earlier unit tests. I found it useful to write a program to connect the ADC1 input to the . . . → Read More: SM1000 Part 3 – Rx Working

SM1000 Part 2 – Embedded FreeDV Tx Working

Just now I fired up the full, embedded FreeDV “tx side”. So speech is sampled from the SM1000 microphone, processed by the Codec 2 encoder, then sent to the FDMDV modulator, then out of the DAC as modem tones. It worked, and used only about 25% of the STM32F4 CPU! A laptop running . . . → Read More: SM1000 Part 2 – Embedded FreeDV Tx Working

Embedded FreeDV

For the SM1000 development I need a way to embed the core functionality of a FreeDV “mode” in a simple library. A FreeDV “mode” is defined by the Codec 2 rate, the FEC, the frame structure, and the FDMDV modem waveform. Several modes have evolved over the past 18 months, and more are likely . . . → Read More: Embedded FreeDV

SmartMic SM1000 Part 1

So the parts and PCB arrived from the SM1000 last week, and yesterday I started loading. I use a stereo microscope and hand solder each part. It’s actually fun, a nice change from software.

Here is the current (Rev B1) SM1000 schematic if you would like to follow along.

First I assembled the 5V switching supply, . . . → Read More: SmartMic SM1000 Part 1

Democratising HF Radio Part 1

I recently submitted a Shuttleworth Fellowship grant application. I had planned to use the funding to employ people and accelerate the roll out of the project described below. I just heard that my application was unsuccessful (they wanted something more experimental). Never mind, the ideas lives on!

I’m exploring some novel ideas for messaging over . . . → Read More: Democratising HF Radio Part 1

Reducing FDMDV Modem Memory

For the SM1000 (SmartMic) project I need to run the FDMDV HF modem on the STM32F4 micro-controller. However The STM32F4 only has 192k of internal RAM, and the modem in it’s original form uses over 400k. I wrote a unit test to break down the memory usage:

david@bear:~/tmp/codec2-dev/build_dir$ ./unittest/fdmdv_mem
struct FDMDV.......…: 409192
prev_tx_symbols....…: 168
tx_filter_memory......: 1008
phase_tx..........….: 168
freq..................: . . . → Read More: Reducing FDMDV Modem Memory

Energy Equivalents of a Krispy Kreme Factory

My 15 year old son is rather excited at the prospect of Adelaide’s first Krispy Kreme factory. This factory will be pumping out 5,000 donuts an hour.

Now a donut contains about 1000 kJ of energy. This is chemical energy, in the form as fat and sugars and carbohydrates. Our bodies are . . . → Read More: Energy Equivalents of a Krispy Kreme Factory