Hardware to run (TGRK), a tiny handheld interpreter for the attiny85.
Program is stored in a 127 byte int8_t array.
Negative numbers (-128,-1) are keywords, positive numbers (0-127) are integers.
The device runs off a 1.5F, 5.5v supercapacitor which is charged by a small solar cell. To prevent the supercapacitor from exceeding its maximum of 5.5v, I have placed a 5.6v Zener diode to limit the voltage before the blocking diode and supercapacitor.
In direct sunlight it only charges up to ~5.2v, which is fine in my opinion. It can take 3-6 minutes to charge from 0v to 5.2v.
The device runs for about 30-45 minutes after a full charge.
The attiny85 at 1mhz with BOD off, seems to run fine all the way down to 1.6v... but at this point the LEDs are barely visible. If the voltage goes below 2 volts, the device will go into deep sleep. When this happens the user will need to recharge it to keep working.
User input is 5 buttons on a resistor ladder on ADC2 of attiny85. Depending on what menu the user is in, they will do different things. With the exception the < and > buttons will always either be navigating menu, byte, or bit position.
- Left Button <
- Right Button >
- Toggle Button T
- Save Button S
- Run Button R
The devices output are two red LEDs. I chose red due to low forward voltage, and it is easier on the eyes if using the device in low light.
If the current selected bit in the current program byte is a 0, then LED 0 is lit, if its a 1, LED 1 is lit.