• telling time!

    Eris02/09/2024 at 03:33 0 comments

    finally got the RTC running!

    made a simple breakout board to confirm i didn't fundamentally fuck up the init sequence, then replaced the rtc on the board and added a bodge wire with a resistor between the backup supply pin and the rtc voltage as described in the datasheet bc i'm stupid and i forgot to do that before.

    now working on the firmware.

    it's still very early stages, u can't even set the time on the watch yet and it turns out one of the buttons also isn't working so i have to fix that, but it can tell the time now!

    also got it running at 2MHz which should hopefully reduce battery drain somewhat, will be testing that. either way i should be getting at least a bit over a day of usage right now.

    next steps are to add an interface with states for setting the time and such, fix the button and add the piezo and additional features like alarms. should also hopefully get a usb serial console for setting the same things as in the interface but for if u have a pc and prefer to use a keyboard soon.


  • late Init Log

    Eris10/31/2023 at 10:09 0 comments

    finally attempting to Log progress so here's what's happening:

    1. i've assembled the second version of the PCB.

    it's a lot more compact than the first version and actually as space for the antenna and matching circuitry for LoRaWAN.
    There are still some Major bugs in the hardware like overconstraining the PCB position with both the rails it slides in on and the USB connector.
    If i ever make another version i'd just forgoe the rails entirely and just constrain the pcb with the usb connector but for now i just made the rails wider.

    As you can see there's also some bodge wires because i swapped the pins of the switching regulator for the display despite it being correct in KiCAD by default and it turns out the big pad on the flash doesn't actually wanna be connected to GND.
    I also screwed up the vibration motor driver but besides that everything should be working.


    2. PCBWay sponsored metal case!

    Size, ruggedness and looks are very important for what i want Acidfish to be and FDM printed PETG only gets me so far.
    Thankfully PCBWay was kind enough to send me some very nice looking aluminum and steel SLS prints!
    The Aluminum main shell allowed me to reduce the size significantly because the walls don't have to be as thick when i can trust that they're solid and won't let any water through while the steel lid is perfect for applying even pressure on the seal to ensure no water gets in.
    The side of the lit that faces the seal turned out especially flat so i'm very confident that it'll keep my PCB dry.
    For the main shell the tolerances were a bit tight, but nothing i couldn't fix with a bit of sanding(also sanded the outside, the finish it arrived with is quite rough).
    If you're interested in getting some metal prints of your own i'd recommend leaving at least .5mm tolerance rather than my .3mm, probably a bit more for very tight slots.
    Besides that i'm very happy with how it turned out and will probably use the service again if i make another version.

    Oh yeah also i need to improve the seal around the buttons, maybe just switch to O-rings, alternatively cast silicone around rather than over the buttons.

    3. state of AcidOS:

    Trying to write the display driver for the new PCB.

    In theory two PIO state machines are supposed to be fed from two different DMA loops pointing to two separate buffers, one for cycling through all the segments and one for turning the enable pin on the demultiplexer on when a segment is supposed to be on.

    Somehow both DMA loops always point to the same address, but it appears to be random which buffer they end up with.

    I hate this bug so much but i guess i'll figure it out eventually.