Stats

2
Projects
35
Devlogs
12
Votes
1
Ships

Coding Time

All Time: 55h 9m
Today: 0h 0m

Member Since

June 17, 2025

Badges

1
🚢
Maiden Voyage
you shipped your first project! the journey begins...

Projects

2
🚀
10 devlogs 12 days ago
Python en Francais
8 devlogs about 1 month ago

Activity

Since 0.8mm board with multicolor silkscreen adds 32 dollars, I remade the traces to work with 1.6mm (USB traces)

also changed the crystal to not have to be hand-soldered (cheaper to manufacture)

Update attachment

I started to add images to the back of the board, and one thing that was a challenge was how imported images always were bottom-most compared to patterns made natively in easyeda which was a pain to fix and move the shapes/reshape them.
image
Eventually I was able to get it looking pretty good after quite a bit of time
image
Also turns out that multicolor silkscreen requires a white board, and at 0.8mm board thickness it requires a special surcharge of 32 dollars, so I changed it to 1.6 and redid the USB traces, as board thickness impacts impedence.
image
time: ~2h

Update attachment

CHECK JOURNAL.MD IN GITHUB FOR MORE PICTURES

This was a really big session especially due to today being the final day for the YSWS.

To start, I completely finished routing the board, which was really easy due to it pretty much being only straight lines.

After, I proceeded to check over everything in the schematic and the documentation, to make sure that everything would work

Unfortunately, the crystal that I was using for the RTC wouldn't work due to having too much of a load capacitance. This means that I must go with an extended component (which adds 3 dollars to the cost) and also reroute a small amount of the board.

image
I also had to end up swapping RX and PB6 here, and the reason for that was that I thought RX (receive) would be sending the signals (I wasn't really thinking about it)
image
Now, the only thing left is the art, and I was able to completely finish the top side, which in my opinion, looks really good, but took me a lot of time due to me being pretty bad at art.
image (8)
time: ~5h

Update attachment

I then spent quite a bit of time on routing, trying to make sure that it was neat, and when I got to the part where I had to route a second UART to communicate with the ESP32, I realized that Instead of using two GPIOs, I could use one and have a switch that switches between the REPL UART pins to the UART pins one would use for communicating with custom code.
image
During this time, I was able to successfully route 50% of the GPIO headers (and there were a few moment where I pretty much boxed myself in really badly)

image
This is quite tightly spaced (CHECK JOURNAL.MD IN REPO FOR IMAGE):

image
time: 2h45m

Update attachment

Did a lot of the routing for the traces, and GPIO pins, especially the ones at the top of the STM32.
image
However, after doing this I noticed that most of the ADC pins (convert Analog signals to binary) would be used for communication with the SD card and the wifi chip, which would be a waste, so I started to restart and better plan this layout, trying to make sure that I would keep in mind which signals aare more important than others (like communication between components > GPIO)
image
time: 2h 30m

Update attachment

Did some research about a buck regulator, but turns out they would require way too many extended components, so although it would be less efficient, it would drive up the costs
image
Changed up the layout a bit to make it neater as well as finished it, and added headers for debugging (SWDIO), and then started some of the start of routing, especially for important traces like USB and some of the power traces
image
time: 2 hours

Update attachment

Started laying out everything and sourced other parts, such as the WIFI module and microSD reader, and then learned about how LDOs (the dropout voltage regulator I chose) would be ineficient, so now I'm trying to find a buck regulator instead
image image
time: 2 hours

Update attachment

Finished circuits for USB + ESD protection
image
Did a lot of research on what type of converter I should use, since I would like for it to be compatable with different types of batteries, but this wasn't the easiest due to trying to make the board as cheap as possible. I was able to find a convertor that would allow for a stable conversion from 4.5 volts to 16 volts, which would be pretty good for things like 9V battery
image
time: 1 hour

Update attachment

Ported over everything to easyEDA (without importing, just remade everything)
After, I added a 32.768 KHZ crystal for the RTC of the chip to be more accurate, especially since time tracking is something that can be fundamental for a board based on collecting data.
Finally, I started implementing USBC and esd protection with the USBLC6, but then I learned about how I could use TVS diodes for protection, which would be cheaper, and something I implement during the next session.
image
Also, towards the end, I learned about how the specific MCU I'm using requires 1.5k Ohm pull up resistor on USB DP, and after doing some research I decided that the next session I would include an P channel mosfet to control it
image
time: 2.5 hours

Update attachment

MORE PICTURES IN THE GITHUB JOURNAL.MD

Started by creating some ideas of what I generally wanted this project to be, and thanks to a few people, I came up with a basic idea.
image
After coming up with the basic idea, I started to look at documentation for the STM32 chip I was going to be using, and started creating the schematic, which was pretty easy, but just a bit challenging since I've only been used to the Raspberry Pi documentation for their chips, which were very detailed and easy to follo whwne compared to STM
image image image
Towards the end, I knew that a crystal that works with this chip would be hard to find. I looked at the only basic JLCPCB part (which would avoid a 3 dollar fee for assembly) that resonates at 16 MHZ, and it took about an hour of calculating to determine that it was probably fine. The only thing I wasn't able to calculate was how good the crystal would be over periods of time since I would need to measure how current flows through the crystal, which would be impossible without specific tools (oscilloscope) and the crystal itself.

image
Also, I decided that I would be starting over and creating the PCB in easyEDA instead of Kicad since the Twist You Ship We Ship of Hackclub has two possible routes of funding for the PCB. One of them is to use any EDA but track your time, which doesn't include looking at documentation for 5 dollars an hour, or using easyEDA and receiving a grant from JLCPCB instead, with any amount of time

Using easyEDA would mean that I wouldn't have to worry about the PCB budget, especially since most of it isn't even tracked due to how documentation heavy hardware design can be

time: 3 hours

MORE PICTURES IN THE GITHUB JOURNAL.MD

Update attachment
its_kronos
its_kronos created a project
11d ago

Databoard

Custom devboard with support for WIFI and an SD card to record data

10 devlogs 0 followers

Changed up looks for the website, so now it looks more like a finished product (I wish this took a lot less time than it did, but I'm pretty new to bootstrap and havent done web development for a long time
time: ~2h

Update attachment
  • i've decided that my current wants for this project exceeds my current skill level, and i've been going about it the wrong way since the beginning (especially with the differences between how my code compiles and how a more professional language would compile its code)

  • Instead, I am tweaking my goal to only include variable references, some built in functions, and printing

  • Adding numbers wouldn't work with a + sign, but instead through an inbuilt function for ease of implementation

  • Also the code will be a bit messy due to how i've coded the program, and I don't see another way to make it better other than to restart (which is something i really don't want to do, especially as my motivation falls from struggling so much)

  • added functions for int() and str()!

  • added addition and the ability to chain functions!

  • added subtraction, just note that negatives must be defined as sub(0,n) instead of -n due to normal operators (5+5) being not implemented

  • added division and multiplication, which supports string multiplication

  • fixed \n so it'd actually work while printing

Update attachment
  • error handling!

  • Took a long while to determine the correct way to handle variables, but now finally have the framework and now I can support variable referencing and \ within strings!

  • What I struggled with for this part was overthinking about how I would implement inbuilt functions, such as String(), which led to a lot of time spent wasted. Additionally, the order of the if statements was pretty important in regards to function

  • I'm excited to later be able to add support to basic functions, and then be able to use different operations, such as a*50

Update attachment

The bug was indeed not fixed, and doing a string with operators next to eachother would raise an error

Decided to scrap all my current code after trying to fix it and start out with variables and a new token system

added variables!!

Update attachment

update styling a bit

researched and found out about a way to make the code truly run async

added print function and operations with strings, and +,-,*,/

image
The most difficult part for sure was getting the order I should check for each operation to ensure that arithmetic errors don't happen
TIME: ~3h 30m

Update attachment

Added javascript code that runs after hitting the button with a good basis for expansion later on
found out that a for loop thats really long could cause the page to freeze, so I'll be trying to fix that next session.
TIME: 45m

Update attachment

Just started making everything look 100x better, which took a LOT of time looking at documentation to figure out how to get a certain look, especially with how long its been since I've done web development
Ended up adding a header navbar and started adding boxes to input code and for the output, however, I will be focusing on the functionality next rather than looks

Realized I don't even need to use flask (and could instead just use JS), but this will be restructured during the next session!
TIME: ~1h45m

Update attachment

Started by brainstorming ideas

Then, I started with doing quite a bit of research on how I would be able to bring my idea to a website, especially since downloading code and running it yourself is pretty annoying, so including a way to run custom code online would drastically improve QoL

I eventually settled on using Flask and React, and through the documentation, I was able to successfully install these two frameworks and get the website working

In order to use API with the backend, I created a page at the address /api/test, which when went to returned:

image

image

Initally when trying to then push this code onto Github, I ran into an issue

After restructuring the repo to have a frontend and backend folder, the node_modules folder was no longer correctly referenced in .gitignore, causing there to be a problem with file sizes being too big

Since I didn't know much about react, I didn't originally know that node_modules was supposed to be in .gitignore, but after asking, I determined that it would be the best possible thing I could try (and it worked)

time: ~2h

Update attachment
its_kronos
its_kronos created a project
36d ago

Python en Francais

What if France was the country who invented coding? How would this change coding languages today? Embark on a journey of linguistic challenges to become French (trust) by using this totally certified coding language that includes (mostly?) everything you need!

Python en Francais
8 devlogs 1 follower Shipped
its_kronos
its_kronos worked on a deleted project

made case better in terms of 3d printing (no filets on the top, changed with chamfers)

Update attachment
its_kronos
its_kronos worked on a deleted project

Turns out I used the wrong footprint for the pin headers, so I had to restart routing them and make the board bigger, which wasn't much of a challenge since the routing was pretty similar, but still a bit time consuming.
image

Anyways here is the (hopefully) final version
image image

TIME: 1h

Update attachment
its_kronos
its_kronos worked on a deleted project

Just drafted up some code for flashing the secondary WIFI MCU by forwarding USB signals through UART

Also created a BOM and added it to the readme

Update attachment
its_kronos
its_kronos worked on a deleted project

I finished up routing everything which was surprisingly easy due to the amount of excess space I had. It was just a bit time consuming to figure out the best way to route everything to minimize crossovers
I was a bit worried about the crystal being close to GPIO traces, but somebody also part of Hackclub told me that it's most likely fine due to the grounding vias, but I did also move it closer to the XTAL pins on the MCU
Added some art on the front and back C:
image

image

image

image

All that's really left for me would be to draft up some code and maybe (?) create a case (probably not since single-color PLA wouldn't really look that great for it)
time: 1h45m

Update attachment
its_kronos
its_kronos worked on a deleted project

rerouted the differential pair so that it actually has a 90 ohm differential impedance which is called for by USB protocol, and this took a long while because I didn't really know how to get the DRC to stop screaming at me for having too small clearances, but this was fixed by just assigning different netclasses.
image

routed the secondary MCU completely, although i am worried a bit about the TX and RX traces for it interfering, so if I have space in the future after routing GPIO, I'll try to separate them.
image

moved some components in order to have a much slimmer layout, and then proceeded to route the GPIO pins, which for now was pretty easy (except for deciding which GPIO pin should be where), but I have a feeling that the last few GPIOs might be a lot more difficult
image

TIME: 2h 15m

Update attachment
its_kronos
its_kronos worked on a deleted project

found a new, better ESD protection that would be easier to route and even cheaper too
restarted routing because I didn't plan for the ESD protection to be this big
image

placed everything except the connectors, which could go almost anywhere on the board (this took a while to get everything seemingly spaced out well enough but I feel that it's pretty good)
image

finished routing everything for the main part of the board (meaning excluding WIFI and GPIO), which took around an hour due to slight repositioning and trying to space out signals when possible, which was mostly a new-ish concept for me, which I only slight skimmed over for a keyboard I made prior.
image

TIME:2h

Update attachment
its_kronos
its_kronos worked on a deleted project

Using another MCU (the wroom c3) as a way to add wifi connectivity at the cost of 1 UART interface when being used
decided to start routing the board so that I can know which pins are ideal to use for what purpose, so i assigned all the footprints
image

I had trouble routing because the pins were too close together, so I changed the main MCU to the RP2040 and double checked that everything was according to the different hardware guide
image

i had to replace a few of the parts of the schematics to fit with the RP2040, and then I reselected all the footprints and started routing
image

here is the routing I have so far, and I tried my best to make sure that sensitive components would be out of the way from traces that would disrupt them, but what I did realize is that I need to find a new ESD protection IC since the current one would pretty much make it impossible to route
It was pretty time consuming due to the numerous decoupling capacitors needed in many locations, and I might have to compromise on a few of them
Time: 2h

Update attachment
its_kronos
its_kronos worked on a deleted project

did some research about the PI235x chips with the hardware guide
downloaded footprint for RP2350B
created schematic part for the VREG
image

made custom footprint for the inductor, which recommended a specific part to ensure correct coiling for minimal interferance
image

sourced components needed for the VREG
Made schematic for and sourced all parts needed for the USB connection, including parts like an LDO, which was pretty easy since this is the second time doing it for me
image

made the schematic for and sourced parts required for decoupling capacitors for the power pins
image

in the hardware guide for the rp235x series chips, it includes a resistor with value 0 ohms for the QSPI_SS pin, so I researched why there wasn't a direct connection and learned that it can be used as a jumper wire on a pcb
image

finished schematic for the flash memory for the chip
image

finished schematic for the crystal
image

And here is the running component list (most of which are either basic or extended preferred parts, which took a bit of time to find, but nothing too serious)!
image

overall this part of the schematic was pretty easy and didn't require too much challenge, and I believe that the main part of the challenge will come when actually routing the board
TIME: 2h30m (most of it wasn't tracked sob)

Update attachment
its_kronos
its_kronos worked on a deleted project

found a cherry MX plate hole to EC11 rotary encoder by @Coloneljesus_13723 on printables.com, which would allow me to glue a rotary encoder to it and attach it securely to the plate without a PCB (pretty fire)
finished redesigning the plate to be thicker to allow for more security and smaller bed size required for printing (I wish fusion ran faster)
image

made bom and added it to readme
Created a readme and added almost everything that I need to
time: 2h30m

Update attachment
its_kronos
its_kronos worked on a deleted project

created a bom for the over-budget build
created a draft of code to use on the keyboard
image

sourced parts that would be needed for hand-wired keyboard
edited case to support a USBC breakout board instead of the over-priced PCB (lowered the hole)
editing plate to support thicker printing and better support so I can use printing legion instead
editing the plate is taking way too long due to fusion taking like 30 seconds to render a single constraint and up to two minutes if I misclick
image

TIME: 2 HOURS

Update attachment
its_kronos
its_kronos worked on a deleted project

sourced some gorilla superglue gel I would use for the standoffs in the plastic after doing some research about which glue works well with PLA
started splitting all the prints so they could be printed with printing legion
image

decided not to split the plate because splitting it would make it pretty difficult to print secure during shipping, so i'll probably use JLC3DP for this one part
discovered that JLC3DP PLA print has to have a minimum of 1cm height and their capabilities don't support 1.5mm height, but after some research I discovered that many people use FR4 as material for their plates, so I did a big brain move and exported the plate sketch as a DXF and imported it into kicad and just exported as gerber!
image

turns out that JLCPCB is pretty expensive for getting plates, so instead I decided to just get it via a resin print, which can support 1.5mm thick prints
replacing 1k ohm with C11702, since it's a basic part
turns out that no matter what I do the weight will be over 1.5 KG for the board alone, so I have to pay about 40 dollars shipping to the US, which means that the rest of the board is unfeasable to design
i will finish a draft of the code and create a BOM, but that's about it since I don't have the means to pay the exorbitant amount of money required
time: 30m

Update attachment
its_kronos
its_kronos worked on a deleted project
  • finished putting all the keys and colouring, and imported my rotary encoder cap from another project (hackpad), but didn't know which ec11 rotary encoder type comes with hackpad, due to there being so many different variations, so I asked which specific type it is
  • the type is the ec11e
  • since the 3d model on the pcb in the assembly is not an ec11e (and since I couldn't find an ec11e model, just one for a general ec11 encoder) i had to carefully go by the measurements on the datasheet to design my cap
  • spent quite a long time designing the hole for the USBC connector, making it pretty tight with some clearance just incase
Update attachment
its_kronos
its_kronos worked on a deleted project

turns out all the files i found before were just mesh-based too, which wasn't really helpful
learned that all STL files are meshed based, so I will download the STEP file from the github repo instead
Used the step file instead and it worked so much better, and i was able to get a lot of keys placed down, and the keyboard is starting to look really good
image

time: 45m

Update attachment
its_kronos
its_kronos worked on a deleted project

redoing all the keycaps because it is the only way for me to unlink all of them so i can apply the custom colors

found different keycaps for all the u sizes after some searching
the new models for the keycaps were all scaled up and meshes, so i decided to find other ones since i couldn't convert them prismatically (fusion free version sob)
image

after doing some more digging i found different keycap models (we love reddit) which had everything for each row with the link and this included keycaps for different rows, so I decided to restart again for the next session

time:1h45m (mainly because I spent so much time restarting and searching online)

Update attachment
its_kronos
its_kronos worked on a deleted project
  • finished top part of the case, except for the spaces between escape and other keys, arrow keys, etc.
  • I'll add that part after finishing up with the assembly

  • full assembly before keycaps, stabilizers, colouring, and polishing

  • couldn't find a stabilizer model i could use, so i'm going without it

  • added all keycaps, but this took way too long since i was initially moving and copying them one by one before I learned I could use rectangular patterns

  • polished up the top part of the case so that the gaps are filled

(couldn't find keycap sizes for other than 1u)
time ~3h15m

Update attachment
its_kronos
its_kronos worked on a deleted project
  • i'm pretty new to cad so making the case will take quite a bit
  • finished the bottom part of the case with holes for screws

  • added bigger holes at the bottom for the head, with the following sourced M3 screws: screws

  • will be adding the hole for the usbc connector last, so i can align everything in the assembly and put the cutout accurately

Update attachment
its_kronos
its_kronos worked on a deleted project

Setup wakatime for the project in fusion (3d modeling) and kicad (pcb editing) as well as adding mounting holes for M3 screws into the pcb

Update attachment
its_kronos
its_kronos joined Summer of Making
58d ago

This was widely regarded as a great move by everyone.