Jump to content

Haro

Member
  • Posts

    14,360
  • Joined

Reputation Activity

  1. Like
    Haro reacted to Arika in cat thread   
    Turns out the only good photos I have of mine are when she's asleep
     
     
  2. Like
    Haro got a reaction from Skiiwee29 in cat thread   
    I forgot this existed... Again. 😄
     

     

  3. Like
    Haro got a reaction from genexis_x in Motherboard VRM Tier List v2 (currently AMD only)   
    Not good, it's nothing like the ATX version with a worse VRM (compared to it's ATX Counterpart) that's also lacking a heatsink, I'd look at other budget mATX boards, the B550M Pro-VDH, the B550M Aorus Pro-P, the B550M TUF-Plus are pretty good, as well as the B550M Mortar though that tends to go for a bit more than the boards mentioned above. 
  4. Like
    Haro got a reaction from SavageNeo in Motherboard VRM Tier List v2 (currently AMD only)   
    Not good, it's nothing like the ATX version with a worse VRM (compared to it's ATX Counterpart) that's also lacking a heatsink, I'd look at other budget mATX boards, the B550M Pro-VDH, the B550M Aorus Pro-P, the B550M TUF-Plus are pretty good, as well as the B550M Mortar though that tends to go for a bit more than the boards mentioned above. 
  5. Like
    Haro got a reaction from sub68 in Rate the Photo Above you   
    Just a little heads up, I assume you're copying these from Google Photos, if that's the case some people (including me) may not be able to see the picture: 
     
    ^ Like that, so make sure you upload the picture on the forums. 
  6. Like
    Haro got a reaction from adarw in Rate the Photo Above you   
    Just a little heads up, I assume you're copying these from Google Photos, if that's the case some people (including me) may not be able to see the picture: 
     
    ^ Like that, so make sure you upload the picture on the forums. 
  7. Like
    Haro reacted to The Blackhat in Rate the Photo Above you   
    Not a personal fan of the bulb shot, but I like the other two quite a lot. The third could be improved by getting the full…whatever that is, in frame.
     
    A vey old shot of mine.

  8. Like
    Haro got a reaction from sub68 in Rate the Photo Above you   
    Low light shot of my purple G102/G203, it's far from great, considering I shot this handheld with the kit lens which can only go to F3.5 as the lowest aperture, rest of the settings are ISO800, 1/25 at 18mm (or roughly 28mm or so considering it's an APSC sensor). 
    Edit is courtesy of Den-Fi. 
  9. Like
    Haro got a reaction from WhitetailAni in Asus Prime X570-Pro a good choice for an SLI / NVLink build?   
    There's nothing inherently wrong with the board if you want to go for it, the Prime X570-Pro is quite decent and can handle really any AM4 CPU, and yes, the board does have PCIE Gen 4 Switchers and is certified for SLI, meaning it does indeed support it, there's nothing really wrong to point out with it, though do note that the board may need a BIOS update if you're putting a Zen 3 CPU in it, and since it doesn't have the BIOS Flashback functionality you will need an older, supported CPU to update the BIOS. 
    As for the Carbon, don't bother with it, it's an overpriced mess of a board and I wouldn't consider it in the slightest. 
  10. Like
    Haro reacted to The Blackhat in Rate the Photo Above you   
    He was referring to that being the fastest the lens could get and how that’s rather slow so he needed a longer shutter speed in low light which means less sharpness.
  11. Like
    Haro got a reaction from adarw in Rate the Photo Above you   
    Low light shot of my purple G102/G203, it's far from great, considering I shot this handheld with the kit lens which can only go to F3.5 as the lowest aperture, rest of the settings are ISO800, 1/25 at 18mm (or roughly 28mm or so considering it's an APSC sensor). 
    Edit is courtesy of Den-Fi. 
  12. Like
    Haro got a reaction from RockSolid1106 in Rate the Photo Above you   
    Low light shot of my purple G102/G203, it's far from great, considering I shot this handheld with the kit lens which can only go to F3.5 as the lowest aperture, rest of the settings are ISO800, 1/25 at 18mm (or roughly 28mm or so considering it's an APSC sensor). 
    Edit is courtesy of Den-Fi. 
  13. Like
    Haro reacted to RollinLower in Modding my F@H server! (VouwFabriek)   
    Alright, so i'm finally doing something i've been meaning to do for years!
     
    A long time ago, i went and bought a secondhand 4U server chassis. I have no clue what brand or model it is, but after drilling out some rivets and mounting a 360 radiator with some double sided tape it turned into my very first server!
    It started out quite small, but now it's a beast with loads of hardware and top of the line specs!
     
    Right now she's running:
    AMD EPYC 7551
    256GB DDR4 ECC 2400
    SuperMicro H11SSL-i
    Inno 3D RTX 2080Ti
    Nvidia Grid K2 with a noctua fanmod
    Kingston 512 GB NVMe drive
    EVGA SUPERNOVA 1000W G3 with a noctua NF-F14
    Engineering Sample Mellanox 10G SFP+ NIC 
    And of course custom watercooling on all the hot parts.
     
    I've had many, many hardware configurations in this thing, and it always worked like a dream. This case truly was the start of my enterprise tech obsession, and maybe even the reason why i work in datacenters today. 😄

     
    The thing is, even tough the hardware inside is amazing, the outside doesn't really look the part. It's always been an old, secondhand server chassis i got for cheap.
    Here it is in my current rack. It's the middle server without any drive bays.

     
    This buildlog is finally going to change that!
     
    Here's the plan:
     
    Mods!
    - Swap out the front panel for something better looking and less restrictive
    - Swap out the front of the case with a proper radiator mount from a donor case
    - Paint the chassis (outside and inside)
    - Remove all excess brackets from the old case configuration
    - Re-do the watercooling
    - Add easy to use drain and fill ports
    - (maybe) add a PSU shroud
     
    I've already purchased a proper donor case for this. Enter the Zalman T7:

     
    I went with this case for a few reasons. First, this case has a symmetrical front panel, which is almost exactly the size of a 19" 4U rackmount. And because i will place it on it's side basically, this is a very big plus. Second, almost the entire front is mesh, and there are no secondary filters or other stuff to restrict the airflow. Noice! Third, this case has a 360mm radiator mount in the front which i can cut out and mount in the front of my server chassis.
     
    And last but not least: This thing was 35 euro's brand new!
     
    That's it for now, updates as the case arrives and the mods begin!
  14. Like
    Haro got a reaction from GuruMeditationError in Asus Prime X570-Pro a good choice for an SLI / NVLink build?   
    Yes if you want to put it that way. 
  15. Like
    Haro got a reaction from GuruMeditationError in Asus Prime X570-Pro a good choice for an SLI / NVLink build?   
    Keep in mind; X570 only supports Zen+ Zen 2 and Zen 3 CPUs (The latter might not be supported out of the box as mentioned above) so you'll need either a 2000 series, i.e a 2600/2700X etc or a 2000 series APU (APUs end with a G), i.e 2200G/2400G etc, a 3000 Series APU i.e 3200G/3400G or a Zen 2 CPU, i.e 3600/3700X etc, or 4000 series CPUs, otherwise known as Zen 2 APUs, though those may need a BIOS update to work with the board depending on how old it is, since they have a different AGESA code than Zen 2 CPUs who aren't APUs, or 5000 series CPUs and APUs, though again as stated above, those may need a BIOS update to work with the board.
    Both Zen+ and Zen 2 CPUs (except Zen 2 APUs) are guaranteed to work out of the box with X570. 
  16. Like
    Haro got a reaction from GuruMeditationError in Asus Prime X570-Pro a good choice for an SLI / NVLink build?   
    There's nothing inherently wrong with the board if you want to go for it, the Prime X570-Pro is quite decent and can handle really any AM4 CPU, and yes, the board does have PCIE Gen 4 Switchers and is certified for SLI, meaning it does indeed support it, there's nothing really wrong to point out with it, though do note that the board may need a BIOS update if you're putting a Zen 3 CPU in it, and since it doesn't have the BIOS Flashback functionality you will need an older, supported CPU to update the BIOS. 
    As for the Carbon, don't bother with it, it's an overpriced mess of a board and I wouldn't consider it in the slightest. 
  17. Like
    Haro reacted to minibois in eLiXiVy: a 65% mechanical keyboard build log, PCB anatomy and how I open-sourced this project   
    While this topic is relatively image heavy, all pictures together are just over 3MB in size.
    Table of contents (be sure to use Ctrl+F to navigate through the thread):
    [0] Introduction to this project and topic
    Last year I worked on a small 4-key keypad, which I made a thread about a couple months ago. The mini_cardboard project has always been as intended as a prototype and a step towards something larger.
    The mini eLiXiVy is the next step. A 65% size mechanical keyboard PCB with the option of using a rotary encoder, built around an existing case and plate design.

    This project is open source hardware, licensed under the CERN-OHL-S v2 license and this thread will serve as a build log, a bit of a story behind its development and also as an informative piece on the anatomy of a PCB and some information on open-source hardware (licenses) and what that means in this project.
    The source files, full assembly guide and additional information can be found in the repository page: https://github.com/minibois/eLiXiVy
    [0.1] Why the name ‘mini eLiXiVy’?
    Any project you work on deserves a name!
    Similarly to the last project, this name uses 'mini' (the name I generally use online) and a compound name as the second part. While this project started out as ‘mini-65’ (65% being the rough size of the keyboard, relatively to a full size keyboard), later a more creative name was desired.
     
    You may have noticed the three capital letters in ‘eLiXiVy’, being LXV. If you know Roman numerals, you know where this is going already. These letters translate to 50, 10 and 5 respectively and because of their order (being highest to lowest), you count them all up to 65, the keyboard size.
    After brainstorming for some different words to tie these three letters together, I came up with ‘eLiXiVy’, which is mainly inspired by ‘elixir’. That describes a concoction with magical effects and this project has definitely had a grasp over me and my imagination around it. It’s also somewhat inspired by ‘electrify’/'intensify', partially because it goes with the theme of this being an electric project which intensified my motivation and knowledge in the subject, but more so because I wanted a “Y”/”i” sound at the end of the name.

    [1] The premise and description of this project
    The mini_cardboard project was done just before this project, as a proof of concept of the chosen hardware while the eLiXiVy takes this concept and made it into a 65% keyboard.
    To make this a project achievable by myself, this PCB would be compatible with the KBDFans 65% case and plate. At a late stage in the project, I also decided to implement a rotary encoder, which serves as a volume knob.
     
    The eLiXiVy supports the ANSI and ISO standards, in a 65% size. The 65% percentage is relative to a full-size 104-key (100%) keyboard, while the ANSI and ISO refer to the general layout supported by the keyboard. That layout has to do with the type of left Shift and Enter that is supported, which should be well-explained by the image below:

    Made using https://kle-render.herokuapp.com/
    This project can be described as a 65% open-source mechanical keyboard, with an option for a rotary encoder and it's QMK-compatible. That sounds like a complicated description, but throughout this thread it should become a lot clearer what it's all about.
    If anything is unclear, feel free to post with your question(s), but it might be worthwhile to check out [11] Frequently Used Terms and [12] Frequently Asked Questions, which may hold your answer(s) already!

    [2.0] Anatomy of a PCB
    While in the mini_cardboard thread I talked about the various components that make the keyboard work (such as switches, microcontroller, etc.), in this thread a deeper dive will be taken into the anatomy of the PCB and the order of assembly. The printed circuit board (PCB) is the piece of equipment that holds you the components in place, and connects them in the right way together, through its traces.
    Before giving more information on the PCB, it's important to discuss the general anatomy of a PCB first.
    [2.1] The layers of a PCB
    The word ‘layer’ has two meanings in the context of a PCB. A PCB is made off multiple materials stacked on each other, so 'layer' could mean these individual sheets of material stacked together, but more often the word layer is used to describe the amount of copper layers a board has, because the circuit is made on that copper. Care will be taken to refer to the individual sheets of material as sheets and the amount of copper sheets will be layers.
     
    A PCB starts as a sheet of fiberglass (typically FR4), which a sheet of copper is adhered to it. If the copper adhered to one side you have a single-layer PCB and if copper on both sides of the FR4 it’s a double layer board. From there it’s possible to have multiple stacks of FR4 and copper stacked together to create a 4-layer board, 6 layer board, etc.
    For the purposes of this explanation, I’ll talk about 2 layer PCB’s. The eLiXiVy is also a 2 layer PCB, so it makes most sense to focus on that.

    A basic cross-section of a 2 layer PCB would look like this. A sheet of FR4, with a sheet of copper on either side.
    [2.1.1] Copper sheet
    This copper sheet (shown in a gold/yellow color above) is applied to the entire sheet of FR4. By milling away some of this copper, traces are created on the board. Components are soldered to the copper (pads) and are connected to others through a circuit of these traces, according to the PCB design.
    [2.1.2] Soldermask
    The soldermask sheet goes over the copper. This material is used to shield the different copper nets from each other and it is also repels soldertin, to make sure that soldertin flows only to the pads and doesn’t stick to other parts of the board. You will most often see the soldermask on PCB's in green, both in programs and real life. This is done because:
    Human eyesight has the largest colorspectrum towards green, making it easier to design and inspect boards in green Soldermask is from a glass basis, which naturally has a green hue (meaning other colors take more effort to create) As a result of the two reasons above, green is the most ordered color, meaning the economy of scale takes place in making it the universal default choice Other than green, popular choices for soldermask include black, white, blue, yellow and red.
    [2.1.3] Silkscreen
    Silkscreen is an ink that applied overtop the soldermask* which allows the PCB designer to provide graphics or text on the board for various reasons. Typically this is done to:
    Show component names Logos Various markings (i.e. diode orientation or ICSP header pins’ purpose) Typically silkscreen is white, unless a white soldermask is chosen in which case black silkscreen is used.
     
    *Many PCB design programs allow you to export the PCB with the soldermask removed where silkscreen is applied. This is done to avoid a 'stack up' of materials.
    [2.2] PCB anatomy extras
    With a PCB you can only go so far with just traces on one side of the board. A lot of boards are 2 layers of copper or more, which means they have to connect somehow. You might also want screwholes, or expose the copper for a nice look. Let's talkabout those aspect of a PCB. First a diagram of these PCB parts:

    Cross section of a PCB, with special elements added
    [2.2.1] Via
    The purpose of a via is to allow you to connect the top and bottom layers of a PCB together. This is one of the most used elements used in a PCB, as it’s often a necessity to use a via to cross over/under certain traces, or the component you want to connect may be on the other side of the PCB.
    Typically you want to avoid having too many vias, as it can give a messy appearance to the board and it may be more difficult to follow the circuit. Certain components - like the crystal oscillator - don't recommend using vias for its connection, but for most components have a via or even multiple will be just fine.

    Example of the use of a via, used to cross these two traces under another trace.
    [2.2.2] Through hole
    The anatomy of a through hole is similar to a via, though its purpose will be different.
    As can be seen in the graphic above, the soldermask extends over the copper of the via, while with a through hole the copper is still exposed.
    The purpose of a via is merely to connect one side of the board to the other, the purpose of a through hole will be a screwhole or a place a through hole component can be soldered to. Because this through hole may be soldered to, it’s important to expose the copper so there is something to actually solder to.

    When using the through hole as a screwhole or THT mounting point, it may be additionally plated too, to protect the inside of the board and the copper layers. The copper of the through hole may be isolated from the rest of the copper of the board, or deliberately connected to it. When using multiple screwholes, often one will be connected to the copper around it to provide a grounding point. Which is a place electricity can flow through as a type of ‘escape route’ away from the PCB.
    [2.2.3] Exposed copper
    It’s also possible to not apply this soldermask in some spaces, which is known as “exposed copper”. This is often done to make graphics on the PCB, but may have more practical uses too (such as to give an easy to access place to probe with a multimeter). In this project exposed copper is used on part of the logo:

    While the white text is on the silkscreen layer, the gold/yellow color is actually a hole in the soldermask, exposing the copper layer underneath.
    [2.3] Steps when creating the PCB
    A basic step by step for PCB creation (2 layer, seen from one side) would look like this:

     
    This is what is typically done with 'DIY' or 'at home' solutions. Larger facilities employ a different way of working. They still start with a sheet of FR4 and a layer off copper (or two for a 2-layer board) and then the holes (vias, mounting holes, etc.) are drilled in the board.
    The next step is where it really differs from the DIY approach as above. This process is called 'etching' and involves a resistive mask which is printed out and laid over each copper layer. This layer follows the PCB as it has been designed and thus is a resistive layer which goes over top the circuit (what has to remain copper). This will make sure the traces and ground fill(s) will remain, while everything around it can be removed.
    This sheet will now be dipped in an alkaline solution, which removes the layer not protected by this resistive film, leaving you only with the copper traces and ground fill(s). Afterwards a layer of soldermask in your desired color (green is a very popular choice for PCB's) is applied to the entire board, to protect it from the outside.
     
    While there of course are a lot more steps involved in the creation of a PCB, this explanation should serve as an overview and a step towards possibly learning more about the manufacturing of PCB's, should you be interested.

    [3] Designing the PCB
    The way I’d describe making a PCB, or more specifically routing all the traces, is that it’s like solving a puzzle that you’re not sure has a solution yet. First you start by placing down everything you can't move around freely (i.e. the different keyswitch locations, screwholes, etc.) and from there the puzzle starts.
    The puzzle involves placing the freely movable components around and running the necessary traces between all components. There are dozens of way to place the components, hundreds of ways to route everything together and practically millions of combinations of both. This makes this process like a puzzle with no pre-defined solution, but this is also what makes it my favorite part of the process!
     
    Because of the plethora of ways to place/route everything, you can express creativity and a level of organization through your PCB design. Of course it’s possible to just let an ‘auto-router’ do all the dirty work for you, letting it automatically do the routing, but that will often give a messy design and show in your final result.
    This part of the process of working on a PCB can take quite a long time, plus the "80/20"-rule certainly applies here too. 80% of the time will be spent on 20% of the actual outcome. How this applies to the routing has to do with basic connections and making it look neat. It's easy to connect everything together, but making it look nice and having the components in the exact right position is what will take the most time to perfect.
     
    That part of making it look neat is optional of course, you can just run the traces (or do an auto-route) and that's it. In my opinion, in an open-source project you hold a level of responsibility as a PCB designer to make your design easy to follow and open for adaptations/changes. You could look at your PCB as a one-time design which will never be used again, but another way too look at it is as a design yourself or others may take inspiration from in the future.
    Just like when you're cable managing a PC's wires, you are not only making it look better, you're also making it more accessible in the future. While for cable management that means avoiding crossovers between wires and having the wires run in bundles where similar in destination, the same holds true for PCB design.
    If you have traces that go towards a similar end-point (i.e. from the microcontroller to the USB connector, or the different rows/columns) you run them together, of course keeping in mind the general guidelines for the different standards (i.e. not running +5V right next do the data-lines).
    [3.1] The most crowded area
    A keyboard has traces running all over the place. Each keyswitch and diodes need a trace of their own, as well as the different connections on the USB port, etc. Yet undoubtedly the most crowded area on the entire PCB is the area around the microcontroller. The microcontroller becomes the converging point of the PCB, as all rows and columns from the matrix and nearly all USB connections have to meet this component. At the same time, the microcontroller requires a plethora of supporting components, such as capacitors, resistors, etc. which have to be positioned around it.
    Needless to say, that area of the PCB will always require the most effort to first route efficiently and also keep neat. While it is always possible to keep tweaking the design bit-by-bit, at some point it’s time to call it a day with a working design.

    Set to green for easier viewing
    Most traces visible here go to the different rows and columns in the keyboard matrix. These are run together, at the same angles to give it a neater look and making it easier to follow where they're going. With an open-source project, I think it’s personally quite important to make sure the traces are run neatly, with no seemingly random angles or vias. This makes the traces easier to follow, making them suitable for adaptations, changes or just generally inspiration, which would be the main points for an open-source project.
     
    I am glossing over a lot of detail here, as it took hours upon hours to route everything in the way visible here. Becoming proficient at routing is a level I am not at yet, but this board has given me a lot of practice towards any future PCB project.
    Hours of work later this was my final result (well, actually this is rev.1 instead of rev.1a, with minimal changes applied)

    Low quality output of the PCB, higher quality in the Github repository
     
    PCB design is definitely something I can recommend to anyone even somewhat interested in creating things, whether that be mechanical keyboards or something else electronic.
    [3.2] Designing a logo
    The project has a purpose and a name, but I feel like it deserves a logo of some kind too. At the time of making the mini_cardboard, I made a whole bunch of sketches for a platypus (the best animal) logo and landed on this head-on logo used in that project:

    The logo used on the mini_cardboard
    I wasn’t totally happy with that logo, so I went back to the drawing board. After looking at my previous sketches and doing a few more, I landed on an idea I wanted to develop further. After measuring the room I had for the entire logo, I started to work on a design.
    [3.2.1] The trouble with exporting
    Pictures come in (mainly) two formats, rasterized or vector based. The former is made from pixels with the more pixels the more detail. Vector images are made from mathematical calculations to decide the shapes. While that may sound complicated, it just means that vector images can be scaled indefinitely without losing any quality and can be exported to any pixel size.
    This is great for logos where you don’t know what size they will appear at (small on a PCB, large on a webpage, etc.).
     
    The issue with images and KiCAD is that KiCAD only supports the import of raster images, which meant I had to export from Inkscape and import to KiCAD. Through these actions, the image usually ended up being too large or too small. Luckily that is when I found the Inkscape extension Svg2Shenzhen.
    [3.2.2] Svg2Shenzhen
    Svg2Shenzhen is an open-source extension for the vector-based drawing program Inkscape, that allows you to create something in Inkscape and directly export it to a KiCAD file: https://github.com/badgeek/svg2shenzhen. As explained in section [2.1] this PCB consists of two layers, both with different sheets of material.
     
    With my mini_cardboard project, the logo was only on the silkscreen section. With this project I wanted to have exposed copper too. Svg2Shenzhen made this extremely easy. I just had to set the right size (in mm*mm) and tell it what layers had to be influenced. In the case of this logo, I wanted to work on the front silkscreen layer and the front soldermask sections (to ‘cut’ part of the soldermask out). That left me with this picture:

    The exposed copper/open soldermask is shown in orange to visualize the different parts, in actuality it had to be set to black to properly export
    With this image, I could export this to KiCAD and have a ready made silkscreen + exposed copper logo:

    How it looked exported to KiCAD, with the white being silkscreen and the gold/copper color being exposed copper.

    [4] Assembling the project

    It was great to receive the boards in the mail! It meant I could hold something in my hand, that I had worked on for the past months.
    Assembly of this PCB was very similar to the mini_cardboard, as the eLiXiVy used mostly the same components. The assembly is explained in a lot more detail in the dedicated assembly guide on the Github page, but in short it involved:
    Soldering the main components to the board, so it’s ready for basic operation Testing between each component Flashing the bootloader and firmware to it, to test it out on my PC Placing the stabilizers in place Soldering in the other components (switches, rotary encoder, etc.) Placing it all in the case [4.1] Prior experience
    Because I’ve already put together two mini_cardboard boards I had some experience with most steps. The first mini_cardboard I assembled was unfortunately not properly tested, meaning the microcontroller got burned out. During the second mini_cardboard assembly I paid much more attention to testing, which I once again did during this assembly.
    [4.2] Differences
    Most elements in assembly were the same between what I’ve done already and this build, with the main differences being:
    More components to solder in place (i.e. more switches and diodes) Different components compared to last time (i.e. USB Type C, instead of mini USB) USB Type C was probably the component to get the most used to. While on paper it’s the same as mini USB, except with some more pins, that brings with it some difficulty in assembly. The pins are recessed more, leaving less space to reach them with the iron and soldertin.
     
    Another issue with USB Type C is that the through-hole pins are not as tall as the board is thick, meaning they don’t stick out through like the mini USB port does. Soldering the USB Type C through hole pins only from the bottom is not enough for a port that needs some good endurance. After adding soldertin from the other side of the board too, it had enough stability though.
    [4.3] Stabilizers
    As I hadn't put together a full mechanical keyboard in the past, stabilizers were something I wasn't very familiar with.
    As the name implies, stabilizers stabilize the travel of larger keys - such as Space, Enter and Backspace - as without stabilizers the feel on one part of the keycap would feel different than pressing it in the middle.
    A stabilizer consists of a couple parts, namely a wire and a pair of stems and housing. When put together, there is a lot of plastic to plastic and plastic to metal contact which can create a rattle sound and an inconsistent feel. This is why people use lubricants on their stabilizers.

    Keycap for scale
    You will want to apply lubricant to the inside of the housing and the wire, but which type and what amount is very much up to personal preference. As I had not done this before, it definitely took quite a bit of time (and trial and error, of applying lubricant, trying out the stabilizer and adjusting when needed).
     
    Assembly took a little over a workday and a half, but I believe it can be done quicker without taking as many pictures as I did and with the knowledge I have now.
    I’ll definitely assemble another board and update the time requirement based on that!
    More pictures can be found in [6]!

    [5] Open sourcing a project
    When you make your project open source, you give people the ability to look at and learn from your experiences. There are multiple reasons to do this, such as to further the knowledge in the subject, get criticism on your design(s) or in an attempt to have someone else manufacture your designs should you be unable to do so.
    Before you open source your project, you should ask yourself some questions first though.
    What do you want people to do with your designs? Can they monetize and/or change them? How should the credits be handled? Can people just take your design, or do you require them to credit you? Can people take your designs, adapt them and not make their design open-source? These are questions you should think about before making your project open-source, but probably the most important question to ask yourself is if you’re okay with people copying your project?
    One of the bullet points on the Open Source Hardware Checklist has a perfect way of describing this: 
    “Are you emotionally prepared to allow your project to be copied?”
    https://www.oshwa.org/wp-content/uploads/2014/08/Open-Source-Hardware-Checklist-1.pdf
    After answering the above question - and all further questions in the checklist - it’s possible to apply the Open Source Hardware logo to your project, but also time to consider what sort of license you want to apply to your project.
    [5.1] Choosing a license for your project
    A license describes the rights and obligations someone has with the source files in your project. There are dozens of different types of licenses, allowing you to choose a license perfect for your project. While it’s possible to write up your own license, it is generally recommended to use an already existing license.
    Most of the larger/existing licenses have contributions from dozens if not hundreds of people, meaning there are years of experience with different situations applied in the writing of the license.
     
    Another reason it’s recommended to use an existing license is because it ensures someone can easily and quickly get an idea of the type of rights/obligations applicable to your project.
    There are websites that help you choose a license best for your project, such as https://choosealicense.com/. This website helps you choose a license, through a couple simple to follow characteristics of the license.

    Not all licenses are listed on that website though. One license not mentioned on their website is CERN’s Open Hardware License (CERN-OHL for short): https://ohwr.org/cernohl.
    CERN-OHL is specifically targeted towards hardware projects, with its inclusion of hardware specific points, such as warranty (or lack thereof), complete source (including PCB and schematic files) and mentions about providing a complete source to anyone buying a product manufactured based on a CERN-OHL licensed design.
    [5.1.1] CERN-OHL v2 versions
    CERN-OHL version 2 has three distinct versions, making it suitable for a wide range of projects: https://ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2
    Other than CERN-OHL-S - which was chosen for this project, there is also CERN-OHL-W and CERN-OHL-P. The differences between these licenses lies in the way others may use your designs.
    CERN-OHL-S may be described as the most strict version. It requires anyone who adapts your design to distribute the full source files and requires them to also apply this license to their project. CERN-OHL-W is less strict, not requiring them to fully redistribute the original source files. CERN-OHL-P however is quite open, leaving it open to the person taking the design whether they want to open-source their project or not (and under whatever license they want). This is a very general overview of the licenses, for much more information you should check out the link above.
    For the eLiXiVy project, the CERN-OHL-S v2  license was chosen, as I wanted to allow anyone to make whatever changes they wanted, but also wanted to make sure any adaptations were equally open-source. While rev.1a doesn't have this, rev.1 of the board (the 'full release') has a mention on the board to make people aware of the license used for the board. This is per the guidelines of the license itself.
    [5.2] Licenses for other documents
    While the PCB and schematic files have the CERN-OHL-S v2 license, this license may not be suitable to all types of files in the project.
    This ‘build log’ document and the assembly guide document have been licensed under the Creative Commons Attribution-ShareAlike 4.0 International license (CC BY-SA 4.0 for short).
     
    This license allows anyone to share, copy, redistribute, adapt, remix or transform this document, as long as any adaptations are properly crediting the original document and so long as the same CC BY-SA 4.0 license is applied to any adaptations: https://creativecommons.org/licenses/by-sa/4.0/ 
    While it may seem tacky or weird to use specific licenses on a project, document or especially a forum post, it does make sure people are aware of what they can and cannot do with the files provided. This removes any ambiguity in sharing, downloading and adapting the given, which is especially important for an open source project.
    [5.3] The files and documents for an open source project
    When releasing a project to the public it’s important to have the right files and documentation available.
    For this project, the files and documentation included were:
    PCB (source files, image and .PDF) Schematic (source file, image and .PDF) License (project’s license info and full license) BOM (Bill of materials, in website-link, .txt and .xlsx formats) Assembly Guide (.PDF and .docx, the former for reading and the latter for any adaptations) Layout files (.PNG and .JSON) Keyboard’s keymap / Firmware files (.hex and full source) Images (to show the PCB, schematic and final project, to include in the information/README file) [5.3.1] PCB and schematic
    Including these is a given, as they are the main part of the project. These are included in their full source version, so people can view, adapt, change and learn from them. A .PDF is also included, so people can more easily and quickly view the files. The schematic was - after first getting it in a working state - made to properly fit an A4 sheet of paper, for easier viewing and optional printing.
    [5.3.2] BOM (Bill of materials)
    The BOM describes the components required to build the project, so people know what components are needed to put the project together.
    This project includes an online BOM through Octoparts (which shows the pricing and availability at various vendors), as well as a local file in the .txt and .xlxs (Microsoft Excel) formats.
    Optional components should be marked on the file, preferably with a mention to a chapter in the assembly guide, so it is clear what is required, what is optional and why it is optional.
    Tools can be mentioned on the BOM too, but it was chosen to include these in the assembly guide.
    [5.3.3] Layout, firmware and assembly guide
    There are a lot of choices that can be made when building a keyboard, which is why it's important to clearly show what the PCB is capable of. To make clear what the PCB is capable of the project should include layout files (in .PNG and .JSON file types) to describe what type layout of switches and other peripherals the PCB can be used with.
    In the case of a mechanical keyboard PCB, it describes (with this project's description in parenthesis):
    The type of switches that can be used (Cherry MX-like) The type of stabilizers that can be used (PCB mount) Whether a plate is required/compatible (Yes) What keyswitch layouts can be used (ISO/ANSI and what type of bottom row configurations) Any other peripherals (a rotary encoder in the top right) This layout file is accompanied by a firmware file, suitable for the board. In the case where multiple layouts are supported (i.e. ISO and ANSI) multiple files should be included. This layout file can be edited should the default layout not be suitable. This can be done through the QMK Configurator website, as described in the assembly guide.
    [5.3.4] Assembly Guide
    Of course a PCB and a pile of components don’t make a keyboard. These components have to be installed on the board in the correct way to make it a full project.
    The assembly guide not only describes the needed tools and supplies, but also takes care to explain how they are installed on the board. The eLiXiVy project includes a 34 page assembly guide, to explain how it can be installed. Depending on the expected audience, the assembly guide can have different levels of detail. This assembly guide was written with someone in mind who maybe assembled one or two project(s) already and has some familiarity with different soldering techniques (I wouldn't recommend this project for a first-time solder project).
     
    A checklist of what components have to be installed in what order is helpful too, so people can take care to make sure everything is installed (including with the right value). Including a warning is helpful too, since it’s never known what level of skill of knowledge the person following the guide is. Soldering brings some inherent risks - especially when using the easier to use leaded solder - which people should be made aware of.
    Soldering is essentially melting metal to adhere the component to the PCB, so the iron itself and the solder should be handled with care. The soldertin includes flux too, which helps the soldertin flow to the parts and PCB, but the fumes are not good for your health. When someone takes on the project, they assume all risks for themselves and have to handle it with the level of care they deem appropriate.
     
    This included assembly guide has also been licensed under CC BY-SA 4.0, to make it suitable to be adapted by other PCB creators (provided the same license is applied and credit is given to the original).

    [6] Final Product and Pictures
    Here I will show some pictures of the PCB and final result, which didn't fit anywhere else in the thread.
    [6.1] (Rough) Pricing
    The bill of materials can serve to show a rough estimation of the price of the project: https://octopart.com/bom-tool/allQRgda.
    It only serves as a rough estimation though, because of a couple reasons:
    Not all prices included: while many components are fully on Octoparts, some components are not on the website or don't have a price listed Pricing changes: the BOM is not fully comparable in price to what I paid, because some components (especially the microcontroller) have gone up a lot in price Economy of scale: some components are only available in larger quantities, or are cheaper that way. The BOM only includes the price for a singular component.  Variety in options: especially for things like the keyswitches and keycaps the pricing can vary a lot. While I probably spend about €30,- on switches and €30 on keycaps, you can spend double, triple or even more on either. Tools and supplies: there are quite a few tools and supplies required (such as an iron, multimeter, soldertin, flux, etc.) which are not included on the BOM, because there are so many options available. What you have already can greatly influence the price of this project (I personally probably spent about the same on tools and supplies as I did on all the other stuff) So while the BOM mentions €~134, it’s probably closer to €200,- not including the tools and supplies (which were probably around €250,-). If you were looking to do a project like this to save money over buying a pre-built keyboard, this is definitely not the project for you.
    My motivation for this project comes in multiple parts. The most important one was probably my motivation to learn more about what goes into a keyboard and my interest in learning how to solder. Another part of my motivation came from what I can only describe as an enjoyment in designing the keyboard in the PCB software, especially placing the components and even more routing it all together.
    [6.2] Availability of parts
    Most of you are probably aware of the chip shortage, mostly notable seen in the graphics card market. This has led to extreme pricing and delivery times for these devices.
    The chip shortage has had an effect on the components in this project too. This project uses the atmega32u4 microcontroller, which has had difficulty staying in stock the last year. With stock levels at or near zero and lead times of a year or more, that is probably the most difficult component to get your hands on. Fortunately I had already stocked up on this component, meaning my build could go through.
     
    A certain morning I made up my cart with my vendor of choice and when I was going to make the order that afternoon one of the components on that list - the ESD chip - was unfortunately not available anymore. I was able to find an equal component, which required no changes to the PCB as a replacement.
    Not sure which Reddit community had this as sticky post, but it basically said “Purchase the components before designing the PCB”. That very much holds true now, seeing the lack of availability for certain component ranges.

    [7] Things I would do differently in the future
    Whenever you’re at the end of a project, there will always be things you wish you had done differently.
    Starting a project with the knowledge you have at the end would be the best, but the only way to get the knowledge is through experience in your projects. To me, it’s impossible to finish up a project and not have any regrets about not doing things another way.
    Things like a "must have, should have, could have" list for example, detailing what this project absolutely has to have and things I could implement in the future, to not overwhelm myself with feature-creep.
    [7.1] Work with hardware limitations, instead of around them
    The main thing I’d do differently in the future is work with the physical limitations opposed on the project. At the very start of the project I knew I wanted to use a pre-existing case and plate. It would've been wise to determine the PCB size and location of the screwholes, before doing anything else. Instead, that was a task left towards the end of the project, meaning some pieces of the circuit had to be reworked to make room for these screwholes. These physical limitations make sense to implement right at the start.
    [7.2] Finishing projects
    One of the most important things to keep in mind when working with a project, is knowing when to say it’s good enough to go forward with it. It is often said “80% of the time is spent on 20% of the project” and that is something I can definitely say is true. The last week or two of this project were just spent on changing the location of some of the traces, while I should’ve called it a day before that. It’s one thing to spend time polishing the design, but it’s another thing to postpone and procrastinate out of nervousness on just calling it a day.
    There is also time for a second revision to polish the design, at some point it’s time to make something your first revision and see what to improve later.
    [7.3] Importance of revisions
    That is where rev.1a of this project came in. The name means it's the first alpha revision of the PCB (alpha as in not a beta/full release yet). This rev.1a is the PCB I assembled and typed this thread on. As said above, you’ll always find things to improve or change later, but you’ll never find these things to change if you don’t get a hands-on experience with the PCB (and/or share it with others). Things generally went pretty smooth during assembly. The only things I found out to not work well was the location of the diode for the spacebar and backspace for equal reasons.
    The diode (when installed on the front of the board) was interfering with the stabilizer’s wire. The fix in this case was installing the (through-hole) diode on the back and cutting its legs as short as possible.
     
    rev.1 tackled this oversight by moving the backspace diode down and the spacebar diode to the side of the spacebar keyswitch:

    Another change made was to the ICSP header, which is the header that allows you to burn a bootloader to the atmega32u4 chip. In rev.1 it has been flipped horizontally, meaning it now follows the default pinout:

    Notice the silkscreen markings are mirrored

    Off-topic: the common abbreviations for ‘version’ and ‘revision’ and ‘ver’ and ‘rev’ respectively. Abbreviations that are opposite in writing, yet equal in meaning.

    [8] What I learned and a Conclusion
    This project has taught me a lot of things. While the previous project was me getting to know KiCAD, basic keyboard concepts and doubts about the circuitry, this project has given me a lot more confidence and knowledge about KiCAD and given me a better grasp on the different components that go into a keyboard (and other electronics).
     
    The change from mini USB to USB Type C was a tough one. Mini USB only has 5 SMD pins (1 of which goes unused), while USB Type C has 12 (2 of which go unused). It still deals with the same +5V, GND, D+ and D- concept, yet with double the pins for all of these (to allow a USB Type C cable to be plugged in both ways). Plus, there are also the CC pins that have to be accounted for, so the device is fully compatible with the USB IF’s specification of USB Type C.
     
    While working on the mini_cardboard, a 65% keyboard was the end-goal I had in mind, but after working on both projects it definitely has given me a lot more ideas, motivation and aspirations for more. 
    This is my second custom PCB project, but definitely not my last project, by far not!

    [9] Credits and thank you’s!
    ai03’s PCB guide served as an invaluable source of information for the mini_cardboard and still served as the basis for the eLiXiVy: https://wiki.ai03.com/books/pcb-design/page/pcb-guide-part-1---preparations
    Just like with my previous thread, I want to thank Eschew’s Introduction to Custom Mechanical Keyboards for the inspiration for the chapter codes: https://linustechtips.com/topic/1214368-an-introduction-to-custom-mechanical-keyboards/
    Thanks 🍑 for answering even the silliest of my questions and for all the support along the way
    Thanks to all the contributors and volunteers over at qmk_firmware and qmk_configurator for helping me along with getting this board in the qmk project/configurator!
    Thank you for reading this topic 🙂 Any (constructive) criticism on the project or this topic is highly appreciated
    [10] (Re)sources / Further reading / Links
    [11] Frequently Used Terms
    [12] Frequently Asked Questions
    Feel free to ask questions, but consider checking if your question has been covered in this section already.
    [13] License
    While it may look tacky or silly to have a license on a forum topic, I’ve decided to apply a license to each part of this project, to provide clarity on how each part may be used, adapted or shared.
     
    This thread - much like the assembly guide - is licensed under the Creative Commons Attribution-ShareAlike 4.0 license (CC BY-SA 4.0).
    The short explanation of this license can be found here: https://creativecommons.org/licenses/by-sa/4.0/ 
    and the full license can be found here: https://creativecommons.org/licenses/by-sa/4.0/legalcode
    Under this license, you are permitted to share and adapt this content how you see fit, provided you credit this guide and use the same license (CC BY-SA 4.0).
     
    [14] Changelog
  18. Like
    Haro reacted to The Blackhat in Rate the Photo Above you   
    One of my favorite cameras I have ever used, the Nikon FE is just a beautiful piece of equipment. Can’t wait to go take some shots with Portra 400.

  19. Like
    Haro got a reaction from adarw in cat thread   
    Dips being goofy and occupying my chair so I don't get to sit on it. :3
     
     
     

     

     

  20. Like
    Haro reacted to adarw in Rate the Photo Above you   
    wow! these pics are as beautiful as your cat 🙂 10/10
     

  21. Like
    Haro reacted to RockSolid1106 in Rate the Photo Above you   
    Wow, that seems pretty good! I'd give it an 8.5 because most of the parts of the shot are out of focus.
     
    I'll rate this a 6/10, for the lack of a real subject. No flower is really centered, or at least partly centered, which would've made it more like a focus on the flower. rn it seems like a weird crop of some image. (IMO pls)
     
    So here's mine:
    Nikon D3500, ISO 250, f6.3, 300mm

     
    PS: 
    Yet you seem better than me lol
    I'd give the first two of your shots a solid 10/10.
    1st one: Dont know but some part of me really likes the soil.
    2nd one: The blurred trees look pretty good! The lower part seems a bit empty though.
     
    The bokeh effect seems perfect and I really like it!
    For the third shot though, the fur near the cat's ears seem to have messed up a bit.. IDK, but they look weird to me. I'd give that one a 9.5.
  22. Like
    Haro got a reaction from adarw in Rate the Photo Above you   
    I've only recently gotten into photography, in mid May or so, and these are some of my more recent shots. 
     

     

     

     
    Shot with a Canon EOS 2000D, using the kit 18-55. 
    First one was shot at 1/200, ISO200 at F3.5. 
    Second was shot at at the same exact settings coincidentally. 
    Third was shot at 1/320, ISO100 at F4.5. 
  23. Like
    Haro got a reaction from RockSolid1106 in Rate the Photo Above you   
    I've only recently gotten into photography, in mid May or so, and these are some of my more recent shots. 
     

     

     

     
    Shot with a Canon EOS 2000D, using the kit 18-55. 
    First one was shot at 1/200, ISO200 at F3.5. 
    Second was shot at at the same exact settings coincidentally. 
    Third was shot at 1/320, ISO100 at F4.5. 
  24. Like
    Haro got a reaction from sub68 in Rate the Photo Above you   
    I've only recently gotten into photography, in mid May or so, and these are some of my more recent shots. 
     

     

     

     
    Shot with a Canon EOS 2000D, using the kit 18-55. 
    First one was shot at 1/200, ISO200 at F3.5. 
    Second was shot at at the same exact settings coincidentally. 
    Third was shot at 1/320, ISO100 at F4.5. 
  25. Like
    Haro got a reaction from soldier_ph in cat thread   
    Dips being goofy and occupying my chair so I don't get to sit on it. :3
     
     
     

     

     

×