Tiny FX - LED Effects Controller

by Pimoroni

Add smart light and sound effects to models and dioramas with this small-but-mighty RP2040-powered programmable controller board.

Tiny FX is an effects controller for the LED dots and strips that can be found in third-party LEGO®-compatible lighting kits. These LEDs are connected up by thin, flexible wires that can easily be concealed around/behind/within your model. Typically they're powered direct from an alkaline battery pack or USB, so the LEDs are lit all the time - and we wanted our illuminated creations to have more smarts!

Adding a Tiny FX means you can do fun stuff like:

  • adjust the brightness of the LEDs
  • simulate movement with dynamic lighting effects
  • turn the lights on and off in response to environmental triggers/sensor readings
  • pulse them atmospherically for spooky ambiance
  • flicker them on and off to make cool fire effects
  • accompany your light effects with appropriate sound effects (zhwhom)

Tiny FX can drive six channels of two-pin mono LEDs and one channel of four-pin RGB LEDs*, and it has indicator LEDs so you can see what each channel is doing. It's got an onboard amp and connector to attach a tiny speaker, a Qw/ST connector so you can add Qwiic or STEMMA QT breakouts and an additional sensor connector for hooking up hardware like buttons, potentiometers or PIR sensors.

Tiny FX is perfect for adding custom light and sound effects to your favourite construction kit models, dioramas, papercrafts, dolls houses, book nooks and shadowboxes. If you don't already have a lighting kit that you want to upgrade**, we stock a range of LED dots and strips, cables and expanders as well as battery packs and power cables.

Click here to view everything Tiny FX!

LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this product.

Features

  • Powered by RP2040 (Dual Arm Cortex M0+ running at up to 133Mhz with 264kB of SRAM)
  • 4MB of QSPI flash supporting XiP
  • 6x 2 pin JST-SUR connectors for attaching mono LEDs, with white LED indicators
  • 1x 4 pin JST-SUR connector for attaching RGB LEDs, with RGB LED indicator
  • USB-C connector for power and programming (1A max)
  • Reset and BOOT buttons (the BOOT button can also be used as a user button)
  • 2 pin JST-SUR power input connector (1A max)
  • 3.2W I2S mono amplifier with 2 pin (Picoblade-compatible) connector for attaching speaker
  • Qw/ST (Qwiic/STEMMA QT) connector for attaching breakouts
  • 3 pin JST-SH connector for attaching digital or analog sensors
  • Fully-assembled (no soldering required)
  • MicroPython firmware and library
  • LEDs and other components are sold separately

Starter Kit Includes

You can buy a Tiny FX on its own, or bundled with a convenient selection of LEDs, a speaker and cables to help you start lighting stuff up ASAP - you'll just need to supply your own AAA batteries. The kit includes:

  • Tiny FX
  • Adhesive Backed Mini Speaker 8Ω (1W)
  • 6x LED dots (cool white)
  • 5x RGB LEDs (plus expansion board and cable)
  • 3xAAA battery holder (batteries not included)
  • USB-A to USB-C cable
  • ...all packed up neatly in a reusable Pirate-brand Loot Box.

Software

Tiny FX comes pre-loaded with pirate-brand MicroPython and our shiny new PicoFX library which makes it easy to run multiple simultaneous light and sound effects - we've provided a bunch of examples to show you what it can do. If you'd rather roll your own software, I2S audio and toggling LEDs should be possible with most Raspberry Pi Pico ecosystems.

Alternatively, you can use Tiny FX with CircuitPython:

If you'd like to program Tiny FX from an Android phone then you could try the DroidScript app, available on Google Play.  You'll need a USB-C cable and a recent version of MicroPython firmware installed on the board.

Pinout and Schematic

Connecting Breakouts

If your breakout has a Qw/ST connector on board, you can plug it straight in with a JST-SH to JST-SH cable, or you can easily connect any of our I2C breakouts with a JST-SH to JST-SH cable coupled with a Qw/ST to Breakout Garden adaptor.

Tiny FX Gallery

Want to see Tiny FX in some projects? Check out the links below:

Notes

  • * This board is not really designed for driving addressable LEDs/Neopixels. Check out Plasma 2040 / Plasma Stick 2040 W if you want a board that's designed to do that!
  • ** We've tried Tiny FX with a number of different lighting kits, and we found it works best with ones that have the LEDs as separate components that you attach together using expansion boards. Some kits come with the LEDs pre-wired together into one harness with a single USB connector on the end which makes things more awkward - if you have one of these you might end up needing to splice some connectors onto the end of the wires.
  • Tiny FX measures 31.2 x 23.2mm x 6.2mm (L x W x H, including connectors). Fortuitously, this fits within the footprint of a 4 x 3 brick in popular ABS brick based construction kits.
  • The JST-SUR connectors are very tiny. Tweezers might help when plugging them in!
  • For stealthy operation, the indicator LEDs on Tiny FX can be disabled by cutting the trace on the back of the board labelled with LED symbol.

About RP2040

Raspberry Pi's RP2040 microcontroller is a dual core ARM Cortex M0+ running at up to 133Mhz. It bundles in 264kB of SRAM, 30 multifunction GPIO pins (including a four channel 12-bit ADC), a heap of standard peripherals (I2C, SPI, UART, PWM, clocks, etc), and USB support.

One very exciting feature of RP2040 is the programmable IOs which allow you to execute custom programs that can manipulate GPIO pins and transfer data between peripherals - they can offload tasks that require high data transfer rates or precise timing that traditionally would have required a lot of heavy lifting from the CPU.