SSD1306 12 x 8 Font Set Implementation by Brad Ormand

10.15.2014 – SSD1306 & Blog

I got the SSD1306 driver working great, finally! Just a few hiccups before, but now I have the whole alphabet and number set displaying on the screen! The display pixels are sooo crisp and a joy to read on this OLED.

At first, I digitized the 8×6-bit font set I drew up, but those were super tiny – shoulda known.. It would have been fine for a larger pixel matrix, but this display is tiny and densely-packed, so I spent time re-mapping the chars out to 13×8, instead. They look great! I like the wide feel, and my font has that classic sci-fi look to it. Reminds me of Roland’s digits for their audio gear – rock on. Perfect. And, by going with a 13 pix width, I utilize the entire real estate of the display line – 128 / 13 = ~9.8, almost 10 chars across, but I can truncate the last two cols (130 – 2) because they are spacing, making it an even 10. So, the 10 across letters lock up just right at 128.

 

IMG_2548

Now, I’ll just work on getting my font structs mapped to the bits and figuring out the ubiquitous “setPixel( x, y, val )” function – the first milestone that I do for any kind of graphics display, and each are different – it’s really the most fun work. Until now, I had been just writing straight to RAM pages in 1×8 bit chunks, as defined by the display’s GDDRAM. But, now to modulate the page / column window to re-draw with a new pixel overlaid, in place, in the selected 1×8 chunk.

And, then, once I’ve got that, it’ll be time to put together the character engine. And, then, the frame blitter / back buffer, etc. I’m really enjoying this – these little details and being super close to the hardware, and can’t wait to use it for debugging the audio engine for my synth and spectrum analysis projects, later on. And… I would really LoVe to see a platformer game on this thing, too – that would be nasty good. Lol…

I log these thoughts to my iPhone in “Notes”, for the purpose of documenting my journey because I think it helps me from a project management standpoint, and also from a “fun” standpoint – for nostalgia feelings and looking back on interesting life events – and just to examine the way that I operate, as well. I enjoy it. Wish I woulda started it earlier, in fact. I’ll keep writing in Notes to log my stuff, but I’d like to use WordPress to manage the log itself, now that I think about it…

I thought about using the “Falcon” CMS that I wrote a while back, derived from the CMS’s that I used to write for clients (I think several of my clients still have it live on tha www) because I liked the idea of extending it a bit and getting back into it’s development.  But, nah, I’d like to catch up with modern WordPress 4+ development, though, as I think I could really do some cool stuff with it. I developed for WordPress 3 for a few years on jobs – making plugins and themes for companies in LA and Austin. I have some fun ideas for it, and plus, I have the taste for php again. Here’s my chance.

And, I designed a layout for my new site anyway (a little before I started keeping log), and so I’ll just make into a theme on WP and run with it.  Also, WordPress is a “blog platform” – or at least started that way and does blogging very well. It’s more that that these days, I guess. And… Yup – that’s what I need: a way to manage and display my logs on the web 🙂 . The format will be just stating my thoughts and recording what happens as opposed to teaching or supplying information or for promotion.  I am not going to try to be a “blogger” or make it “successful” or make anything out of it more than as a supplement to my projects – my projects are the focus, and 50% of my doing it is just for my own history log and management of my projects, and the other 50% will be for the discovery of, and outlet for, my art.  Bare bones, no frills.  But, it I *will* enjoy writing in it and shooting photos and formatting it, etc, for public consumption, and of course, I’m going to make it LOOK bad-ass 🙂 .  Right now, I think I’ll drop my existing developer portfolio and music player, etc, on top of WordPress, too. Might as well have the whole site use a single platform, I guess.

I remember when I was living in LA and was freelancing for the LA Times newspaper. I took the metro train to work every day from Hollywood and Highland to their building downtown. I worked on Flash apps for their website. It was around that time that I started writing my projects down – logging my approaches – successes and failures. I always kept a pencil on me and carried a pocket notebook – a Moleskine. I could have used an app to log stuff, but I just liked pencil because I could also sketch stuff. But, anyway, I remember writing a Flash logging app that I used for awhile, and I may still have data in that and those notebooks, but I never published or collected those thoughts in one place.

And so, that’s why I am setting all of this up – so that I can re-experience the various weeks’ events, to recall later, in a nice format – like as an aid to my memory (I keep saying this. haha.). But, like this: What solution did I come up with back then when I was on a similar project? What were some of my motivations and state of mind when I did certain things on certain projects? How can I improve my process? What patterns emerge?  Etc.  I am already seeing them. So, I’m actually excited to get this going up on a site. In a year when I look back on this, I’d like it to provoke my memory to remember what it was like “back then”. It helps me strengthen my self-project-management skills and also helps keep the motivations clear for “why” I’m doing things a certain way, etc.