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='https://github.com/kicad'

Cheers,
Elia

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.

ScanaPLUS

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 watch in it’s natural environment

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).

DSC_0026

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 ;)
Elia

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.

maize-front

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.

DSC_0001

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

Setting up an STM32F10x working area

As I want to work with the STM32F10x microcontrollers in the future I had to set up a working area to compile my code in and use the peripheral library and while I was at it decided to share it with you should you be interested in these devices too.

Setting up the working area is incredibly simple asy you only have to clone the git repository:

git clone https://github.com/Torrentula/STM32F1-workarea.git
cd STM32F1-workarea/Project/GPIO-example
make

After changing to the GPIO example project and compiling it you can load it into the microcontroller using gdb or OpenOCD, whichever you prefer.

The Project folder is where all the projects live. You can simply copy the GPIO-example folder, delete main.c and start over.