Since I wrote the STM32CubeMX to Makefile converter, a lot of people have been helping to improve the project. Thanks! Meanwhile I also heard a lot of complaints about the quality of STM32Cube codes, for example, the thread here. Although I believe STM32Cube’s quality will eventually improve, at the moment there are still applications for the good old “Standard Peripheral Library” and other ST middlewares. Therefore I wrote another program, that converts most of ST’s example project into Makefile project. Continue reading

Writing peripheral initialization code is probably the most tedious work in embedded development. It always successfully stops me from starting a new project. I believe engineers at STMicroelectronics share the same pain. Therefore they created STM32Cube firmware and STM32CubeMX graphical configuration tool, which turns numerous key strokes and page flips into just a few mouse clicks. STM32CubeMX is free software, but the initialization code it generates require compiler tools carrying hefty price tags, IARARM, Keil ARM-MDK, and Atollic TrueSTUDIO, to name the few. Fair enough these compilers do offer free editions with limited functionality. But I still prefer unrestricted, free tool that is easily scale-able for my current and future projects. Just like the GNU Make and ARM GCC toolchain I described in Opensource STM32 development.

Continue reading


The rise of the ESP8266 WiFi chip was almost overnight with Espressif’s open approach and pushing from Hackaday. While no ground-breaking product has yet emerged, the development on the chip are phenomenon. However due to an unknown reason the ESP8266 modules manufacture seems to prefer non-standard 2.0mm pitch connector, which gives a lot of headache to breadboarding lovers like me. This forced me to make a breadboard friendly ESP8266 breakout board.

Continue reading

Bean Loader

During last year’s blackfriday sale I was introduced to the epic Lightblue Bean “Cheaper than a turkey” promotion. I grabbed two beans during a group buy spree. A week later’s The AmpHour interview with Colin Karpfinger justifies that my purchase is not purely impulsive. However I did make a mistake. I was under the impression that a Mac computer is sufficient to program the bean, but actually only recently Macs are supported, whereas my “Late 2010” Macbook Air is on the exclusion list due to the lack of Bluetooth 4.0 / Low Energy profile.

Continue reading

Minimalism ATTiny2313 development board
Lacking of proper development board always poses huge resistance for me to jump onto a new MCU. Even with the most prototyping friendly DIP packages, wiring a programming header onto the breadboard is both troublesome and unreliable. Things become worse when the MCU is an AVR. There is absolutely no way to mount a 2×3 0.1in pitch programming header onto the breadboard. It was such a pain until recently I found a elegant way to make a quick and dirty minimalism board. Here is how.

Continue reading

STM32 half-duplex SPI connection

I’ve got my hands onto some STM32F030F4P6 ARM-Cortex M0 processors. Though touted as “32 cents 32-bit micro”, it is not that inexpensive from DigiKey in one-off quantity ($1.45). However it is still cheaper than ATmegas and offers 3 times the performance. The chip comes in 20-pin TSSOP package. Limited pins require much more thoughts when assigning pin function. For example, using 3-pin half-duplex SPI instead of 4-pin full-duplex SPI saves me 1 very precious GPIO pin. Continue reading