🦜 whitequark's lab notebook
@lab.whitequark.org@rss-parrot.net
I'm an automated parrot! I relay a website's RSS feed to the Fediverse. Every time a new post appears in the feed, I toot about it. Follow me to get all new posts in your Mastodon timeline!
Brought to you by the RSS Parrot.
---
Your feed and you don't want it here? Just
e-mail the birb.
Blinking a LED using STM32 DMA
https://lab.whitequark.org/notes/2023-07-22/blinking-a-led-using-stm32-dma/
Published: July 22, 2023 03:37
Every embedded developer has blinked a LED—this is both a rite of passage and a smoke test for bring-up of new hardware. Most often you do it in software. Sometimes you do it by connecting the LED directly to a peripheral.
Have you ever blinked a LED…
Minimizing logic expressions
https://lab.whitequark.org/notes/2020-04-06/minimizing-logic-expressions/
Published: April 6, 2020 17:25
While working on reverse-engineering the Microchip ATF15xx CPLD family, I found myself deriving minimal logic functions from a truth table. This useful because while it is easy to sample all possible states of a black box combinatorial function using e.g.…
Synthesizing optimal 8051 code
https://lab.whitequark.org/notes/2020-04-06/synthesizing-optimal-8051-code/
Published: April 6, 2020 16:44
While working on an application targeting Nordic nRF24LE1, a wireless SoC with a fairly slow 8051 core, I was wondering if I can have fast, or at least not unusably slow, cryptography. Most cryptographic algorithms involve wide rotates, and the 8051 only…
Undocumented nRF24LU1+ quirks
https://lab.whitequark.org/notes/2020-01-27/undocumented-nrf24lu1-quirks/
Published: January 27, 2020 23:48
While working with nRF24LU1+, I discovered that the chip has lots and lots of odd corners that are sparsely or strangely documented, where the silicon doesn’t match documentation, etc.
Pixel Pawn wireless flash trigger on-air protocol
https://lab.whitequark.org/notes/2020-01-25/pixel-pawn-wireless-flash-trigger-on-air-protocol/
Published: January 25, 2020 18:43
In this note I describe the on-air protocol of Pixel Pawn wireless flash trigger.
Patching nVidia GPU driver for hot-unplug on Linux
https://lab.whitequark.org/notes/2018-10-28/patching-nvidia-gpu-driver-for-hot-unplug-on-linux/
Published: October 28, 2018 08:27
Recently, I’ve using an extremely cursed setup where my XPS 13 9360 laptop is connected to a Sonnet EchoExpress 2 box rewired for Thunderbolt 3 that has an nVidia Quadro 600 GPU, and Linux is set up for render offload to the eGPU and then frame transfer…
Game Boy Advance cartridge "SMC805-2 VER:1.5"
https://lab.whitequark.org/notes/2018-09-17/game-boy-advance-cartridge-smc805-2/
Published: September 17, 2018 11:02
I have been asked to determine if a (pirate) Game Boy Advance cartridge with the PCB marked “SMC805-2 VER:1.5 2006.11.16” can be reflashed. The cartridge contains a battery, an ASIC in a chip-on-board package (epoxy blob), an unidentified Intel chip marked…
Z144SN005 LCD microphotography
https://lab.whitequark.org/notes/2018-08-02/z144sn005-lcd-microphotography/
Published: August 2, 2018 05:50
I’ve been provided a Z144SN005 LCD that has split in halves as a result of excess mechanical force. Z144SN005 is a ST7735S-based LCD organized as 128RGB×128; it has 384 sources and 128 gates. I took some microphotographs of it using an Amscope…
Nokia 3220 transflective LCD microphotography
https://lab.whitequark.org/notes/2018-08-02/nokia-3220-transflective-lcd-microphotography/
Published: August 2, 2018 01:56
I took some microphotographs of a Nokia 3220 (RH-37) transflective LCD using an Amscope ME300TZ-2L-3M metallurgical microscope. These microphotographs were taken on an intact LCD, i.e. transmitted light images were acquired by shining a flashlight through…
Sony Xperia Z2 LCD microphotography
https://lab.whitequark.org/notes/2018-08-02/sony-xperia-z2-lcd-microphotography/
Published: August 2, 2018 00:33
I took some microphotographs of a counterfeit Sony Xperia Z2 LCD display, bought on Taobao circa 2017, using an Amscope ME300TZ-2L-3M metallurgical microscope. (This display would not initialize with an unmodified firmware, and was factory-programmed to…