This is an early binary release of my arduino FX engine stripped to allow realtime effects seen on my youtube videos. A more extensive version is to come soon but until then this will give a taste of the engine running limited up to 600 leds.
It requires an Arduino MEGA 2560 Rev 3 (ATmega2560), an SSD1306 0.96' I2C 128x32 OLED, three buttons to interface and 33ohm resistors for data protection.
You can always find the latest version at
This is free software; you can redistribute it and/or modify it under the terms of the CC BY-NC-SA 3.0 license.
Please see the included documents for further information.
Commercial use of this software requires you to buy a license that will allow commercial use. This includes all classes, modified or not, as a tool to sell products.
Binary for Arduino ATmega2560 (Zip)
- SSD1306 I2C 128x32 OLED display (must be connected)
- 3 button interface
- Stack based processing
- Accurate timing
- Shared Memory engine
- Cached / Delayed write EEPROM
- Patch connected Buffer and Output
- Simultaneous multiple signal pin out (Output)
- Compatible with WS2811, WS2812, WS2812B
- 27 FX Presets
- 6 FX Plugins (currently unavailable)
- Early implementation of FX plugins
- Cycle Mode
- Preset Mode
- User customisation
- Maximum LED limit of 600 nodes
- 20 frames per second target playback
- Colour / Hue selection
- Menu engine
- LED for information
Project FX (magic) is designed to be a simple stand alone self contained engine for running a christmas tree or trees with user editable presets. It is designed to run at a target of 20 frame per second tho this can be configured by presets.
It uses a stack engine (FX) to create complex effects that in next release will have Custom Mode and editor for creation of of effects by user and saved and reloaded allowing creation of many effects in real time as you edit. The presets already built in use this this stack to create effects and this will be built upon over time.
This uses a custom buffer, patch and output system and allows complex output configurations tho for this release it is currently configured as a single output for a stand alone tree use.
The source will become available once it has been documented and all goal features are ready and stable.
1) Arduino MEGA 2560 Rev 3 (ATmega2560)
2) SSD1306 0.96' I2C 128x32 OLED
3) 3 x Push buttons
4) 33ohm resistors
5) 100ohm resistors (optional protection)