GithubHelp home page GithubHelp logo

gkeyboard / mikoto Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zhiayang/mikoto

0.0 0.0 0.0 21.68 MB

Bluetooth LE nRF52840 microcontroller in a pro-micro footprint.

License: Apache License 2.0

HTML 100.00%

mikoto's Introduction

みこと

nRF52840 microcontroller, in a pro-micro footprint, inspired by the nRFMicro and nice!nano.

See the changelog for the revision history (and compatibility)

picture

what

  1. VDDH power path (5V USB power, and/or 3.7V Li-ion battery)
  2. software controllable battery charge current (off, ~100mA, ~250mA, ~350mA)
  3. ESD protection on USB lines, and 500mA fuse protection for VBUS and EXT_5V
  4. "Bidirectional" power over EXT_5V

The charger IC is "software controlled"; there are two pins (P0.26 and P1.15) that can be toggled (for a total of 4 combinations) to control the charge current. If they are both high-Z (floated), is disabled.

There are also two additional through-holes (the small ones below the USB connector), marked B and G (on the back side); these are B+ and B- respectively, in case you want to solder the battery leads directly to the board.

Note that the project files require KiCad 6.0.

ext_5v

The EXT_5V pin acts both as a power input and a power output; normally it is an input. When VBUS is high (ie. USB is connected), it will output VBUS (minus a schottky drop, ~0.3V).

EXT_5V is connected to the battery charger, so if you wire your TRRS (for split keyboards) to it (instead of a 3.3V VCC line), you can charge the battery on both halves by only plugging in one half to USB.

production & assembly

Since the design contains a controlled-impedance trace (namely the antenna feed), it is specific to a given stackup from a given manufacturer. The current design files are optimised for JLCPCB's 4-layer 7628 stackup.

read: if you choose to use a different (1) board thickness, (2) manufacturer, or (3) stackup, you must modify the design accordingly to change the antenna feed (either trace width, plane separation, or both). The antenna feed uses a grounded coplanar waveguide design.

Figure 1: the antenna feed

The PCB should be manufactured with an ENIG surface finish, but it has been tested with HASL boards (run a solder wick over the pads first). All components are 0402 (1005 metric) or larger, and can be placed by hand without magnification. A stencil is mandatory — get a 100µm (0.1mm) thick one.

It's a good idea to get an electropolished stencil if you want to paste more than one board at a time, otherwise you will probably need to completely clean out the stencil before pasting another board.

All prototypes are assembled with Chipquik SMD291AX T4 solder paste.

There's no "component silkscreen" on the board except 4 lines to align the nRF chip, so use ibom.html while placing parts. It is generated using KiCad's excellent Interactive BOM plugin.

software

ZMK now has support for mikoto, as of this PR, and so does the Adafruit nRF52 Bootloader, as of this PR. Thanks to @mrninhvn for both of those. A binary version of the bootloader (0.6.3) can be found in misc/bootloaders/.

license

Licensed under the Apache 2.0 license, see LICENSE.

If you encounter any problems, feel free to open an issue on this repo. However, I am not obligated to provide any support, and you undertake any assembly/manufacturing/purchasing at your own risk.

on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.

In no event and under no legal theory, ..., shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work.

mikoto's People

Contributors

zhiayang avatar mrninhvn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.