Skip to content
SharkPCB
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
artwork [Update] Artworks were scaled to A1 size Mar 29, 2019
bom
case
gerbers
kicadFiles
plate [Fix] Adjusted base plate and made its shark logo plated Apr 15, 2019
protos
renders
sharkLogo
LICENSE.md
README.md [Update] Added embedded viewers for the cases Apr 11, 2019

README.md

Acheron Aχξρων 40-SM-O-MX-TH-WI (Codename "SharkPCB")

Table of Contents

Project overview

The SharkPCB is a freely available, open-source 40% keyboard Printed Circuit Board (PCB) supporting three layouts: full grid, 1x2U spacebar and 2x2U spacebar. All resources and software used to design this board are open-source and/or freely available.

Here's a list of the board's features:

  • ARM Cortex M4-based STM32F303 processor;

  • QMK firmware compatible;

  • USBC type connector;

  • RGB underglow through intelligent integrated controller WS2812B LEDs;

  • Three layout support: full-grid (FG), 1 centered spacebar (1S) and double spacebar (2S);

  • Rotary encoder support;

  • Hardware reset through a push button and reset network;

  • Overcurrent and overvoltage input protection through a fuse and schottky diode;

  • Electrical Static Discharge (ESD) protection through a discharge net.

Additionally, plate gerber files are also available so that the user can order them made from the same manufacturer as the PCBs and out of the same material (FR4, a fiberglass enhanced resin laminate). This makes production cheaper and faster.

There are four plate designs available: one for each supported layout and a universal one that supports all three of them.

FAQ

Is this design functional and tested?

Yes. Version 3.1 was prototyped and is proven to work.

How can I obtain this PCB? Is there an IC or a GB thread?

There is an IC thread on GeekHack, where many users have contributed to the design and given their thoughts. Any help or opinion is highly appreciated. There is also a GB thread on Reddit and a GB thread on Geekhack. For updated information please always check the GeekHack IC thread or this project's page.

Additionally, you can order the PCBs from a manufacturer like JLCPCB (for instructions see this link starting at 1:02:00) and the components from LCSC (how to do that in this link) and build the board. This takes some expertise in electronics though, as the SMD parts require knowledge and specialized tools and supplies. This is why me and Steve hold Group Buys. Also manufacturers generally have a Minimum Order Quantity of 5 or 10 PCBs. Feel free to arranje a group buy with your circle of friends.

Where are you planning to distribute this board?

Steve from WoodCables is handling the GB in the US and I am handling it in Brazil. The UE is not out of the question, and I have some connections there should the european community show interest.

How much will this board cost?

We are aiming at a US$40,00 mark. The prototypes show that this is likely to be achieved.

Will you (or Steve) profit from this project?

I won't profit from it myself, although I retain a little portion of the gains to fund further projects, that is, to maintain prototyping, components and overall design costs. A famous brazilian writer, Millôr Fernandes, once said: "never trust an idealist that profits from his ideals".

Steve, on the other hand, has my permission to use the design commercially, so I'm not entitled to tell him if he should profit and how much, as he runs his own shop. Nevertheless we keep in close contact and it is, obviously, in the best interest of both us and the community that the prices are kept affordable and as low as possible.

Who is funding this project?

I and Steve are -- although mostly him as parts and equipment availability in Brazil is limited. Also anyone that obtains this board either through one of the Group Buys or throw Wood Cables (Steve's shop) will be supporting the project as all gains from the sales and GBs are reserved to be used only with the project.

Can anyone contribute to this project?

Anyone is welcome to contribute, be it through feature requests, opinions or criticisms. This can be done through the GeekHack posts, issues and questions on GitHub or even through my Discord (#Gondolindrim#9738). If you want to actively contribute to the design, feel free to contact me and we'd be glad to have you.

Why open-source?

As I don't intend to profit from this, there is no reason to keep the design closed. I also have the opportunity to contribute to the open-source way of thinking: many heads are better than one. Following these steps I use only open-source stuff to design the keyboards: the ECAD design is made with KiCad, the renders and animations in Blender, the logo design in Inkscape. All these software are run on Arch Linux, which is a Linux distro heavily based on the OSS and KISS principles.

By adopting free OSS tools any newbie makers can take a look and learn from these designs, that is, I also have an educational reason in mind. In this regard, I also have a transparency principle, that is, anyone in the community can contact me and ask questions about the project and the design decisions or the design process. Any maker can also check my designs and points its flaws.

Second, there is also the KISS (Keep It Simple, Stupid!) principle in mind. Since this project is completely un-ambicious, I try to keep it as simple as possible, so that the design and community processes are fluid.

And why publish the design under a share-alike non-commercial license?

The reason for the license is twofold: first, while I want the design to be open-source, that is, educational and freely available, I think it's not just that someone could just take it, make little adaptations (like changing the logos) and profitting from it when the idea of the project is to have the open-source ideas in mind. It's not about myself -- although of course I have some pride in my designs and like to have credit for them -- but about the project ideals.

Second, I don't condemn the idea of commercializing my designs, I'd just like to know who is selling it so that I can have a good quality control.

What resources and software do you use?

All the footprints and symbols are available wither on the KiCad libraries or my MX library, which contains footprints and symbols for some components not available on KiCad.

The design, footprints and symbols are made through KiCad. The 3D models are obtained in sites where the content is free and widely available like 3D Content Central and GrabCad Community, and to edit them I use FreeCAD.

The logos were designed in Inkscape. The base image was taken from this page (last access: 26 feb, 2019). Although stated in the Vector Portal site that the designs are freely available to be used in commercially, I tried to contact the uploader, who goes by the name of "Yohan Plantec" with no success.

The renders and animations are made in Blender.

How can I follow your design process and learn from this project?

I try to stream the design process when I can. I generally do it at tuesdays and thursdays at 3PM PST (8PM BRT). In the streams I answer general electronics questions, and show how the board is designed. I stream at my Twitch channel. The past streams can be seen in my Youtube channel.

Board preview (version 3.1)

Front

Render front

Front

Render back

The custom cases

The folder ./case has the .stp and .stl files for the custom cases being designed, one being a low-profile (switches are exposed) and another a high-profile. The cases are not ready and were not prototyped; also feedback from the community is still underway so we are still setting on some matters before releasing them.

The case was designed in Fusion360, which is not open-source but is freely available. I had a hard time with 3D modelling in Blender, specially because it was not designed to interact with CAD and parts manufacturing; for example, it does not output its files in the STEP format, which is a major problem since that is the standard file extension used in the industry.

Steve and I will soon make an IC post where users can input their feedback. In any case, anyone can contact me directly through Reddit or Discord.

If you want to fork or create a case based on this one, you can check the public links for the low profile and for the high profile cases. With these links you can download the project files like F3D, STL, STEP and so on.

Changelog and version control

See the pictures below.

The prototyped version was V3.1. The plates were ptotoyped with plain square slots, and work perfectly.

Front

Proto front 1

Proto front 2

Back

Proto back 1

Proto back 2

On a Planck lo-pro case

Mounted 1

Mounted 2

Mounted 3

Mounted 4

With mounted switches

Switches 1

Switches 2

Bill of Materials

In the ./bom/ folder there is an .xlsx file that can be uploaded directly into the LCSC site. The file contains all LCSC part numbers, quantities and descriptions.

If you don't want to order them from LCSC, the table below can be used.

Description Value Package Quantity
J1 - TYPE-C-31-M-12 USBC Connector 1
C1 and C2 22pF 0805 2
C7, C9, CRST1, CRST2 4.7nF 0805 4
(Poly)Fuse 1.5A trip 0805 1
R5 and R6 1MOhm 1206 2
Q1 AO4406AL SOIC8 1
CSin1, CSout1, CVBus1-3, CA1, CB1 100nF 0805 7
CVBus4 1uF 0805 1
CVBus5 4.7uF 0805 1
DF1 RB060M-60TR Schottky Diode SOD-123 1
QRST BC846 NPN BJT SOT-23 1
RCC 5.1kOhm 1206 1
RD+ and RD- 22ROhm 1206 2
RD+Up 1.5kOhm 1206 1
RPGate, RB1/2, RA1/2 10kOhm 1206 5
RRST 100kOhm 1206 1
RSGate1 100 Ohm 1206 1
SWRST1 SMD Push Button - 1
U1 STM32F303CCT6 LQFP48 1
U2 MCP1700-330 LDO SOT23 1
Y1 8MHz 4 pin SMD Crystal 5032 1
RGB WS2812B - 8
RL1-RL48 360 Ohm 1206 50
D1-48, DS1 and DRST 1N4148W SOD-123 52
ROT1 ALPS EC11Ex (see note 1) - 1

(1) Any EC11Ex rotary encoder should be fine, as the models differ only on shaft shape and size but their footprints are the same. In the render I used the ALPS EC11E 15244G1.

To-do list

  • Finish the porting to STM32 (as suggested by Walkerstop from GH)

  • Change the grid from 19.05mm (3/4΅) to 19mm as the Planck does (as suggested by garbo from GH)

  • Add RGB underglow support

  • Constructed photorrealistic renders of latest version. (v3.1)

  • Finish SMD design

  • Finished SMD plates (single spacebar, dual spacebar, full-grid and universal)

  • Prototyped SMD design

  • Finish THT design

  • Finish THT plates

  • Prototype THT design

Acknowledgements

Although there is only me actively working on the project design, some acknowledgements are due:

  • Steve from WoodCables. Steve was the proponent of this project and funded it with his own money. He will also take care of the distribution and Group Buys in the US.
  • Gustavo "UndecidedShark" Reinert. As denoted in the PCB, this board was named after him. I take special pride in this as I gave him his nickname.
  • Felipe "MrKeebs" Gonçalves and Raphael "ArcticFox" Hochheim. Dear friends and always up to help with my questions.
  • User garbo from GeekHack, who helped immensely in this design by giving me hints and information, always opinating and giving feedback with christian patience. Walkerstop also helped by recommendations like using the STM32 family of processors and a USBC connector.
  • User u/ajp10204 from Reddit. Now this guy read the README and the documentation thoroughly and pointed inconsistencies and errors several times. He gave me good reasons to make a nice documentation and he helped me immensely by this;
  • Jack Humbert, from OLKB, and ishtob from the QMK Discord Server. Jack was always very amicable and helpful; the 3D CAD files for the Planck Cases and plate came from the QMK parts Git repo. ishtob was always very accessible and helping with some design questions; in fact, some of the footprints and symbols used were based off of some of his own. In this regard many people in the Discord server helped with small hints (like yanfali, Upas and MechMerlin).

License

This project is licensed under the Creative Commons Non-Commercial Share-Alike 4.0 license, available in (https://creativecommons.org/licenses/by-nc-sa/4.0/).

This license allows you to copy and redistribute this project, as long as you give the author credit and have non-commercial purposes. If you have commercial purposes, please feel free to contact me through the channels I disclosed in this README file.

To know more about why I published the project under this license, please look at the FAQ section.

You can’t perform that action at this time.