Giter Club home page Giter Club logo

telophase's Introduction

Telophase Keyboard Firmware

Firmware for Nordic MCUs used in the Telophase Keyboard, containing the necessary hex files. This firmware is a derivative of reversebias' mitosis firmware. https://github.com/reversebias/mitosis

These instructions are for flashing hex files to the boards via OpenOCD using an ST-Link programmer. This process has been tested on Windows 10 and Linux. Alternatively, one could use NRF Studio Go and a J-Link/J-Link EDU, or the nrfjprog utility. On the Telophase/Meiosis/Helicase/Centromere, there is a 4-pin 2.54mm header that one can program the boards by either soldering a right angle header or using a pogo pin adapter without soldering.

OpenOCD server

The programming header on the side of the keyboard, VCC (3.3V) is at the outside edge:

SWCLK
SWDIO
GND
3.3V

It's best to remove the battery during long sessions of debugging, as connecting non-rechargeable 3V lithium batteries to a potentially higher-voltage source isn't recommended.

Launch a debugging session within a terminal inside of your working directory where the hex files are located:

openocd -f nrf-stlinkv2.cfg

Should give you an output ending in:

Info : nrf51.cpu: hardware has 4 breakpoints, 2 watchpoints

Otherwise you likely have a loose or wrong wire.

Manual programming

From the factory, these chips need to be erased. Now open a new terminal window in the folder with your hex files and run the following commands:

echo reset halt | telnet localhost 4444
echo nrf51 mass_erase | telnet localhost 4444

From there, the precompiled binaries can be loaded:

echo reset halt | telnet localhost 4444
echo flash write_image `readlink -f keyboard_left.hex` | telnet localhost 4444
echo reset | telnet localhost 4444

An openocd session should be running in another terminal, as this script sends commands to it.

Programming via scripts

There are scripts in the hex file directory to flash the boards. Open a terminal window and start OpenOCD as above. Open a second terminal window, and run the appropriate script for your receiver type, or the half of the keyboard you are flashing:

./program-receiver.sh

telophase's People

Contributors

southpawengineer avatar

Watchers

James Cloos avatar Jarred Steenvoorden 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.