Sign in

Larry the optimizer

@fast-code-r-us.bsky.social
243 followers 222 following 338 posts

I optimize code for a living. I'm also good with bits, bytes and pixels. I have been in this digital world since before the days of 8-bit home computers. See my FOSS projects on github.com/bitbank2

PostsRepliesMedia
Larry the optimizer @fast-code-r-us.bsky.social · 12/08/2026
Fale sua idade sem dizer sua idade: "Touch-Tone" (telefone) era uma novidade e precisava pagar mais para habilitar.
030
Larry the optimizer @fast-code-r-us.bsky.social · 09/08/2026
I no longer have that device, but it should be relatively painless to use the IT8951 support I added to FastEPD. You just have to tell it the correct GPIO connections. If you can create+test that setup, I can easily add support for it to trmnl-firmware.
110
Larry the optimizer @fast-code-r-us.bsky.social · 06/08/2026
More likely it is getting set/reset in some other part of your code that you weren't expecting.
111
Larry the optimizer @fast-code-r-us.bsky.social · 06/08/2026
Some versions of these LCD controllers have the control bits for 0x36 moved around. Try flipping every bit in the register to the opposite and see if you get inverted, RB swap, flip-x, flip-y and flip-v. If not, it may be an oddball and you have to manually flip the bits in your code.
101
Larry the optimizer @fast-code-r-us.bsky.social · 06/08/2026
Did you try disabling the LCD mirror bit in register 0x36 (MADCTL)
110
Reposted by Larry the optimizer
Hackster.io @hacksterio.bsky.social · 15/06/2026
Tekenex's Vectino is a tiny dev board with a powerful Arm Cortex-M85 chip and Helium vector acceleration to crush heavy AI and DSP workloads.
hackster.io
Vectino Packs Massive Power Into a Tiny Dev Board
Vectino is a tiny dev board with a powerful Arm Cortex-M85 chip and Helium vector acceleration to crush heavy AI and DSP workloads.
031
Reposted by Larry the optimizer
RetroHandhelds.gg @retrohandhelds.bsky.social · 12/06/2026
Anbernic is making handheld repairs easier with official replacement parts for shells, screens, buttons, batteries, joysticks, and more. retrohandhelds.gg/anbernic-fin...
072
Larry the optimizer @fast-code-r-us.bsky.social · 10/06/2026
The RPI (slowest version) is probably 10x faster than necessary to emulate a full speed Spectrum ZX, so optimizing the code for that target system is for "fun" vs. for "need".
110
Larry the optimizer @fast-code-r-us.bsky.social · 10/06/2026
I've been using SDL "wrong" for a long time too with canvas vs. texture. After searching further, I found conflicting info about which one is faster (lock vs update). I guess I'll have to write a test program and try it on various OSs.
210
Larry the optimizer @fast-code-r-us.bsky.social · 10/06/2026
Yes, RPI can easily keep up with inefficient code. The rendering code/technique would be more critical on a slower system like the ESP32.
210
Larry the optimizer @fast-code-r-us.bsky.social · 10/06/2026
Isn't it faster to use SDL_UpdateTexture() instead of SDL_LockTexture()?
110
Larry the optimizer @fast-code-r-us.bsky.social · 08/06/2026
Did you design that battery cover? If so, how did you do it? (It looks quite complicated to design)
100
Reposted by Larry the optimizer
Seeed Studio @seeedstudio.com · 03/06/2026
GPIO Breakout Board for XIAO. Thoughts?
072
Larry the optimizer @fast-code-r-us.bsky.social · 04/06/2026
I'm currently using UTM and I find it to be stable and fast for Arm64 Linux.
000
Larry the optimizer @fast-code-r-us.bsky.social · 04/06/2026
SDL_Delay() saves power. I use a single one at the end of each frame to pass the variable amount of time remaining in the frame.
030
Larry the optimizer @fast-code-r-us.bsky.social · 04/06/2026
The GPU rendering is definitely more efficient with SDL. The trick is to balance idle time and display updates. Use of the SDL timer is not required; you can still poll events. Keep an eye on CPU cycles and texture updates because they're the main source of power use.
130
Larry the optimizer @fast-code-r-us.bsky.social · 04/06/2026
Pro tip: The simplest way to be a "10x" programmer for RPI projects - ditch the RPI (any/all) and develop your software in a Debian VM running on an Apple Silicon Mac.
010
Larry the optimizer @fast-code-r-us.bsky.social · 04/06/2026
I'm experimenting with the same API and looking at ways of saving power. On handheld Linux devices, apparently the CPU usage is what matters most, not GPU. I've made some good progress with reducing CPU usage.
120
Larry the optimizer @fast-code-r-us.bsky.social · 30/05/2026
github.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.
Photo of a 5.2" 1280x720 parallel eink panel showing the current date and time in an attractive, bold font.
092
Larry the optimizer @fast-code-r-us.bsky.social · 29/05/2026
Cory Doctorow tem uma resposta boa: pluralistic.net/2026/05/27/u...
pluralistic.net
Pluralistic: AI and a world without migrants (27 May 2026) – Pluralistic: Daily links from Cory Doctorow
000
Larry the optimizer @fast-code-r-us.bsky.social · 29/05/2026
And... it's working from FastEPD. Will release the code shortly...
000
Larry the optimizer @fast-code-r-us.bsky.social · 28/05/2026
In 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 · 27/05/2026
Rockchip is better cost-wise, but not great on power. However, their chips do support suspend to RAM and other power savings that RPIs don't. A big battery could potentially run it for many hours.
110
Larry the optimizer @fast-code-r-us.bsky.social · 27/05/2026
Qualcomm and NXP embedded Linux solutions are much more power efficient than anything offered by RPI Ltd. It can be quite efficient with the right CPU choice.
110
Larry the optimizer @fast-code-r-us.bsky.social · 22/05/2026
Minor correction - the straight-on photo in the article shows the wrong hardware. Somehow an old prototype which uses a 4.2" SPI display was included in the article. The ZeroWriter uses a Kindle 6" parallel eink display with front light.
010
Larry the optimizer @fast-code-r-us.bsky.social · 16/05/2026
Some 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 · 15/05/2026
One component you forgot to mention - the RX8130CE RTC from Epson.
000
Reposted by Larry the optimizer
Paul Stoffregen @paulstoffregen.bsky.social · 13/05/2026
PJRC website and email are down today. Hosting company is replacing the server's SSD.
001
Larry the optimizer @fast-code-r-us.bsky.social · 08/05/2026
I 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/2026
I 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 · 05/05/2026
I'm not seeing any shimmer on mine; the image is solid even while updating quickly. I am considering if it's worth the effort to get even faster updates. My theory is that the Volos demo uses a shortcut for his low res 80FPS display - he writes pixels that are 4x2 (a byte) each.
100
Larry the optimizer @fast-code-r-us.bsky.social · 04/05/2026
The difference is that Espressif optimized the IDCT with SIMD, I didn't. Mine is faster at VLC decoding and pixel generation. Theirs gives you the whole image in one shot. If you use DMA with mine and send each "chunk", it can be effectively faster on a single CPU. @atomic14.bsky.social tested this.
110
Larry the optimizer @fast-code-r-us.bsky.social · 04/05/2026
Sitronix's RAM layout creates chaos/wasted-cycles. They never could fully compete with Sharp on the low power aspect possibly because of a still valid patent. The Sharp LCDs can use 10-20uA at 30 FPS while the Sitronix uses 20-50uA at 0.5 FPS. Reason: Sharp=state machine, Sitronix=MCU controller.
120
Larry the optimizer @fast-code-r-us.bsky.social · 04/05/2026
I'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 · 24/04/2026
Looks good. Is it using my JPEGDEC to do the MJPEG decoding? I'm almost finished with my H.263 video player. It will be able to achieve smaller data size and higher frame rates compared to MJPEG. Would you like to try it?
200
Reposted by Larry the optimizer
Paul Stoffregen @paulstoffregen.bsky.social · 22/04/2026
Brett Gossage has put together a ten-minute video guide to using USB MIDI with Teensy, including how to interface a classic 5-pin MIDI DIN connector to a modern Digital Audio Workstation. Older content but still applies to latest Teensy models. www.pjrc.com/usb-midi-how...
0103
Larry the optimizer @fast-code-r-us.bsky.social · 22/04/2026
I've got those as well. I added support for it in my bb_spi_lcd library for both Arduino and Raspberry Pi. I bit bang high speed QSPI on the RPI using direct GPIO register writes. It goes at about 40MHz on the RPI too: youtube.com/shorts/3yqpt...
youtube.com
High speed QSPI possible on RPI 40-pin header
YouTube video by tdfsoftware
120
Larry the optimizer @fast-code-r-us.bsky.social · 14/04/2026
Sea World Orlando?
010
Larry the optimizer @fast-code-r-us.bsky.social · 12/04/2026
Are you able to measure the speed and compare it to using the CPU to do the same job?
100
Larry the optimizer @fast-code-r-us.bsky.social · 09/04/2026
2026 - The year of the 𝙻̶𝚒̶𝚗̶𝚞̶𝚡̶ Mac Desktop 😀
010
Larry the optimizer @fast-code-r-us.bsky.social · 09/04/2026
New blog post - ESP32-P4 SIMD Explained: bitbanksoftware.blogspot.com/2026/04/esp3... #ESP32P4 #SIMD #GIF
bitbanksoftware.blogspot.com
ESP32-P4 SIMD Explained
Introduction N.B. - This article is for programmers who are familiar with SIMD. Like the ESP32-S3 before it, the ESP32-P4 includes SIMD inst...
020
Larry the optimizer @fast-code-r-us.bsky.social · 08/04/2026
@shapoco.net If you point me to the 3D renderer source code, I can tell you if I can optimize it with ESP32-S3 SIMD.
000
Reposted by Larry the optimizer
Gadgetoid @gadgetoid.com · 07/04/2026
Testing...
pinout.xyz
I2C at Raspberry Pi GPIO Pinout
Raspberry Pi I2C pins
3112
Larry the optimizer @fast-code-r-us.bsky.social · 05/04/2026
I'm tempted to get it. I really like Sharp's Memory LCDs. The Sitronix LCD on that board isn't as fast or energy efficient as Sharp's, but it's close enough 😜
000
Larry the optimizer @fast-code-r-us.bsky.social · 04/04/2026
Did you create the front faceplate/case or did that come with it?
100
Larry the optimizer @fast-code-r-us.bsky.social · 01/04/2026
A bit of an exaggeration. If you're using RPIs for their original purpose then you don't necessarily need lots of RAM. If you're running multiple Docker environments or virtual OSs, then you should probably use a more powerful machine to begin with. My Zero2W handles almost all of my RPI projects.
140
Larry the optimizer @fast-code-r-us.bsky.social · 01/04/2026
Need more speed with your GIF animations on the ESP32-S3? I wrote some new SIMD code which speeds up playback another 20-25% github.com/bitbank2/Ani...
github.com
AnimatedGIF/examples/esp32s3_simd_demo at master · bitbank2/AnimatedGIF
An optimized GIF decoder suitable for microcontrollers and PCs - bitbank2/AnimatedGIF
050
Larry the optimizer @fast-code-r-us.bsky.social · 26/03/2026
@snazzylabs.com Thanks for the shoutout in your latest video about TRMNL; it's nice to be appreciated for my work. You give me a little too much credit. These B/W EPDs are all basically identical hardware, but some are missing features in the controller firmware. www.youtube.com/watch?v=YWw5...
youtube.com
8,100 of You Bought This Because of Me. I Owed You a Follow-Up.
YouTube video by Snazzy Labs
031
Larry the optimizer @fast-code-r-us.bsky.social · 22/03/2026
I think you forgot the /s for sarcasm 🤪
000
Reposted by Larry the optimizer
Les Pounder @biglesp.bsky.social · 18/03/2026
Shiver me timbers!!! After nearly six years at Tom's Hardware I am heading off for new horizons! Pimoroni, purveyors of maker toys, tools and kits has added me to its crew! From April 1st I will be Pimoroni's Content Editor. Creating content to inpsire everyone to be a maker! youtu.be/q1FYxBLDyQk
youtu.be
After six years I'm leaving Tom's Hardware and joining Pimoroni — Back to my maker roots!
Shiver me timbers!!! After nearly six years at Tom's Hardware I am heading off for new adventures! The good ship Pimoroni, purveyors of maker toys, tools and what nots has added me to its…
19766