iUnstable0

iUnstable0

3-day streak
Day 3: I procrastinated on the neighborhood project again 😔 Yesterday was pretty packed tho. I did more research into Meshtastic nodes and decided to go with Femtofox! Their hardware looks solid, but sadly they’ve got this proprietary “Pro” edition that has extra features compared to the open-source one. Tbh I wouldn’t mind supporting them and paying for the hardware, but they’re out of stock 😭 The difference isn’t that huge though, so I’ll probably just roll with the free version and pay for PCB manufacturing myself. I also got an automatic water dispenser for my cat recently, and it’s really annoying. It allows only a maximum of one water refill every 6 hours (drains the old water and pumps in fresh), but the waste bin fills up in just 2 days... For something that’s supposed to be convenient, it’s kina not 💀 My first idea was to just manually power it on, press the “refresh” touch button, and turn it back off. But that defeats the entire point, it would honestly be faster to just dump out a normal water bowl and refill it by hand.. So I cracked the device open, soldered a wire to the capacitive pad that triggers the manual refill, and tested it by shorting to GND, and it worked! Now I just need to hook up a microcontroller to simulate that GND trigger, and maybe add a relay or transistor inline with the battery to control the whole thing automatically :-)
https://scrapbook-into-the-redwoods.s3.us-east-1.amazonaws.com/a6aa7691-8bcf-4aba-9e2b-b4ef5c1ec64c-63da17ce-8c3a-4a92-844d-65e3945554d9_1_105_c.jpeghttps://scrapbook-into-the-redwoods.s3.us-east-1.amazonaws.com/95bb954c-cbca-4288-8224-8fefcc69ad12-eb4cf06a-f7f1-43da-b2e2-6975e5101391_1_105_c.jpeghttps://scrapbook-into-the-redwoods.s3.us-east-1.amazonaws.com/ad772485-e63e-4217-a404-070b5992242e-d1f02d25-ad2a-45b5-a799-cf0eba836c67_1_105_c.jpeg
Day 2: I didn’t get much work done on the neighborhood project today. Instead, I spent my morning recording a devlog video. Then, I helped a friend with his Proxmox container setup and did some maintenance on my home lab. After that, I got a bit distracted and placed an order on JLCPCB to manufacture my old project from The Trail. I broke mine during the hike, and I wanted to show my parents what I built and keep it as a souvenir. 👀 Then, I got inspired to run a local Meshtastic node in my town and connect with another friend. I’m going to meet with him tomorrow and give him the hardware since I already have some leftover from the early prototyping of my Trail project. I don’t think I’ve shared pictures of my home lab yet, so here they are! (I took them with Project Indigo, my new favorite camera app I discovered today.)
https://scrapbook-into-the-redwoods.s3.us-east-1.amazonaws.com/930e230d-8be0-4609-9db2-77b92a982bfe-idg_20250623_025655_886.jpg
Restarting my scrapbook streak! Day 1: So today I continued working on my neighborhood project. I've coded for another 4 hours today after taking a week-long break. so now I’ve clocked in 12 hours in total! I’ve made some great progress today. I've implemented the login/registration API and the JWT auth token issuing with a refresh token. I’ve also added custom GraphQL auth directive and token validation. Tomorrow, I’ll start working on the frontend. I’ll be building a simple login and register page, and a 'hello world' dashboard when you’re logged in. I’ll also need to implement token refresh and rotation on the backend side. I’ve also started documenting all my current and previous hardware/tinkering projects in my journal. I’m hoping to publish them on my personal website (which is still in progress). I never journal anything so all my work from when I was 10-17 years old has kind of gotten lost ;p
https://scrapbook-into-the-redwoods.s3.us-east-1.amazonaws.com/bf10cf22-dbf8-4ba8-93de-2c54c721c13f-cleanshot_2025-06-22_at_00.50.25_2x.pnghttps://scrapbook-into-the-redwoods.s3.us-east-1.amazonaws.com/2f176be6-4d62-43e3-b55d-93ae9b46de5d-cleanshot_2025-06-22_at_00.49.43_2x.png
summer-of-making emoji
hardware emoji
graphql emoji
Day 3: Held a club meeting today and continued the PCB workshop! we also had 3 new members join our club also mee and @EvanGan are ordering PCB for our trail project!
https://scrapbook-into-the-redwoods.s3.amazonaws.com/d79a7da0-14cd-4b76-bded-e18bde3bd60a-screen_shot_2024-06-18_at_1.47.24_pm.png
spring-of-making emoji
pcb emoji
hackclub emoji
Day 2 Tried out this new IDE (cursor.com) and I really like it. I might switch over from VSCode. Added a visible property to my display framework for my trial project to set a component’s visibility. My new soldering lead just arrived today, so I finished soldering the rest of the components for my musical Tesla coil project! I still need to 3D print the body and buy some magnet wires though.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/20b30763-ef15-45bb-964f-1f100d5c32e8-cleanshot_2024-06-17_at_23.20.40_2x.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/f66e9537-0cdf-470e-8af8-5ef67bab5658-img_8131.png
Day 1: Spent my whole day working on a display framework for my trail project! I’m developing a new display framework for the SSD1306 in MicroPython that aims to simplify building advanced interactive user interfaces. • Implemented the ability to nest child components within parent components for proper relative positioning. • Updated rendering logic so child components are positioned based on their parent’s size and position. Using it is very simple. Just create a new component and update the properties!
async def main():
    _display = Display()
    _vcanvas = vcanvas.vCanvas(128, 64, lambda data: _display.render(data))

    render_task = uasyncio.create_task(_vcanvas.render())

    frame = vcanvas.Frame(_vcanvas, width=64, height=32, background_color=1,
                          ax=0.5, ay=0.5, position_type="scale", x=0.5, y=0.5)

    label = vcanvas.TextLabel(frame, text="Welcome!", text_size=1,
                              ax=0.5, ay=0.5, position_type="scale", x=0.5, y=0.5)
    amogus = 1

    try:
        while True:
            await uasyncio.sleep(1)

            print("Looping", utime.ticks_ms())
            Pin("LED", Pin.OUT).toggle()

            if amogus == 0:
                frame.x = 0.25
                frame.y = 0.25
                label.text = "Welcome!"
                amogus = 1
            elif amogus == 1:
                frame.x = 0.75
                frame.y = 0.75
                label.text = "Welcome"
                amogus = 0
    finally:
        render_task.cancel()

        try:
            await render_task
        except uasyncio.CancelledError:
            print("Cancelled render task")

uasyncio.run(main())
Just finished setting up my new home network! Took me a while to get pppoe to connect
https://scrapbook-into-the-redwoods.s3.amazonaws.com/d062018e-663a-4347-8b54-1a5b1e2f4155-IMG_8344.png