Skip to content

An implementation of the Playstation 1 Doom fire effect on an STM32F429 microcontroller

Notifications You must be signed in to change notification settings

jnz/DoomfireSTM32

Repository files navigation

DoomfireSTM32 ("flamebuffer")

An implementation of the Playstation 1 Doom fire effect on an STM32F429 microcontroller, reacting to board movement:

gif

Read how the Doom fire was done in an article by Fabien Sanglard:

Overall this is pretty useless, but you can use it as a desktop ornament (if you have a spare STM32429DISC1 discovery kit lying around) Press the blue user button to stop the fire temporarily.

Features:

  • Fire is reacting to movement (by reading gyroscope data)
  • Full TFT resolution (measly 320x240 though) but running at stable 60 Hz
  • CPU is idle for a good part of the 60 Hz frametime and put into low-power mode
  • ChromART (DMA2D) is used to speed up the drawing

Installation

Just flash Release/DoomfireSTM32.elf to the STM32F429DISC1 discovery board via USB, e.g. with the STM32 ST-LINK utility or the STM32CubeProgrammer.

Development

The STM32CubeIDE workspace (Eclipse) project files are included. The main code is in Core/Src/main.c plus a big load of boilerplate code.

About

An implementation of the Playstation 1 Doom fire effect on an STM32F429 microcontroller

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages