Things used in this project
I like cheap electronics for playing.
Cheap is good for budget conscious hobbyists and China is delivering lots of toys for playing - one being the inexpensive "mono" OLED displays. The single-color displays often come in a dual-color implementation where the top row of pixels are one color and the remaining majority of the lower pixels are another color. These dual-color units allow the title information to be easily distinguished from the lower part of the screen which is usually utilized for changing data.
In a recent eBay (no endorsement intended) special, one Chinese vendor was offering $4 OLED screens in a Yellow-Blue implementation with free-shipping. That was back in mid-February and I received the modules this week: about 6 weeks. Mostly my experience is that the ePackets are arriving in 3 to 4 weeks and the economy shipping (often free) is coming in 6 to 8 weeks: your experience is likely to be different as pinning down the shipping times is difficult.
this article is about the color module which is very similar to the one that Adafruit sells and has written libraries to support: Adafruit 0.96" OLED. Of course, there is $16 dollars difference between the two (and about 31 - 45 days in getting your hands on it!) I encourage anyone wanting "a play" to support Adafruit as you gain access to their web-support which is really not bad and the little extra you spend supports the software development.
if you are just experimenting and could care less about whether the Chinese part will work or not (or even if you actually receive it), then the $4 clone may be the way to go.
Low cost + low expectations = low risk.
I would not post an entire article just to highlight a product sold and supported by Adafruit (or any vendor), but in this case, I am attaching a ZIP to support the OLED running on a Maple Mini Clone (also $4 - $5) which is supported by these new core files for Arduino 1.6.1. To duplicate this project, you need Arduino 1.6.1 (unmodified), a SPI OLED 128x64 pixel display (warning: some are I2C only), the STM32 ARM core files from the above link, and your choice of 8-bit Arduino or 32-bit ARM STM32F103 (Maple, Maple Mini.)
The attached ZIP is for the Maple Mini ARM STM32 Maple Mini running at 72MHz.
// software SPI works on Maple Mini ARM 32-bit
// use these settings for the OLED display...
// These pin #'s are for Maple Mini/UNO/Nano/Mini328
#define OLED_DC 6 // D/C
#define OLED_RESET 5 // RST
#define OLED_MOSI 4 // SDA
#define OLED_CLK 3 // SCL
#define OLED_CS 7 // Not Connected to OLED board
Adafruit_SSD1306 OLED(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
ZIP has the modified libraries for Maple Mini ARM 32-bit. Please see the Adafruit website if you wish to download unmodified files to support standard Arduino boards such as the $2 Arduino Mini 328 available from many eBay dealers (see last graphic above.)
As always, I hope you have fun with this project.
STM32F1xx ARM under Arduino 1.6.1
Did you replicate this project? Share it!I made one
Love this project? Think it could be improved? Tell us what you think!