-
Disaster! (again?)
11/24/2016 at 19:47 • 0 commentsSo, my HT16K33 controller just failed. Doesn't show up on an i2c scan, and thus my LED buttons don't work.
Other issues I've run into:
- Sparkfun ESP32 Thing: Wonderful board, just doesn't have a mature software stack. SPI and i2c are flaky at the moment. I hope to be able to use it soon.
- LED matrix is clunky, and I didn't make the slot it fits into big enough, so it's curved. Also managed to ruin traces, hooray for jumper wire patches.
So now I'm looking at other ideas. I saw some really nice SMD charlieplexed matrices on Adafruit - 16x9, runs via i2c. I'd love to have several of those, make a really nifty display, but I don't like the gaps when boards are next to each other. Guess I'll look into PCB design - something I've never done!
-
Upgrade Get!
11/13/2016 at 19:19 • 0 commentsSo I finished designing the new casing. I was smart, and made it so the button pod was reusable. I did have to tweak the height on that just a bit - the top cover wouldn't fit.
The base, which has the arm mounts, is snap-fit onto the bottom.
Next up is going to be integrating the tiny OLED screen. I figure I'll run animations on the LED matrix, as it's a bit clunky for any real information. The OLED is a simple i2c device, and can share pins with the HT16K33. I'll just make a mount for it on the top side of the main case.
-
The best-laid plans of mice and men...
11/08/2016 at 17:50 • 0 commentsIsn't it awesome when things just don't work? I managed to somehow blow up my Arduino Nano. No big deal, I have a few. But the display not working with a Teensy is more frustrating. So I decided to look through my stash. I've got a 8x32 LED matrix, a 320x240 TFT shield, and a tiiiiiny OLED display. I know the matrix and the OLED will work with a Teensy, but the shield is iffy. It'd be cool if I could use it, as it also has an SD card slot and a touchscreen. Of course, this means that whatever I do, I'll have to redesign the main body of the project.
I'm kind of leaning towards the LED matrix, as it's easy to work with.
-
Argh, libraries!
11/07/2016 at 22:23 • 0 commentsSo my initial plan was to use a Teensy 3.2 as the brains of the operation - it's fast, lots of I/O, and mostly arduino-library compatible.
Note the mostly. Turns out the library I use for the LCD display, U8Glib, is incompatible with the Teensy, and there's no current fix. The new version, U8G2, is also incompatible. So now I'm stuck shoving a bajillion sensors and connections onto a poor Arduino Nano. Looks like I might have to make this thing dual-core after all! Use something small - like a Trinket - for the LCD display, and control it via i2c from the teensy. Or perhaps use a NodeMCU, so I can at least have one controller do the wifi and the LCD - I know the library works on that.
I've also been working on getting a graphic equalizer running on the LED matrix, but the MSGEQ7 is proving to be a lot harder to deal with than I thought. It wants a very small voltage as an input - such as LINE-IN voltage, rather than an amped up voltage that you get from a microphone breakout board. So I'm playing with a bunch of ideas trying to get it all to work.
I do have a rather impressive rat's nest of wiring going though!
-
Blinky Buttons!
11/04/2016 at 20:19 • 0 comments
This is what the setup looks like so far, without the LCD screen in place. behind the LED matrix is a Adafruit mic breakout board. I'll also be wedging a MSGEQ07 chip in back, with its associated components.As for the blinky buttons - I've gotten those LED-topped buttons working! The HT16K33 is an amazing little chip - it can share LED pins with button pins, so it's only 9 wires to control 8 LEDs and 8 buttons!
I'm using a pretty minimal library for it, as I don't really need any fancy graphic routines for it. I was trying to get it using interrupts, but it's much easier to just poll it every 30ms or so in my code.
-
Progress!
10/31/2016 at 00:23 • 0 commentsI've made the files I've created thus far available in .STL format. They're still a work in progress.
I made the main casing 25mm tall instead of 20mm, and now there's room for everything! I also thickened up the thin walls.
As well, I've modelled up the WS2812 8x8 Matrix casing. There's a hole in the back that an Adafruit mic board fits into, as well as room for an MSGEQ07 - Spectrum analyzer time! Also sound-reactive patterns.
I'll upload a diffusion screen pattern later, to be printed in translucent filament.
-
Fresh Prints
10/29/2016 at 19:15 • 0 commentsAs you can see, everything fits (so far!) One problem I'm seeing is around the USB/Nunchuck ports, the edge actually has a gap due to the chamfer I put on the case - those two walls are 1mm thick due to tolerances, rather than 2mm everywhere else. I'll have to redo that.
Also, there is barely enough room for everything - the Sparkfun LiPo board will have to have the barrel jack removed, and all the pins on the LCD will need to be removed. The Teensy will fit on the back of the LED ring, and the ESP8266 is tiny, it'll fit almost anywhere.
I suspect I'll have to increase the depth of the case - it's 20mm right now, if I bump it to 25mm, that'll give me breathing room.
-
First Steps
10/28/2016 at 18:03 • 0 commentsSo, I've been modelling the case in Fusion 360. I'm designing it to be fairly modular - the buttons will be on a breakout pod, for example. It's been a good way to learn how to design to real-world components.
My first attempt at printing out the casing demonstrated that while a 1mm thick wall is just fine if it's sheet metal or injection molded plastic, a 3d printed case needs to be more robust. I also need to design larger tolerances into my designs - my 3D printer is good, but not that good. :)
I'll be releasing all the design files as I build them - .stl and .step, so people can edit them to their needs.