• Driving OLED Displays Directly

    12/18/2018 at 00:32 3 comments

    There are many monochrome OLED display modules available for really reasonable prices out there. They can be really useful for a small and simple display in a project. However, many libraries available for driving them are rather big and slow. In this article I want to show how easy it is to drive those displays directly, without a dedicated library, and how this can improve speed and save memory.

    As an example I will be using a Wemos D1 Mini (now Lolin D1 Mini) board with an OLED shield. To focus on the data we need to send, and not on details of environments and libraries, I will be using MicroPython for all of the code. I hope that once understood, the examples can easily be translated for any other board, display and language.

    Read more »

  • Driving LED Matrices Conveniently

    11/04/2018 at 21:40 12 comments

    You can make a pretty neat low-resolution display out of LEDs arranged in rows and columns — you can even buy ready matrices that save you a lot of work with it. You "only" need one GPIO pin per every row and every column (you can save a lot of them by charlieplexing). The way you display things is that you enable one row (or column) at a time, and enable the columns (or rows) for that set of pixels, and then you disable it and switch to the next row (or column). If you do that quick enough, the LEDs won't even have time to stop shining, and you will have a pretty reasonable image displayed. But there are several problems with this.

    Read more »

  • Boredom

    11/01/2018 at 14:18 6 comments

    Would you like to be more creative? More eloquent in conversations? More intelligent in decision making? Better at problem solving? More attentive? Able to read those difficult books? Focus deeply on the project at hand? There is a simple solution for all this: embrace boredom.

    It takes some effort and training, but I can assure you that it certainly is worth it. Whenever you are waiting, whenever you don't have anything urgent to do, whenever you don't particularly feel like doing something, just be bored. Forget about taking out your phone and mindlessly scrolling through the social network stream, frantically checking your messages, or playing silly games designed to get you addicted to them. Just stay there and think about whatever comes to your mind: that conversation you had last week with a friend about morality, that book you are reading, that project you were planning to start, what you will tell the person you are waiting for when they arrive, what you will do next, etc. — it doesn't really matter what you think about, just let your mind wander.

    The effect of this? You will have more motivation to actually work on that project, you will understand the book better, you will have interesting things to say in the next conversation, you will enjoy your time with that person more, and so on. Because your mind will have done some of the work up front and will be prepared. Because you will also think about things that you wouldn't notice otherwise. Because you will be more rested and ready to pay more attention to the here and now.

    Obviously, this is not a silver bullet. It doesn't work when you are tired, depressed, stressed and burned out: you have to make sure you take care of your sleep deprivation, depression and anxiety first — don't be afraid to talk to a doctor about them, they are often very easily cured. But once you have that under control, make sure to leave yourself as much time as possible for doing absolutely nothing. Literally staring at a wall. It will make everything else you do much better.