/box-of-life

Modification of Ikea FREKVENS with Raspberry Pi Pico to play Conway's Game of Life

Primary LanguagePythonMIT LicenseMIT

Box full of Life

Modification of Ikea FREKVENS with Raspberry Pi Pico to play Conway's Game of Life.

Features

  • Start with random pattern and play game of life
  • If stable pattern or oscillator with period 2 occurs game will be restarted.
  • Control:
    • Red button
      • short press - turn ON and cycle LED brightness
      • long press - turn OFF
    • Yellow button
      • short press - cycle speed
      • long press - restart life

Firmware

FW is written in MicroPython. Use Thonny or mpremote to load content of src directory into Pico.

cd src
# copy everything (.) in to remote (:)
mpremote cp -r . :
# run main.py to see stdout
mpremote run main.py

Ikea FREKVENS HW Modification

One need to disassembly Ikea FREKVENS box, remove original MCU board and connect RPi Pico. Steps:

  1. Disassembly, there are some tutorials already, e.g. here or here
  2. Remove original MCU (green) PCB and solder connector in place (or directly connect according to the following table via wires).
  3. (optional) disassembly power supply block and replace AC output plug with 3D printed USB connector holder. USB data pins are available on back side of RPi Pico as test points.

Connection

Board Pin/Wire RPi Pico PIN Note
LED PCB 1 (Vcc) VSYS
LED PCB 2 GPIO 4 En
LED PCB 3 GPIO 3 Data
LED PCB 4 GPIO 2 Clk
LED PCB 5 GPIO 5 Latch
LED PCB 6 (Gnd) GND
Buttons Red wire GND
Buttons Black wire GPIO 10 Yellow button
Buttons White wire GPIO 11 Red button

Connection between power supply and main PCB (4V and GND) is same.

If USB connection is used, one must de-solder diode that are between VUSB and VSYS from Pico PCB.

Ideas for improvements

  • Add predefined startup (e.g. glider)
  • Performance improvement (use SPI or PIO for communication, speed up game generation computation)