Coder Social home page Coder Social logo

frekvenspanel's Introduction

This is a first rough cut of an Arduino library for the IKEA FREKVENS LED panels developed jointly with Teenage Engineering.

Contributions welcome.

Arduino requirements: Must be type with 3.3V logic levels. If you want to try hooking this up through 8-bit 5V AVR antiques like an Arduino Uno, then you must use level shifters.

Recommendation: Use Teensy 3+, Adafruit Feather M0 or Sparkfun SAMD21 mini breakouts. Should also work with 32U4 based boards as well, so long as they're 3.3V. Haven't tried with ESP8266 yet.

Library dependencies:

  • Adafruit GFX library must be installed.

Soldering instructions:

  • Open & disassemble the LED cube.

  • Extract the mainboard.

  • Desolder the original controller daughterboard (green color).

    • Use flux and solder wick.
  • Attach wires to the six solder points.

    • The outermost solder points are marked VCC and GND.

    • Let GND be (1) and VCC be (6). The middle four are as follows:

    • (2) LATCH - connect to a digital output pin.

    • (3) CLOCK - connect to a digital output pin.

    • (4) DATA - connect to a digital output pin.

    • (5) !ENABLE. This one is optional. If you DON'T need to be able to control brightness of the display, then just solder a wire from this pin to GND. If you DO want to control brightness, then connect this pin to a PWM ("analog") output pin on your Arduino.

    • Solder the GND wire to a GND pin on the Arduino.

    • Leave the VCC wire unconnected until you're done programming

    • The VCC wire has 4 volts on it coming from the isolated power

    • supply of the Frekvens cube.

    • While programming, the Arduino should be powered through USB.

    • After programming, disconnect USB cable and attach VCC wire

    • from Frekvens panel to battery input or "USB" voltage pin on

    • the Arduino. The Frekvens panel will now supply the Arduino

    • board voltages.

  • Optionally - hook up the red and yellow buttons on the back.

    • RED wire is common so connect this to GND or VCC of the
    • Arduino. BLACK wire is RED button, WHITE wire is YELLOW button.
  • Put the whole thing back together.

  • To use the library, add #include "Frekvenspanel.h" statement, and instantiate a FrekvensPanel object. See examples.

  • Library has several un-documented experimental modes, including multiple bit planes (intensity dithering) and support for daisy- chaining several modules. Needs more work. At the moment the daisy- chain is mapped vertically which seems wrong.

  • Happy hacking

frekvenspanel's People

Contributors

frumperino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

frekvenspanel's Issues

The Mic

Could anyone get any signal out from the mic?
I tried analog and digit as well, but the mic pin has only a constant few mV.
I have only a basic multimeter...

Any idea on your side?
Thanks

drawPixel method

I'd like to use your library for a new hack on the frekvens but can't seem to understand how the drawPixel method works.

What's the simplest way to write a function that turns on (and off) a specific pixel? I tried a few combinations of this below with no luck.. the sparkles example works fine though.

panel.drawPixel(1,1,10 == 0);
delay(500);
panel.scan();

What does the "== 0" do?

Thanks

any news on ESP8266?

Hey!

Did you manage to get it working on a esp8266? Tried it but I failed ... don't have 3,3V arduinos unfortunatley. Also I saw it's not easy because ESP only got 1 analog in - guess I gotta find my ESP32 which has two?

Cheers

INPUT_PULLDOWN was not declared in this scope

I can't get the buttons to work, and I am getting the above error when compiling the Arduino Sketch for my Feather Bluefruit 32u4, which should be behaving similarly to your M0. Did you have change the core library to get pulldown to work?

Thanks

Arduino: 1.8.5 (Mac OS X), Board: "Adafruit Feather 32u4"

/var/folders/vq/m_0zjh4s4494zxphtq5bsy900000gn/T/arduino_modified_sketch_912751/buttons.ino: In function 'void setup()':
buttons:99: error: 'INPUT_PULLDOWN' was not declared in this scope
pinMode(p_btn1, INPUT_PULLDOWN);
^~~~~~~~~~~~~~
/var/folders/vq/m_0zjh4s4494zxphtq5bsy900000gn/T/arduino_modified_sketch_912751/buttons.ino:99:19: note: suggested alternative: 'INPUT_PULLUP'
pinMode(p_btn1, INPUT_PULLDOWN);
^~~~~~~~~~~~~~
INPUT_PULLUP
exit status 1
'INPUT_PULLDOWN' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

problem for loading software on adafruit

Hi
I have a problem, I can't load the program on adafruit.
Arduino tells me loading problem on the board, which card do I use?
how do i solve?
the library has already been downloaded
help

Add a license?

Hi!
Thanks for this great library! I used it recently in my repo to use it as esphome display component.

Can you specify which license the code is made available under?

i'm stuck

I can't manage to open the box. I took out the screws but the inside part doesn't wont to come out

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.