A Raspberry Pi (Zero2) - powered Rubik's Cube Timer. This is a continuation of my Highway project, PiCubePico (which was based on the Raspberry Pi Pico).
DuckyBoi_XD
Check their projects out: DuckyDK MTR v1, Python Gamble Game, DuckDuckWeb(site), Learning Python + Gamble game, BlackDuck
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Since I have one microSD card lying around, I quickly flashed a new image and set up the card. Why? Because I need to test that my program is easily usable and reproducible (is that a word??)
Somehow I couldn't get Ethernet Gadget mode to work... See image attached. Nothing showed up on the host.
Trying to put this inside Docker cos why not? better isolation and stuff.
This session I basically worked on the operating system side of things. I tried to fix the shutdown mechanism and ended up using another OLED SSD1306 display I happened to have around. Now it's working :))
In this session, I added shutdown support for the project, so I don't have to just unplug the power cable, which corrupted my git tree last time. I also modified the systemd service so that it continues the service even if git exits error code (when there is no internet, for example)
I made some test scripts to make sure they are working. Turns out it's pretty good right now, except for the low framerate while timing, which I will fix soon. systemd
is working which means the program runs on boot!
I think I just fixed the issue where my solve results disappear upon a reboot. Needs to be tested (not now though)
Finally made (most) things work. TYSM GitHub Copilot, it did most of the things by fixing the code and finding libraries. The display update is quite laggy tho.. Also I corrupted my Git tree somehow (on the pi02w-cube), which means I probably should add a power button to my project, but that's for another day ig.
Finally got a test script to run!!! For some reason, the st7789
library was not working as it should, so I switched to luma.lcd.
Finally finished downloading the image. Now I am using rpi-imager to burn the image to the microSD card for the Pi
I have also modified the firstrun.sh script to set up Ethernet gadget mode since I do not have a monitor.
In this session, I worked on tidying up the repo and developed some tests. I have also soldered the pins of my Pi02W, so I could try my code out on the smarter Pi later today :))). But that means I will have to update the code.....
So now I am downloading the image for the Pi02W!! This will take a long time.
YAY finally got it to work. I just fixed a few bugs that I hadn't fixed yesterday. I recorded a video on my project in action, so check it out!! :))
Today I fixed many bugs introduced in yesterday's features. Writing that sentence makes me think about it's a feature, not a bug. Anyways, as I said, I fixed some bugs like text clipping and some other logic errors. I also worked on the README and JOURNAL.md, just because I felt like it. You can see the journal here
Fixed the timer control function, or attempted to fix. Copilot could not help me with that somehow, so I was on my own. Also a QOL improvement -- turning prompt to red when sensor has been held long enough
Finally got home, so I guess it's time to test the new code on my Pico!!
Tried to fix many bugs, including the backlight control that worked a long time ago.
The most stupid part is getting the version number to display, I had to manually position the text. Good thing that GitHub Copilot finally gave me a working function for it, after feeding it the manual version.
Backlight control now works perfectly. SAVE SOME ELECTRICITY :))