Coder Social home page Coder Social logo

kobowriter's Introduction

Kobowriter

This small project aims to let you use your old KOBO e-reader (mine is a GLO HD) as a simple, distraction free typewriter.

For years I thought that e-ink was the ultimate medium to write in broad daylight without eye strain or focus fatigue. It seems that others have had the same ideas, as we can see in the Freewrite or Pomera products.

This project brings the same form factor in a considerably cheaper way (especially if like me you already have a KOBO at hand).

Note that the installed software should let you switch between your normal kobo stock software and the KoboWriter one; so your kobo is still usable in its default way.

Because XCSoar USB OTG should work for many KOBO devices (touch, Mini, Glo HD and pretty much all the later ones), this project would work there too. But as of now this program has only been built and tested for the KOBO GLO HD and supports QWERTY and AZERTY (French) keyboards.

How it looks

From face

From side

How it works

The kobo e-readers have a Micro-USB connector to charge and transfer files. With proper kernel modification this USB socket can be used as OTG, letting one plug in any kind of USB device.

Such kernel was compiled by the XCSoar project in order to turn the kobo into a flying assistant supported by an external GPS.

We use their modifications to connect a USB keyboard to the OTG port.

However, the kobo giving no power through its USB socket, the keyboard has to be powered on its own - you can either use a cheap USB otg power cable like this one or modify the keyboard, like I did.

The software lets you use the keyboard to write and edit text files. It's coded in Go, compiled with a toolchain prepared for the KOBO devices, and relies largely on the excellent FBInk library to drive the screen, through its extremely useful port in Go, go-fbink.

Files are saved automatically inside a hidden folder .adds/kobowriter/. The config file and executable are stored here as well.

How to build it

  • Download the kobo build of koxtoolchain on your development computer. This toolchain will let you build Go programs that can run on the Kobo.
  • Extract the downloaded kobo.zip this will result in kobo.tar.gz
  • Extract the kobo.tar.gz and place the resulting x-tools folder in the same folder as this README.md file.
  • Open a terminal and run make

How to install

You can build the software, put it on a KOBO with XCSoar software, and launch it any way you see fit.

You do this at your own risk!

If you do happen to brick your device, there's supposed to be a micro-SD card hidden inside the casing that contains two partitions, one for the firmware and one for your books (you only get to see this one while it's connected to your pc). This at least provides you an opportunity to revive your device, but you'll have to find instructions for this elsewhere.

Installing the XCSoar launcher

  • Download the KoboRoot.tar.gz from the release page
  • Connect your Kobo and place the archive in the .kobo (hidden) directory
  • eject safely, unplug, and let the Kobo update

From now on your Kobo will start up on XCSoar launcher. This build comes with an old prebuild version of kobowriter that uses an AZERTY keybaord layout. You can use this build to check if Kobowriter will work for you at all, as not all keyboards will function. Note that you need USB-OTG to be enabled to detect any keyboard at all.

Installing a new version of XCSoar

The version of XCSoar that we just installed has a few issues, such as the reboot button not working and it not automatically rebooting when changing the OTG setting. So to update to the latest build:

  • Download XCSoar installer for kobo.
  • Start the stock Kobo software by pressing the Nickel button.
  • Connect your Kobo and place the KoboRoot.tar.gz archive in the .kobo (hidden) directory. Make sure it wasn't renamed.

In XCSoar's system menu, there is an Export USB storage button that allows you to transfer files without having to start the Kobo stock software. Note that when copying KoboRoot.tar.gz packages, you need to restart the e-reader to have those installed.

Installing a new build of kobowriter

  • Start the stock Kobo software by pressing the Nickel button.
  • Connect your Kobo again.
  • Copy the kobowriter from your build folder to the hidden folder .adds/kobowriter/ on your device, replacing the file that's already there.
  • Eject safely, unplug, turn-off the device and then restart it.

Starting kobowriter

  • When the XCSoar launcher is started again, press the System button and press Enable USB-OTG.
  • Press Close and then Poweroff.
  • Turn the device on again.
  • When XCSoar launcher is started, press Tools and then KoboWriter to start the text editor.
  • Plugin you powered USB keyboard and you should be good to go ;-)
  • Menu is accessed with the escape button. You can change the keyboard layout to QWERTY here, create a new document, open an old one, or close the software.

Note that while USB-OTG is enabled, you won't be able to start the stock Kobo software. But you need to have it on in order to use the KoboWriter software. Changing the USB-OTG setting requires a restart. If you want to use your Kobo again as an e-reader, you have to Disable USB-OTG, turn the device off and on again and then press the Nickel button.

Installing fbdepth

KoboWriter needs a small program called fbdepth to rotate the screen. Otherwise it will run in portrait mode.

  • Download the FBInk build in the first post.
  • Connect your Kobo again.
  • Extract the KoboRoot.tar.gz in the zip file to the .kobo (hidden) directory.
  • Eject safely & restart

Starting Kobo e-reader software

  • Turn on your Kobo

  • When the XCSoar launcher is started, press the Nickel button, or if that's grayed out, continue with the steps below.

  • Press the System button and press Disable USB-OTG.

  • Press Close and then Poweroff.

  • Turn the device on again.

  • When the XCSoar launcher is started, press the Nickel button

kobowriter's People

Contributors

olup avatar bcmpinc avatar neuhaus avatar

Stargazers

sixeyes avatar

Watchers

sixeyes 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.