I'm thinking and rethinking the design of the board that will host all the ready-made pieces, and I'm facing a multitude of issues, related to power:
- How do I get both 5 and 3.3 V from the battery while charging it via USB?
- Can I selectively turn on parts to consume less?
- How much power will everything consume in worst case?
- Can I gracely turn off the circuits when battery power is low?
- Can I show a "battery dead" screen on monitor without further killing the battery?
I still have to answer a few of these questions; what I got right now is that it will surely be easier to deal with a 3.3 V Trinket so to have two batttery-fueled power zones:
- 3.3 V : Trinket Pro / Micro OLED / 1 MB ROM
- 5 V : Trellis / Audio Amp
In this configuration I can right now shutdown Trellis+Amp by disabling the 5 V dedicated step-up converter, since Trellis will eat 320 mA alone with all LEDs on and Audio Amp may be eating other 80 mA, that's 400 mA total.
I still got to find a way to turn on the Trinket Pro first, then check for battery status, and eventually turn on OLED/ROM to display/read something, and even further turn on Trellis/Audio Amp for full functionality. I should implement a fixed regulator that powers the Trinket, possibly attaching it to the battery may work, then the Trinket will selectively turn on a 3.3 V regulator or a 5 V regulator or both. Gotta see if OLED/ROM library or chips support a power-down mode via software rather than brute-forcing it via regulator shut-down.
I'd like that when powered via USB, the BitMasher may only turn on Trinket Pro, OLED, ROM to leave all the juice to recharge battery; this will limit the USB-powered functionality to charge and to data transfer, but that seems fair to me.
Take a look at the first revision of the power section schematic for reference:
I'll keep working on this part until Sunday at the very last, I got to move on the software side asap!