Moving to Dresden to study Electronics Engineering

Over the next couple of days I will be moving into my new apartment in Dresden as I will be studying Electronics Engineering at the TUD.
Of course my dorm room is quite small so I can’t do any soldering and in general can’t have a work bench like I used to have in the basement at home. All the electronics work that involves soldering and more sophisticated debugging will be done at the Dresden hacker space Turmlabor which is conveniently only a short walk away from my apartment building.

Nonetheless I have taken a couple of dev boards and basic test and measurement equipment with me to be able to do some simple debugging work in my dorm room (which should be good enough for simple microcontroller work):

  • Rigol DS1102E 100MHz DSO
  • Uni-T UT61E DVM
  • ScanaPLUS logic analyzer
  • DangerousPrototypes BusBlaster JTAG interface
  • PICkit3 in circuit serial programmer & debugger
  • A couple of PIC18F dev boards
  • STM32F401RE-Nucleo
  • Texas Instruments Tiva-C Launchpad
  • Breadboard & jumper wires

I hope I’ll be able to do some more electronics work (and be motivated do so despite the fact I’ll study EE) once I’ve got everything figured out here in the new city.


Fixing ${KIGITHUB} issue in newer KiCAD builds

Today I was getting ready to associate some footprints in KiCAD for my SURV-Project and ran into issues with cvpcb.

KiCAD has been changing very rapidly since CERN announced that some of their people will be contributing to the project full time (nice to see OSS and OSHW support from CERN).

One of the new features is that the footprints (or modules as they call them) for KiCAD are now hosted on GitHub. I had some issues when starting up cvpcb complained about not being able to access the GitHub repositories for the library files.

A simple fix for this is adding this to your .bashrc:

export KIGITHUB=''


Review of the IKALogic ScanaPLUS logic analyzer

Today I received a very useful tool which will certainly ease my work with programmable logic and digital buses, the IKALogic ScanaPLUS.

It is a 9-channel 100 MHz desktop logic analyzer which will cost you 199€ (about $275 US) and comes with a 2 year warranty. The multi platform (Windows, Mac, Linux) software associated with it is called ScanaStudio 2 and comes free of charge with many different protocol decoders.


Continue reading

Binary wrist watch guarantees being identified as a nerd

I have just finished my binary wrist watch project (well, the new revision anyway). I was surprised at how small I was able to make it compared to last time.

I chose to go with the “super-yellow” color LEDs as they fit the purple OSHpark PCB very nicely. The biggest challenge was actually making a good looking wrist band for the watch. I originally intended to use a design like this but it turned out that due to lack of enough para cord I had left, I went with a simpler design that I had done once before.

The watch in it's natural environment. The time displayed is 18:23 (6:23 PM)
The watch in it’s natural environment. The time displayed is 18:23 (6:23 PM)

Continue reading

Using the DP Bus Blaster v3c to program Lattice CPLDs

A while ago I ordered a Lattice MachXO breakout board to play around with programmable hardware and the breakout boards by Lattice are quite cheap (compared to something like the Altera and Xilinx dev kits).


One day when playing with the CPLD board I accidentally shorted out two pins on the on-board FT2232 and – unfortunately – the magic smoke escaped! It was very clear that the FT2232 failed because it got very warm when plugging in the USB cable. Luckily the dev kit includes a 0.1″ header landing to connect an external JTAG probe.

Wanting to get a Dangerous Prototypes Bus Blaster JTAG programmer anyway, this was the perfect excuse.

Continue reading

Revisiting the STM32F4 tutorials

First of all: I would’ve never expected the STM32F4 tutorial pages/example code to be so popular!

In the next couple of months (it will take a little as I have to study for my A-levels which are coming up in March already!) I will revise all of my example code and will give it a face lift.

The reason I want to do this is because many bug fixes have been suggested by very helpful readers and because I know how important it is to have good documentation and commented code available when trying to learn about a new microcontroller family.
I also plan on optimizing the code more (block program execution for as short time as possible).

For the sake of simplicity I will remove the static code from the individual tutorial pages and will slowly merge my STM32F4-examples repository into my primary repository for the STM32F4, the STM32F4-workarea.

The workarea repository will become a fully featured workarea with complete Makefiles and example code for important peripherals available. Each example folder will contain a README document which gives an abstract of what the code does. The comments in the code will provide detailed information on why things are done and how they are implemented like this.

Thanks again for all of you who leave nice comments and suggest bug fixes!
Don’t be afraid of leaving me a comment, I appreciate them ;)

Binary wrist watch – take 2

A little bit more than a year ago I started a binary wrist watch project. I wasn’t really able to get it to work satisfactorily as some “ghosting” occured on the multiplexed LED matrix display (LEDs that were supposed to be off still glowed and were visible). As always the board I got manufactured had some hardware bugs and I couldn’t get the RTC to work reliably (it drifted quite significantly in just 24 hours). The last PCB was also very big and would have been awkward to wear on your wrist.
TL;DR I had put the project aside for a while and I’m working on a new version.


Continue reading

Driving a WS2812 RGB LED with an STM32

As seen on Hackaday!

If you like blinky LEDs – especially the full color RGB ones – you might have already come across the WS2812 LEDs.
These little suckers are extremely bright and can be purchased rather cheaply from eBay, 50 or a 100 pcs at a time or strips with 60 LEDs per meter.
You can also get them as bare LEDS, as strips or even as breadboard friendly breakout boards from Adafruit (NeoPixel) and SparkFun.

These devices can be chained together to endless strings (given you can supply enough power) and therefore are perfect for making big RGB screens/matrices.

Continue reading

Reading SD cards with the STM32F4-Discovery

For my autonomous rover project I need the STM32F4 to read configuration data from SD cards and writing log data to the SD card.
For convenience the FAT16/FAT32 filesystem should be supported so I can read out the data with a PC, this is not a problem as the STM32F4 has enough oomph and RAM to handle it.


So I went ahead and wrote a low level SD card interface for the STM32F4 that accesses the card via the SPI bus (NOT the STM32F4s SDIO bus).

Continue reading