Oh boy ... I kinda didn't keep this thing updated, did I?
Is it OK if I just say I was busy? >.>
Truth be told, I was just having too much fun and was moving quite fast with this lovely piece of hardware, so keeping it up on Hackaday kinda fell out of my mind.
Let me make it up to you with a picture of how it looks so far:
Yeah, that's right!
It's pretty much ready for action, and doing damn fine, too!
Let me walk you around the whole system for a moment:
The top left section is a status indicator panel. Text can be written on a slip of paper that is fairly easy to swap out, making it flexible. Right now it's displaying it's own battery status (fades to red), WiFi connection, Program status, as well as program-specific parameters.
The whole thing is realized using 14 WS2812b LEDs, and it's actually animated with various blinking effects!
Added bonus: All animation cycles are synchronized, including the OLED screen's "typing" indicator. Just because ;)
On the top right we have the OLED screen. It's main purpose is to be a console, outputting information, letting the user type etc.
It also features a status-bar with system info on the top, and any running program can draw graphics over that as it pleases. I'm actually using my own library for the OLED screen, optimized for speedy updates over the I2C port :>
Right below the screen we have the two 7-segment segments. To be quite honest they can only effectively display numbers, but they do it in style!
I just don't think this device would have quite the same charm without those gorgeous numbers on it!
For added functionality they can also display small animations for "LOAD", "DONE", "RUN" and "ERR" - always pleasant :>
On the bottom of the DSKorder we have the keyboard. It's driven by the same chip as the seven segments, actually, and while it works well I'm kinda searching for alternatives. For example, the chip's default address is 0. Yeah - The I2C Global call.
Anyhow, it works like any 'ol keyboard. You got your Enter and Escape buttons, and then your keys. The three buttons in the top right are "modifiers", equivalent to Ctrl, Shift and Alt (but not quite <.<)
We also have a few hardware connections!
On the top left we have the general purpose expansion slot, with access to power and I2C, as well as the four General Purpose I/O channels. Useful for attaching extra sensors and such.
And on the very front we have the four protected I/O channels! I've tested them for up to 24V input and the ESP will only see 3V - and even if the ESP pulls the line to low, a resistor limits the whole thing to ~70mA. Not nice, but surviveable. They also have a protection diode so ESD spikes can't get it. Yeah, I went a bit overkill with these.
In addition to the four I/O lines we also have three analog inputs - one scaled to work well up to ~5V, one for ~24V and one connected to a current sense amplifier, which means it's easy to monitor Vcc, Battery voltage and current draw!
The DSKorder also has a bit of internal periphery, consisting of a LSM6DS3 accelerometer, should anyone want to use it as a sort of remote control with tilt functionality, has a speaker with which it plays gorgeous StarTrek Tricorder noises (video on that comin' in soon :3), and a 2000mAh battery + charge circuit, if you ever need to run a marathon nerd-day and can't bother charging this thing!