Larry the optimizer @fast-code-r-us.bsky.social · 30/05/2026github.com/bitbank2/Fas... New - I shared a low power eink clock project that updates every minute (no flickering). It pulls the correct time/date from NTP every day and a half and uses the ESP32's RTC to keep the time. It can last for months on a small battery using ESP32's deep sleep. 092
Larry the optimizer @fast-code-r-us.bsky.social · 29/05/2026And... it's working from FastEPD. Will release the code shortly... 000
Larry the optimizer @fast-code-r-us.bsky.social · 28/05/2026In today's mail - A fragile piece of glass masquerading as a retail product. The Waveshare 7.8" parallel Eink panel with IT8951 RPI HAT. Soon to be supported by my FastEPD library (on Linux, Arduino and esp-idf). 150
Larry the optimizer @fast-code-r-us.bsky.social · 16/05/2026Some new devices landed on my desk over the past few days. Waveshare AMOLED 2.16 ESP32-S3 (480x480), M5 Paper Color (ESP32-S3 w/ 4" Spectra6), NM-CYD-C5 (not shown) and the GKD Pixel2 (nostalgia machine). Each quite impressive in their own way. I added them to my display libraries (not the GKDP2😜) 040
Larry the optimizer @fast-code-r-us.bsky.social · 08/05/2026I forgot that digitalWrite() in Arduino is very slow. I changed them to gpis_set_level and now it runs at 208 fps :) 010
Larry the optimizer @fast-code-r-us.bsky.social · 05/05/2026I did some experiments to increase the performance. The per pixel calculations are less important than managing the data sent to SPI. I found a good balance of minimal RAM use plus simple code to get reliable 42fps. It uses a 16-entry lookup table to help rearrange the bits. 110
Larry the optimizer @fast-code-r-us.bsky.social · 04/05/2026I've got the same board. That Sitronix LCD can take 1-2mA in "high power mode" and < 50uA in low power. I don't have an easy way to measure the current on this board. Why did you put the gfx buffer in SPIRAM, it's only 15K? What kind of speed are you seeing? 100
Larry the optimizer @fast-code-r-us.bsky.social · 02/03/2026@fasani.bsky.social created something unexpected - a parallel Eink PCB (Sensoria) based on the ESP32-C5. This chip is faster than the ESP32-S3 and has 5GHz WiFi. Now added to my FastEPD library. 142
Larry the optimizer @fast-code-r-us.bsky.social · 30/01/2026New product taking shape - a #RaspberryPi AMOLED display HAT. It works on RPI Zero/1/2/3/4. Hi-res, super saturated colors and wide viewing angles. This one is 460x460 with capacitive touch. Excellent for gaming too (it's fast). Who's interested? 041
Larry the optimizer @fast-code-r-us.bsky.social · 18/01/2026Palette settings are just coming online now. I'm implementing 3/4/6-color support too. All will work correctly soon... 022
Larry the optimizer @fast-code-r-us.bsky.social · 07/01/2026New KiCad project shared to Github - my RPI to UNO LCD shield HAT. Allows use of high speed parallel (and cheap) LCDs. github.com/bitbank2/RPI... 010
Larry the optimizer @fast-code-r-us.bsky.social · 20/12/2025That's easy for the compiler when the loop count is a constant. A trick to make it work on variable length arrays is to make an inner loop of a constant size: 010
Larry the optimizer @fast-code-r-us.bsky.social · 12/12/2025Hey @pimoroni.com - your Inky Impression 7.3" just learned a new trick - it can run TRMNL 😜 The new Spectra6 panel is a nice improvement - faster and better contrast. 1101
Larry the optimizer @fast-code-r-us.bsky.social · 08/12/2025Parallel GPIO on the original RPI 1 and ZeroW can do interesting things too (e.g. drive QSPI displays), but the single core Armv6 CPU is too slow for modern projects of any type. RPI Z2W is the minimum useful board. This GIF player runs at 50fps (360x360 pixels) on the Z2W - much slower on the ZW. 020
Larry the optimizer @fast-code-r-us.bsky.social · 18/11/2025New toy - Waveshare 1.54" ESP32-S3 e-paper thing. I added support for it to bb_epaper as a named device (1 line init). Good power circuitry, sensors, good price. 060
Larry the optimizer @fast-code-r-us.bsky.social · 14/11/2025I just added support for the LilyGo T-Deck Pro to bb_epaper (github.com/bitbank2/bb_...). It's a named device, so the GPIO connections and panel type are under a single name (EPD_LILYGO_T_DECK_PRO). N.B. Don't use DEEP_SLEEP because the reset line is NOT connected to an ESP32 GPIO. 130
Larry the optimizer @fast-code-r-us.bsky.social · 02/10/2025Finally got some copper heat sinks to test the Radxa Cubie A7z. It still runs too hot, but is relatively stable now. It's basically a RPI0 sized RPI5. It runs code 2-3x faster than an RPI4. Too small an area to dissipate that much heat. Need to find a way to lower the CPU clock speed. 130
Larry the optimizer @fast-code-r-us.bsky.social · 21/09/2025A proud moment for power efficiency yesterday. I was able to get my nRF52840 ePaper badge to run well just using light sleep. It displays a clock on a 2.9" 296x128 EPD which updates every 10 seconds. With an average of 200uA current draw, it will run for several months on a coin cell. 191
Larry the optimizer @fast-code-r-us.bsky.social · 15/09/2025Bigger what - offering 2 different upgrades at the same time: I think I'll wait on both/neither. 130
Larry the optimizer @fast-code-r-us.bsky.social · 25/08/2025I've had this idea for a while - support for 3 and 4-color EPD images (compressed as G5 in 2 bit planes). Still in development, but you can try it (bb_epaper, dev branch). The tool converts PNG to G5 with color matching. Result - 8:1 lossless compression and easy to use the results. 130
Larry the optimizer @fast-code-r-us.bsky.social · 29/05/2025I created breakout boards to easily connect the inexpensive OLEDs and 'blue' ST7789 PCBs to Xiao, Nano & Feather. Inexpensive and easy to use. I also like the ESP32 boards with built in displays. 110
Larry the optimizer @fast-code-r-us.bsky.social · 03/04/2025I updated the blog post with example (Arduino) code to see the speed increase for yourself. Spoiler (see screenshot below from running it on an ESP32-S3) 020
Larry the optimizer @fast-code-r-us.bsky.social · 09/03/2025#Embedded and #Arduino developers - what if you could run/debug/profile your project from the comfort of your PC (Xcode on Mac in this case)? youtu.be/j1ryXNiYefc Most Arduino libraries should work unmodified. This is my AnimatedGIF demo (library+sketch unchanged) running on an iPhone. 140
Larry the optimizer @fast-code-r-us.bsky.social · 06/03/2025Throwback Thursday - one of my more useful projects (family approved 😀). A low cost ESP32 weather / clock. Source code is here: github.com/bitbank2/CYD... It's been happily running in our kitchen for the last 8 months. The code supports multiple models of the "CYD". 1111
Larry the optimizer @fast-code-r-us.bsky.social · 05/03/2025A new side project on my long list of side projects...Image Slinger. An iOS/MacOS tool to prepare and transmit images for eink displays. The screenshot is it running on my MacBook Air as a pseudo-iPad app. Image compression options will be added next. 050
Larry the optimizer @fast-code-r-us.bsky.social · 25/02/2025I just added a new example to my bb_lvgl project. This one is in the class of "Cheap Yellow Displays" from Guition. The JC4827W543 is an ESP32-S3 PCB with a QSPI 480x272 LCD. To use a different CYD, just change the display type parameter in lcd.begin(). 041
Larry the optimizer @fast-code-r-us.bsky.social · 24/02/2025Here's the code to do it (I enhanced the demo a little): github.com/bitbank2/bb_... Soon will be joined by code for my eink libraries. 000
Larry the optimizer @fast-code-r-us.bsky.social · 23/02/2025The @pimoroni.com Tutfy2040 (native code, of course) can also use my bb_spi_lcd library to work with LVGL 230
Larry the optimizer @fast-code-r-us.bsky.social · 23/02/2025The premise for the software optimization book/course I'm creating. Does it resonate with you? 020
Larry the optimizer @fast-code-r-us.bsky.social · 18/02/2025"Zero cost" antialiasing of fonts now in FastEPD. A 2x sized version is drawn and 2x2 pixels are converted to a gray level (very efficiently, of course). Roboto_Black 40pt on top and 80pt with AA applied on the bottom. The complete 80pt bitmap font (G5 compressed) is only 9K of FLASH. 160
Larry the optimizer @fast-code-r-us.bsky.social · 07/02/2025I'm adding functional+fuzz tests and new examples to my JPEGDEC library. Here is a DMA best practices Arduino sketch with a detailed explanation of the how's and why's of DMA: github.com/bitbank2/JPE... 070
Larry the optimizer @fast-code-r-us.bsky.social · 12/01/2025I added a new Arduino example to my bb_rtc library which allows you to set all of the fields of the RTC using 2 buttons and an OLED display. github.com/bitbank2/bb_... 020
Larry the optimizer @fast-code-r-us.bsky.social · 01/01/2025Another parallel eink product is now supported by my library - the Inkplate5 Gen 2 (1280x720). 122
Larry the optimizer @fast-code-r-us.bsky.social · 30/12/2024The grayscale is looking nearly perfect too. 010
Larry the optimizer @fast-code-r-us.bsky.social · 29/12/2024The latest parallel eink code is coming along well. Getting 16 good gray levels from black and white panels is challenging because you have to make them dance between black and white many times. The API I created makes it very easy to use (M5 PaperS3 pictured w/Arduino JPEG example) 2111