EvanGan

EvanGan

61-day streak
Day 61 of #100-days-in-public. Today I am continuing to take a bit of a different approach to scrapbooking, by doing video updates. I recommend watching the shorter video for context before you watch the longer video.
Day 60 of #100-days-in-public. Today I am taking a bit of a different approach to scrapbooking. I recorded a quick video project update. Hope you enjoy!
spring-of-making emoji
borpheus emoji
Day 59 of #100-days-in-public. Today I learned that it is possible to have a RP2040 chip run HDMI in this video. I also rearranged my board in hopes of having space to have a micro SD card slot, but found that compared to my board, SD cards are really large! While I was rearranging my board I switched over to female pins for the board's IO pins.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/58e0b513-5091-4e1a-bfaa-a9adc003a7d7-screen_shot_2024-04-13_at_8.36.12_pm.pnghttps://imgutil.s3.us-east-2.amazonaws.com/1f1b79c159a64f15d513e51df4235791ca701c0a451eaa9cc5d8fc1ce38cda4e/9874484f-abc6-41aa-9c4e-c5ee1692554f.png
Day 58 of #100-days-in-public. Well, I intended to look into creating a second board to go on top of this one that will include a communication chip and HDMI port, but my robotics team found out we qualified for worlds today! As soon as we heard the news we rushed to our school where we store our robot and tools to pack before school closed for the weekend. Due to the short notice we were not able to make the New England truck, so we ended up packing everything in one minivan, which is going to be driven to the competition. After we packed I joined some fellow team members in a button making party! We have loads of buttons to go but are having fun.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/bb1a95f7-43cb-4726-af97-f7400f23d223-img_20240412_190529880.jpghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/ea51777c-4686-4934-bf64-09b065ee9ba1-img_20240412_212853882.jpg
Day 57 of #100-days-in-public. Today I labeled connections to make the circuit diagram legible and show the proper names in the board layout. Tomorrow I plan on looking into creating a second board to go on top of this one that will include a communication chip and HDMI port.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/e9f03096-4c27-496b-9425-2c718bf95d82-screen_shot_2024-04-11_at_9.37.37_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/a5c0d34b-dea7-4df1-b7a8-fe5f476ce746-screen_shot_2024-04-11_at_9.30.19_pm.png
pcb emoji
Day 56 of #100-days-in-public. Today I cleaned up my PCB layout, resolved a load of design errors, and added some missing components (thanks for pointing them out @MasonMeirs-U03V4686P9N!). I am thinking of revising my circuit diagram to make it more readable/easy to route.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/714f611a-70ff-4eab-81c9-3b7db448761e-screen_shot_2024-04-10_at_10.09.23_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/05273394-b119-4786-8a59-49c92fad63a1-screen_shot_2024-04-10_at_10.10.26_pm.png
Day 55 of #100-days-in-public. Today I had some free time and was able to get the video I took yesterday of the eclipse on a drone to slack. A bit of context if you watch the video, I was in a parking lot of sorts with lots of people around. There are some nice folk next to us with little kids which you may hear in the background. All the audio is coming from where the controller is and the camera was ~300 feet above it up in the air. (see thread for video, as scrappy does not like how large it is) I also worked on cleaning up my PCB design with some helpful observations from @AtanasAtanasov. As I went to export the design to try to get a price estimation I found lots of design rule violations that I made. Tomorrow I am going to take a closer look to see what I need to resolve.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/43208cd7-d350-4116-932b-1d9b9b31b9de-screen_shot_2024-04-09_at_9.32.45_pm.png
happy_ping_sock emoji
pcb emoji
Day 54 of #100-days-in-public. Today I ventured to Northumberland to view the solar eclipse. It was truly spectacular and interesting to see some of the odd lighting effects right before and after totality. I never expected this, as all the images I have seen do not convey it, but during totality the sunlight around the moon was silver. I am currently heading back home, but delays are causing the ride to take about 6 times what it normally should.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/11636646-09c6-4045-b07e-6cad426dd935-20240408_152947_0_.jpg
spring-of-making emoji
Day 53 of #100-days-in-public. I finally finished my board! Theoretically I could submit for onboard grant now, but I think I am going to take a few days to see if I can make the board smaller/neater.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/62484c39-7a8c-4147-88b8-d4c5088b76b4-screen_shot_2024-04-07_at_10.19.24_pm.png
pcb emoji
Day 52 of #100-days-in-public. Today my team played in the playoffs of the New England district championships(first robotics). We had quite a few interesting matches and ended up making it to the semifinals of our division. I visited the Hack Club table again and had an interesting conversation about onboard and got to take a close up look at some of the boards made for onboard. I was quite surprised at how small the via's were in real life. Also during the time between matches I walked over to the Starwars droid makers area and got to learn how they make their droids! Basically they use off the shelf components for the electronics, like scooter motors to drive, Arduino's to control some subsystems, a slip ring that connects to the dome(for continuous rotation), and LED's for all the lights. For the body of the droid some 3D print it in the winter and sand/paint it in the summer to get a clean finish.
Day 51 of #100-days-in-public. Today was quite exciting. I said hi to the folks staffing the hack club table, got to see a s'more making machine made by a fellow FRC team, and saw a helicopter with a chainsaw cutting trees very close to power lines. Our robot also broke in a pretty interesting way, when we tried to climb with only one of the two hooks, the rope pulling the hooks managed to bend one of the eye bolts that was routed through into kind of a curly brace.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/ac7f7810-9e7e-4926-a93b-2d8fcc3081f3-1000002875.jpghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/65935767-79f0-46cc-890e-ea224386b883-1000002861.jpghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/be28a51d-ffba-47c2-9ebb-7426d8c851d6-1000002877.jpg
Day 50 of #100-days-in-public. No project progress today, wasn't able to get any internet. I did however go to the New England first championship with my team. I was on pit crew for a while and helped prep the robot for matches. While I was on pit crew, I got a photo of our polycarbonate climber arms that I worked on and the stress fractures that formed within them.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/7e8db58f-22d5-44b3-a08b-1260afd09c31-1000002850.jpghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/e518671b-5e77-4212-a38a-c88741e918a1-1000002844.jpghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/73003682-6c8f-42ab-b0ce-0360d0da5bc7-1000002854.jpg
spring-of-making emoji
first emoji
Day 49 of #100-days-in-public. Getting pretty cramped in my PCB design. Going to be at the New England district championship for first robotics tomorrow-Saturday, and am going to try to post some robotics related scrapbooks!
https://scrapbook-into-the-redwoods.s3.amazonaws.com/919b93ae-b863-4a89-be9f-d7995acdd1fe-screen_shot_2024-04-03_at_9.54.40_pm.png
Day 48 of #100-days-in-public. Today I signed up for #apocalypse and continued to route my PCB. I think I may be able to finish it within the week...
https://scrapbook-into-the-redwoods.s3.amazonaws.com/fd028281-35e1-4962-bddb-d0a26bbc9130-screen_shot_2024-04-02_at_10.10.56_pm.png
pcb emoji
Day 47 of #100-days-in-public. It is very hard to start my scrapbooks with out "today I ..." but I have accomplished it with this post! Other than that, I made my board smaller, wired up more connections, and made more layout plans. In robotics, I got my team to test shooting into the trap and we were successful on our mock up. I am unsure if it will work on the real field because it is made of different materials.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/afe355a6-1d87-4671-8672-d2b9a0d93d36-screen_shot_2024-04-01_at_10.11.32_pm.png
Day 46 of #100-days-in-public. Today I got back on track and continued to route my PCB! I made a LOT of progress. After manual routing for quite a few hours I am beginning to understand what @karmanyaahm meant when they said "routing is art." The board currently sits at 26 x 45 millimeters but I have a few ideas on how to make it smaller...
https://scrapbook-into-the-redwoods.s3.amazonaws.com/1f595316-d538-4d25-a760-1005dc45aa75-screen_shot_2024-03-31_at_8.46.11_pm.png
Day 45 of #100-days-in-public. Today I continued worked on a blower for robotics to blow open the trap(weighted flap). We did more testing with some success but deemed the blower not powerful enough. Instead we tried just shooting into it and had lots of replaceable success where we shot the note(12" foam ring) into the trap. We also ended up rebuilding the leaf blower we used for the blower and it miraculously still works good as new! When I got home I played around with it a bit and levitated basketball 3 feet away from the nozzle of the blower. Unfortunately I did not get a video, but perhaps I will take a video tomorrow and post it.
Day 44 of #100-days-in-public. Today I thought I would have time to continue work on my board, but got sidetracked and ended up CAD'ing a housing for the trap blower (see my post from yesterday for context). I managed CAD the original housing but did not have enough time to finish it up with a motor mount like in our prototype. For our prototype we swapped out our NEO 550 for a 775 and found a significant increase in power of the blower. For anyone curious here is the CAD I made today and am still working on: CAD Also, I attached a video of us testing. As you can see in the video we were pretty nervous with the close tolerance of the blade to the housing.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/589b9aac-4b43-466f-9fa3-60263a752999-housing__1_.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/8bf73fb7-372c-4503-8cd3-09feed334978-img_20240328_213126212.jpg
Day 43 of #100-days-in-public. Today I worked on routing my board. Per @karmanyaahm's suggestion I decided to route by hand. While I was doing that I reduced my trace width by .054 millimeters to .2 millimeters. This enabled my board to actually be routable. I also talked with @Micha and they suggested a few changes such as putting my capacitors closer to the chip, which I am going to do now. In robotics tonight I helped assemble the parts from a leaf blower we took apart the other night into a FRC legal blower. The goal of the blower it to blow open the trap(Polycarbonate flap on the hinge) so that we can shoot a note(12" foam ring) into it from the ground. It worked pretty well with a NEO 550. Tomorrow I am going to CAD a 3D printable version of the duct and mount to save weight, as well as switch to a 775 for a 11000 rpm -> 18000 rpm increase.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/bd6c014d-0223-426f-9c02-4bd8359d2335-screen_shot_2024-03-28_at_5.10.52_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/374c34b4-2afd-4986-93fb-a625e65143eb-img_20240328_213126212.jpg
+2 emoji
8bit-heart emoji
Day 42 of #100-days-in-public. Today I continued to hack away at PCB routing. I had to redo lots of connections to make it possible to route, but I am going there. I'm currently really confused how to get the ground plane working so that things that I routed to ground in the circuit diagram connect to it. I am contemplating if I should full on try to revise the circuit diagram to make it easier to route. I'm making progress, very slowly but steady!
https://scrapbook-into-the-redwoods.s3.amazonaws.com/508004c6-fd30-4026-af14-3dc30a6e18ad-screen_shot_2024-03-27_at_10.07.15_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/c16aa9d7-4f02-473e-8fdb-34fe04436991-screen_shot_2024-03-27_at_10.05.16_pm.png
Day 41 of #100-days-in-public. Today I played around with routing on my PCB a bit more in the free time I had. At robotics today I took apart a leaf blower to salvage the blade to use for our robot to open a flap in the game field. I was quite surprised how small the blade was for how strong the blower is.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/1d840d64-1458-46da-9b34-630691a4c3ba-screen_shot_2024-03-26_at_9.52.29_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/dd7d6b2b-c22c-4ace-a9d9-7998a2a539ea-img_20240326_211114378__1_.jpg
Day 40 of #100-days-in-public. Today I got back to my PCB! I started trying to layout the actual board but remembered I never learned how to use that part of Easy EDA. Instead I used the auto router with some success. My goal for the coming days is to figure out how to setup the auto router with nets connecting to their respective planes, put some components on the bottom of the board, and make it smaller.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/455f883b-1f46-41b7-9265-da70b3c303f9-screen_shot_2024-03-25_at_9.54.15_pm.png
spring-of-making emoji
pcb emoji
Day 39 of #100-days-in-public. Today was day 2 of the FRC event I was at. My team ended up losing, but we won the impact award so we are headed to district championships. I did not have a lot of free time today, but in my free time I made a spreadsheet to try to get an idea of how much it would cost to run a 70 person 48 hour hackathon idea I am considering pursuing. The answer I came to is that it would cost around $7,485 to run if the venue is free. The idea as you might gather from the cost's spreadsheet is to run a hackathon on an island in the Boston harbor.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/88757e74-9ebb-4f10-9e79-5759e98d908a-screen_shot_2024-03-24_at_9.18.03_pm.png
Day 38 of #100-days-in-public. Today I began to start brainstorm a fun hackathon idea, and I plan to start writing an outline for it in the coming days to see how much it would theoretically cost to run. On another note, I was at the Revere FRC event today and did not time to work on my RP2040 project. The image attached is a photo of the innards of our robot typically covered up by our sponsor panel.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/651b2c66-c812-4bc3-82ba-9e6284b90cf6-img_20240309_101328947__1_.jpghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/a4943bec-bb56-47e5-99d0-90f60ee4c77c-img_20240323_142434348.jpg
Day 37 of #100-days-in-public. Today I continued to work on my board and hooked up all 30 GPIO(General purpose in out) pins to two 1x15 straight square pin arrays. This will enable me to be able to easily attach things to it. However, as I continued reading the hardware design guide I realized that the people who wrote the guide used a ~15x2 so that one row of pins could be used as ground for each IO pin. After I did that, I continued reading through the RP2040 hardware guide and found they made an example board for VGA and audio. Tomorrow I plan to read through it to see how they approached it and did it to apply it to my HDMI-RP2040 board.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/936a800e-a975-4417-aacf-bc987090f5fb-screen_shot_2024-03-22_at_5.40.25_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/58a35280-e00f-4337-a5d8-dd20ad119d29-screen_shot_2024-03-22_at_5.41.16_pm.png
Day 36 of #100-days-in-public. Today I continued my RP2040 implementation. I finished up everything I could find in the hardware guide from Raspberry Pi and swapped out most of my components for cheaper and smaller versions. I managed to get the cost down to ~$3 for just the components! I also decided to go with a 6 layer board because originally I wanted a 5 layer board (one ground plane, one 1.1v, one 3.3v, and two trace planes) but the closest JLPCB offered was 6.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/8bbb24c0-07ab-443d-bb8c-ad01cbe8390f-screen_shot_2024-03-21_at_5.29.45_pm.png
Day 35 of #100-days-in-public. Today I added flash memory to my RP2040 implementation. It still needs a bit of work, and I have some questions I need to ask to the folk of #onboard.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/e6cbbf39-a64c-4e9e-a532-b4f94959cdf8-screen_shot_2024-03-20_at_9.48.36_pm.png
pcb emoji
Day 34 of #100-days-in-public Over 1/3 of the way to 100 days! Today I was able to find better surface mount resistors(with help from the folks over at #onboard) for my board and added the to the board. In CS class today I learned about sorting algorithms and came up with one (that the teacher later told me was called bubble sort) Also, in robotics I revised a hook I designed for climbing that my team members say look like a duck.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/d6e91263-02f5-4d95-be47-9eacbdbae936-screen_shot_2024-03-19_at_9.37.40_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/0cacec87-4ba5-4d6d-af89-a9a5d0bb9a73-hook_v-6.png
Day 33 of #100-days-in-public. Today I started back up on my PCB design in Easy EDA. I spent a few hours trying to find the correct parts based on the RP2040 hardware guide. I had some success but realized a good chunk of my parts are not surface mount so I am going to look for replacements before I get the board manufactured. I also learned today how to calculate combined series and parallel capacitance for capacitors.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/b2182cef-4c08-4505-afb9-a78cb32c992a-screen_shot_2024-03-18_at_9.44.45_pm.png
Day 32 of #100-days-in-public. Today, I dusted off and took a look at my project ideas doc and found one I am considering doing. Just a quick note: I like to write my projects as if I am making a product, so I use "the user" a lot. The idea is for my onboard grant to create a HDMI board that connects to a TV/display, allowing you to program it to display anything you would like and play any music you choose. Accompanying it, I will make (or at least attempt to) a website that users can use to program the display by setting pixels, playing sound, and seeing a preview (like Blot and Sprig). The editor will have a second section for libraries that are user-created. By default, users will be able to retrieve the screen's width and height. The website will be entirely client-side, so the user does not need a network for it. A future addition would be some sort of controller that accompanies it with an open communication protocol that the user has to implement or use a library some other user makes.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/0499a30d-b704-4523-a71f-37a7db637540-idea_doc.png
Day 31 of #100-days-in-public. Today, for the second day in a row I #shiped a project! Last summer some friends and I made a fun version of minesweeper in about the amount of time a hackathon would have. We were all new to JS and we were shown P5 and decided to make minesweeper. I never got around to cleaning it up and publishing it until now. At the time I did not understand github so we all coded in the same document with VS code's liveshare. On a completely unrelated note I spent most of my day at robotics today where we visited wpi's practice field.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/4538ccef-6f91-4a6a-836c-acd488719b00-screen_shot_2024-03-16_at_9.34.36_pm.png
Day 30 of #100-days-in-public. I #shiped the game! Have fun playing it! See if you can try to get the merchant to give you money to take the rug. My friend and I managed to get the merchant to give us $7500. Up next I want to work out the error pages for my site.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/a5dd853a-d781-45c7-896b-fc5aa2655ffd-screen_shot_2024-03-15_at_10.12.32_pm.png
Day 29 of #100-days-in-public. Happy PI day! Today I worked on my site more for two and a half hours to get live responses(seeing responses as the AI writes) working, only to later in the day get paywalled by google. I am hoping it is just their changing capacity because it stops pay-walling me randomly. In other news I checked my website this morning to find one of the changes I made yesterday finally updated, so I can now post to my website! I expect to ship a version tomorrow.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/2b831e9e-1206-447e-9c65-8a5dca2025f0-screen_shot_2024-03-14_at_5.18.31_pm.png
google emoji
Day 28 of #100-days-in-public. Today I spent a few hours trying to get my website working. Previously I set it up to redirect to another site I have that has a 6 letter domain. After looking more at bluehost I could not figure out how do make it a site of its own. I think the I may have to look into godaddy and figure out if that is where it is redirecting. During robotics I designed a new climber hook, after getting feedback from driveteam. I went through about 3 revisions before getting one we were satisfied with enough to cut. The left hook is the old one that we brought to BSU and the right one is the one we are cutting tomorrow
https://scrapbook-into-the-redwoods.s3.amazonaws.com/b6f98bb6-b020-4908-b119-0f660ded4750-hook_v-5.png
Day 27 of #100-days-in-public. Today I spent time getting my react site to compile. Originally it was set so that you have to specify a directory it is going to run in but I managed to change that to the ./ directory so it can run in any direction. I also added some instructions for the user. Tomorrow I am going to work on getting it up on my website and shipping it. After I ship it I think I may try to incorporate an interaction library like MUI or EUI now that I am more familiar with react. On another note, I got my fudge from #10-days-in-public!
https://scrapbook-into-the-redwoods.s3.amazonaws.com/1ac07799-806c-485c-8652-40187636fc7a-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/dec7b082-9f47-47c7-8bcc-a6d235a122d2-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/28aa44fb-3b12-41f9-85d4-9b878e63c410-screen_shot_2024-03-12_at_5.46.19_pm.png
Day 26 of #100-days-in-public. I want to take a bit of a different approach on my #scrapbook today. Currently my Gemini based rug game is in a state where I am considering #shiping it but have an idea of one last feature that will require me to modify some of my code to create, and make it much more original. I think I may ship the current version tomorrow and then continue working on the last feature. Today I had a bit of a realization why react is such a good framework. Basically, my goal is to have a text box pop up when the user needs to enter their api key and not show up if it is already in the URL(see yesterdays video). The beauty of react is that I can do this very simply in one element by simply detecting if they need to enter a key, and if so returning a different piece of HTML. If they already have a key then I can simply return nothing and nothing pops up. With React I can just throw this element in anywhere and it just pops up when it needs to and disappears when it is not needed. Also, React allows me to easily modify page layout, say for example if I wanted my chat box to be below the input I can do that with swapping one line of code.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/75c0d84a-376d-4b14-8291-60745b34f170-screen_shot_2024-03-11_at_10.13.57_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/47ec7cb2-1fc5-4a1d-8528-323680613edd-screen_shot_2024-03-11_at_10.10.34_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/64e81165-6e8c-4ea5-8a92-2a428ef7be5f-screen_shot_2024-03-11_at_10.06.31_pm.png
Day 25 of #100-days-in-public. 1/4 of the way to 100 days! Today I spent most of my day at the BSU FRC competition. My team ended up making it to the finals and losing. For us the competition was a huge win because even though we were having some issues through out the day, bringing our ranking down (mostly electrical blowing fuses), we ended up having no issues that effected playoffs. When I was going to the competition I last minute used my blot to make a if lost label for my water bottle. I was going to do it on blue tape, but I forgot to get a sharpie and was in a rush (pen did not work on tape). I was able to make progress on my Rug game and now can store the users API key in the browser's URL (see video attached). I am getting close to finishing this project, and have one or two more lined up. Next up on this project is reference types in JS. This will enable me to make one AI be the rug buyer and the other the seller.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/d689f735-e521-4586-90c3-1b9dc3a9cd3c-image.png
Day 24 of #100-days-in-public. As I predicted yesterday I had no time to work on my project today, as I was at the BSU FRC competition. Our robot worked pretty well and we only broke a little bit.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/0840d06d-6be1-40a6-a0ed-ffbb00537cfd-img_20240309_101328947.jpg
Day 23 of #100-days-in-public. Today I implemented the AI! Now I am back to the point I reached with the pure html/css/js. Over the next two days I am going to be at a FRC competition, so I am going to have less time. If I do have time, I am going to try to make the api key stored in the browser URL. In my short testing for this post the AI just solved the problem for me and said it would sell it to me for the goal ($100). My prompts are sometimes blocked for "Safety" even when they say "Hi there!" so I may also look into that.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/4ba64a83-771e-4dfc-8173-db75460f553a-screen_shot_2024-03-08_at_10.25.05_pm.png
Day 22 of #100-days-in-public. Today I continued on my react journey. It's blue! I started adding(basic) CSS to my page. My page now also takes in the input from the input box when the user presses enter or send. If they hold shift and press enter they can make a newline. I still have yet to figure out how to apply Wack Club Sans to the prompt box, but have been able to apply it everything else. Overall I made lots of progress today. Now I have the framework, all I have to do is add the AI!
https://scrapbook-into-the-redwoods.s3.amazonaws.com/ac537526-8446-469f-a61d-6388cb89020a-screen_shot_2024-03-07_at_2.58.04_pm.png
Day 21 of #100-days-in-public. Still with it, one day at a time. Today, like yesterday I was swamped with school, robotics, and another program I do and had very little time to work on the project. However, I did manage to get a text box up and have thought out an architecture/outline on how I can write the code well. Next up state variables!
https://scrapbook-into-the-redwoods.s3.amazonaws.com/5af695bc-3f46-4642-b8e5-009ade1b7b9c-screen_shot_2024-03-06_at_10.26.43_pm.png
Day 20 of #100-days-in-public. 1/5 of the way there! Today I had effectively no time to work on my project. I have lots of schoolwork and my FRC team has our first competition this weekend at BSU. We are pretty prepared but have lots of tuning to do for our code (see robot shooting photo attached). I did get an Onboard poster that I plan to hang up in my school when I have time Thursday.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/542d2b32-66d8-489a-9b4d-d3492f0fa959-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/cdbf70af-60aa-43ff-b1f5-684a367e2156-53570238216_f6ea17c12e_o.jpg
Day 19 of #100-days-in-public. Today I started looking at two different libraries for user interactions, MUI and EUI. I am still in the process of comparing both, mostly to find which is simpler/more flexible. On another note, after watching my blot draw for ~1 hour, I started looking into the low level blot drawing code to find where I can make a few changes to it. But, in the end I realized I was looking in the wrong place. I may look more into it tomorrow.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/92c1d849-665c-4089-8a57-851bb1b8eee6-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/03ea110c9966abcc15ce85ca3a6529239ded168600de3989ebffffd8b05c2ea0/bd4f9036-e739-41c8-9e91-c53faff80d84.png
Day 18 of #100-days-in-public. Today I started to learn react and got a development environment setup(see images below). As of now my react site is very basic but I intend to learn more about react to fully utilize it in the coming days. I did find an old TV as well today and am considering (at a later date) trying to take it apart to extract its fresnel lens if it has one to play around with it.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/12d12d2b-225b-4be7-a38d-0c5508b41929-screen_shot_2024-03-03_at_3.31.27_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/ce90ca8e-1d21-4aa8-9675-37025872b208-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/f5160520-2b9d-4981-a7d3-8ff302c6ee04-screen_shot_2024-03-03_at_3.29.48_pm.png
Day 17 of #100-days-in-public. Today I programed for my robotics team and visited WPI's practice field with my team to test. I saw HCB on the sponsor slide on a comp Livestream they were playing. For my website project, I did not accomplish much other than learning some more benefits of react that may outweigh the cons. The benefits I found are it is very modular and you can also have components react to variable changes and change their display states. More simply put, you can use react to display a model rather than changing the model around the display(ex. event listeners).
https://scrapbook-into-the-redwoods.s3.amazonaws.com/42eb1b51-255c-4fc8-a10a-ab37512238e5-image.png
Day 16 of #100-days-in-public. Today I put up some Hack Club posters in my school. I also wrote some code for my robotics team for our shooter. As I was looking into react I am questioning if it would be helpful for my rug game rendition. From what I found online so far it seems it has a nicer syntax and ease of swapping stuff around, but is more resource intensive/less efficient than the default html. I am going to continue to look into it to figure out if it is worth using it.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/a41d1850-bd85-4568-a16d-55157bac956c-image.png
goose-honk-technologist emoji
Day 15 of #100-days-in-public. Today I added a bit of CSS styling to my game. My original goal was to get two AI's talking together but was limited because of some odd safety features in chrome that prevent JS files from using importmap'ed library's. Tomorrow I plan on trying to switch over to react to a) learn more about it and b) avoid some of the issues I ran into today.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/f8ce88e7-fea3-4492-9626-3debe4a6d4ca-screen_shot_2024-02-29_at_10.07.50_pm.png
Day 14 of #100-days-in-public. Today I worked more on my rug merchant recreation with Googles' AI. I got it working! Now I can play the rug game for free. The only caveat is I do tend to trigger google's very sensitive safety detector when I try to convince the seller to give it to me when I will preform some action in exchange(ex. film a commercial for the rugs). Now that I have a basic version, I am going to try to make two AI merchants haggle with each other. I am also going to make the page look nicer because right now it is very plain. I attached the current version of it to this post for anyone who wants to play around with it. All you have to do is unzip it, open the html page in a browser like chrome, and put your api key(how to get a key) in the url (ex. /index.html?key=<YOUR KEY HERE>)
https://scrapbook-into-the-redwoods.s3.amazonaws.com/14b6581b-3664-4da6-97a0-244f64d83e0f-screen_shot_2024-02-28_at_5.01.33_pm.pnghttps://imgutil.s3.us-east-2.amazonaws.com/89a1bdd49f143f2c342ee99f67c16d415887d183183fdabecfaa5a2f413e7e91/76922b32-16d8-4e6c-a9eb-e9388b1587db.png
Day 13 of #100-days-in-public. Today I tried to implement Google's AI into my webpage with some success. After I had a successful attempt I tried to make the code better but ended up just breaking it for the time being. In the background I have been playing around with my blot and having fun with it. I have a few ideas on how to optimize the drawing speed which I will try to implement at a later date.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/7ef78c2f-663b-4455-9cd0-5d1c337b9098-image.png
google emoji
goose-honk-technologist emoji
wom emoji
Day 12 of #100-days-in-public. Today I was busy with robotics, but I started to try to recreate the rug game with gemini ai because it has a free api. I am trying to make the whole thing client side so I do not have to setup a server to handle user api keys.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/4c8a832e-fec8-492e-a35f-adf298b7edba-screen_shot_2024-02-26_at_9.00.15_pm.png
Day 11 of #100-days-in-public. I suppose we will now see how far I can go with the days in public. Today was the last day of #wonderland where we had a science fair for all the group's projects. The group I was in finished up our game and decorated the fan we took apart and had it turn on and off randomly(we did not have enough time to figure out how to make it play music). On another note, I got my blot today! I sat down for about 4 hours and assembled it and finally got it working. I got it to draw my submission(see video attached).
https://scrapbook-into-the-redwoods.s3.amazonaws.com/915e112e-6de6-48c3-aaef-7dbbfc281895-image.png
Day 10 of #10-days-in-public! Today I was at #wonderland! The group I am in is making a cooking themed game and also took apart a box fan for the motor because we thought it would be useful(in the beginning). We managed to hook the motor up to a relay and then to an Arduino micro. I tried to make the motor play music by altering the frequencies where it receives power. As I was trying a version of my code I managed to electrocute myself for the first time! After that we heavily taped over the exposed high voltage pins. Then using code group members wrote to try to control the oscillation speed, we ended up using Arduino's default tone library with the motor with some success. We the end result was just varying the speed the motor rotated at. In our playing around with the motor we found it got pretty hot. I plan to continue my PCB project (after wonderland) may attempt #100-days-in-public
https://scrapbook-into-the-redwoods.s3.amazonaws.com/8854fff6-9264-4030-8ae9-76690b0194eb-1000002208.jpghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/9e54b70c-a7fb-4279-8267-7335f9240043-1000002209.jpg
10daysinpublic emoji
Day 9 of #10-days-in-public. Today I got a working layout for my button grid in Easy EDA. Each side of each grid feeds into a 8-3 binary encoder. This post is a bit rushed because I am currently at #wonderland and forgot to post.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/4f2f4606-9e2d-4c10-bf43-32fe45492ee3-screen_shot_2024-02-23_at_11.59.41_pm.png
10daysinpublic emoji
Day 8 of #10-days-in-public. Today I worked on a side project, but did pick out a button for my PCB after learning about different types of buttons. The side project I worked on is a program to get all the match data in FRC history from The Blue Alliance. With that program I wrote I found that the red alliance has 98404 win's and the blue alliance has 86987 win's as of me last running it in 2023. Once this robotics season is over I want to use it to find some statistics and try to predict scores for future games. I have attached I attached the output(named "nodeTestOutput") from when I ran it in post 2023 season and the program that I wrote to create the data dump.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/92e73a88-c3ee-47b5-96da-935bd4505bc1-screen_shot_2024-02-22_at_8.10.53_pm.pnghttps://imgutil.s3.us-east-2.amazonaws.com/713248e516adf8ba523d168e4223e47a06433abc6103326b460ab4971947dcc4/6bbd3c08-290e-41e9-bf36-21368eb75b83.png
Day 7 of #10-days-in-public. Did not have a lot of time to spend on the project today, but I did some more brainstorming for the button layout. My goal with the button layout is to have a simple layout with the fewest amount of inputs to the host board(imagine my button array is a board shield of sorts). Short recap: Originally I was planning on plugging all the buttons I would use into a binary encoder so I could detect which button is pressed (assuming one button is pressed at a time). That should have a # of output pins of log2(n) n being the number of buttons. I had another approach to use a grid of buttons where pressing a button lets power flow through its row and column so you can get an X,Y position(see drawing from second post). That method would have the # of output pins of sqrt(n)*2. When I graphed the first two strategies the binary encoder one came out to have less output pins. Today's stuff: As I went to start designing the part today I learned there are no 40 input binary encoders, so that got me thinking of alternatives. After thinking for a while I thought, "What if you put binary encoders on the end of the grid method, that should have a # of output pins of log2(sqrt(n)*2), surely that should result in fewer output pins, right?" Well I graphed it and it actually resulted in less output pins(see image below). Tomorrow I plan on creating a schematic for the button pad with real parts. Here is the graph where I graphed the different methods.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/f61756e9-798c-423d-b513-51408853527e-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/e9b56100-3734-465c-aa1d-6446d3e4bda0-screen_shot_2024-02-21_at_11.20.25_pm.pnghttps://imgutil.s3.us-east-2.amazonaws.com/4dc91e788ceaa331b1457478866be365f6a2aa2b28ce5dfb2a1a30622b2d55b7/2f485fc3-ac63-4db6-8fc0-e1eb49ce6b2c.png
10daysinpublic emoji
Day 6 of #10-days-in-public. Today I found a really nice schematic guide to help me understand some electrical schematics much better. In addition I continued to make progress on my PCB circuit design(see screenshot below). As I have been looking back on the start of this project I have realized that I started trying to design a complex PCB with out learning the basics. After that realization I started taking the project slower and spending more time learning before I design.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/1ecea655-1ca9-40e2-bdb1-3c99a3e83b94-screen_shot_2024-02-20_at_8.28.11_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/d320aed1-8b15-4b00-b364-1150d56f8650-image.png
10daysinpublic emoji
Day 5 of #10-days-in-public! Today, after being very confused with some circuit diagrams yesterday, I learned a lot about PCB design for my project (so I can design a better PCB). Bulleted below are the main things I learned; • Electrical planes - Layers in the PCB (typically made up of some of the planes described below) ◦ Ground plane - Good for shielding board's more sensitive electronics ◦ Power plane - Good for distributing power, but also help shield signals from one plane to another ◦ Trace plane(I am sure this is the wrong name) - Plane with actual circuits with the traces you make • Vias - Holes used to connect one plane to another (typically a trace to another plane) • In line resistors - Reduces compassionate in outgoing signal lines so there is less noise • Zero ohm resistors - Often used to connect two surface mount pads for parts of the PCB that does not need to be connected but can be later On a separate note, during my procrastination, I started experimenting with shading in custom polygons in Blot. Right now it does not look the best but I hope to improve it!
https://scrapbook-into-the-redwoods.s3.amazonaws.com/2c8ad821-d289-494b-baaa-54a16c91e0b0-screen_shot_2024-02-19_at_9.52.45_pm.png
10daysinpublic emoji
pcb emoji
Day 4 of #10-days-in-public. Today I started designing the basic circuit layout using the RP2040 docs. Other than that I made no major progress. Figuring out what the minimum design is has been quite the challenge, that I have not fully succeeded at. I am still currently looking at how I can learn about the chip in a more effective way.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/30952ddf-7b46-4f28-9958-6ee5b7c4e362-screen_shot_2024-02-18_at_10.15.00_pm.png
10daysinpublic emoji
Day 3 of #10-days-in-public. Today I was going to try to make a minimum viable board using the RP2040 but realized there is a large learning curve I need to overcome before I am ready to design. Due to that I spent most of my time on the project today reading the technical docs trying to gain a better understanding of the chip. I did however, refamiliarise myself with Easy EDA and created a starting document with one RP2040 chip in it.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/1c29bd90-011c-41c7-8af1-ff52a96d2d8c-screen_shot_2024-02-17_at_10.49.57_pm.png
Day 2 of #10-days-in-public. Today I brainstormed how to get an output from ~40 buttons for my calculator keys. The chip I want to use (RP2040) has 30 general-purpose IO ports, so it does not have enough to detect all the buttons; however, only one button will be pressed at a time. At first, I was thinking of doing a grid with buttons (see drawing) for the electrical connections so I would have the square root of 40 outputs times two (in this case, about 13) outputs instead of 40. Then, after thinking a bit more, I realized that I could also have a button represent a number (ex., button 1, button 2, etc.) and convert it to binary with a simple circuit or chip. This would have log base two of 40 outputs needed, which would be about 6 in this case. I was curious if the binary approach would still be better as the number of connections went on, so I graphed the relationship and found that the binary approach was much better. For example, if we had 13 outputs like I calculated above for the grid approach, with the binary approach for 13 outputs, we could have about 8192 input values! That's a lot of values! Tomorrow I plan on making a basic example board using the RP2040, so I have some foundation to work off of.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/979acfac-8f00-4a62-a749-fd687c73b760-screen_shot_2024-02-16_at_8.04.35_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/36b2d936-ad09-4684-919b-12880637ddfe-screen_shot_2024-02-16_at_8.06.26_pm.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/fb9116a5-2e8c-4cf8-a37d-838fc7c38fd7-image.png
10daysinpublic emoji
Day 1 of #10-days-in-public! Today I started researching a driver chip for my calculator themed development board. After asking the folks of #onboard what chips they used in their projects I ended up deciding(for now) to use the RP2040. The pro's for this chip is that it is made by a credible company(raspberry pi), it has 30 general purpose IO pins, 4 of which can be used as analogue inputs, it's low cost($1), and it has loads of documentation. The con's(I have found so far) are the 3.3V logic level and lack of built-in wireless connectivity. I am currently thinking of possibly adding on another chip to use with it. I also started taking apart my calculator to figure out how it work, may keep digging into it tomorrow.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/76d0acce-5b64-4024-876f-6e497febaaec-img_20240215_212301.jpg