Skip to main content

NeoTools

Command-line tools for AlphaSmart NEO.

This project aims to provide common functionality like file management, as well as access to the low-level system details. The device driver has been ported from AlphaSync.

Commands

Read file by index.

> neotools files read 1
Once upon a time...

Read file by name. Enter the name as it appears on your Neo, without extension.

> neotools files read intro
Introduction: ...

Read file in another language. This is an advanced option to apply a character map that matches the layout of a language font file.

> neotools files read --charmap ua-mac 2
Чув я, чи то снилось мені
Що існує країна мрій
В той країні росте чарівний гай
В гай той може кожний ввійти

Copy all files to the directory, preserving their names. It supports the option charmap too.

> neotools files read-all --path archives/
> ls archives
'File 1.txt'    'File 3.txt'    intro.txt

Write file to Neo. It can write both by index and file name. It supports the option charmap too.

> neotools files write notes.txt 1
> neotools files write intro.txt intro

Get system information.

> neotools info
{
  "revision_major": 3,
  "revision_minor": 17,
  "name": "System 3 Neo      ",
  "build_date": "Jul 11 2013, 09:44:53",
  "free_rom": 1022224,
  "free_ram": 351744
}

Get the installed applet files from the device.

# Pass applet id and the path where to write the applet
> neotools applets fetch 40967 ControlPanel.OS3KApp
> neotools applets fetch 0 romdump.os3kos

Analyze applet files.

> neotools applets inspect ~/projects/AlphaSmart\ Manager\ 2/SmartApplets/ControlPanel.OS3KApp
{
  "applet_type": "Applet program",
  "header": {
    "signature": 3237998253,
    "rom_size": 27412,
    "ram_size": 416,
    "settings_offset": 0,
    "flags": 4278190208,
    "applet_id": 40967,
    "header_version": 1,
    "file_count": 0,
    "name": "Control Panel",
    "version_major": 1,
    "version_minor": 0,
    "version_revision": 55,
    "language_id": 1,
    "info": "Copyright (c) 2005-2012 by Renaissance Learning, Inc.",
    "min_asm_version": 0,
    "file_space": 0
  }
}

Install applets.

> neotools applets install ~/projects/AlphaSmart\ Manager\ 2/SmartApplets/ControlPanel.OS3KApp
Are you sure you want to install an applet? This is an experimental feature. [y/N]: y
Installing applet Control Panel
Initialization for writing the applet
Initialized writing the applet
Started writing applet content
Completed writing applet content
Finalizing writing the applet
Finalized writing the applet

Remove all applets.

> neotools applets remove-all
Are you sure you want to remove all applets? [y/N]: y

Inspect applets and manage their settings.

> neotools applets list
[
  {
    "name": "System",
    "applet_id": 0,
    "rom_size": 401408,
    ...
  },
...
> neotools applets get-settings 0
[
  {
    "label": "Auto Repeat (16385)",
    "ident": 16385,
    "type": "OPTION",
    "value": {
      "selected": "On (4097)",
      "options": [
        "On (4097)",
        "Off (4098)"
      ]
    }
  },
...

Update system applet settings. Set idle time to five minutes.

> neotools --verbose applets set-settings 0 16388 5 4 59

Installation

Linux

  1. Confirm that you have Python 3 on your machine.

  2. Install neotools from the Python package repository with:

    pip3 install neotools

Mac

  1. Install a package manager Brew.

  2. Install libusb, a cross-platform library to access USB devices:

    brew install libusb

  3. Install neotools from the Python package repository with:

    pip3 install neotools

Troubleshooting

Access denied

usb.core.USBError: [Errno 13] Access denied (insufficient permissions)
A simple way to fix it is to run the command with sudo. However, it is better to give granular udev permissions to neotools. Add the following rule to the udev rules, into, for example /lib/udev/rules.d/50-alphasmart.rules.

For systems based on Debian:

ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="081e", ATTRS{idProduct}=="bd01", MODE="660", GROUP="plugdev"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="081e", ATTRS{idProduct}=="bd04", MODE="660", GROUP="plugdev"

Make sure that your user is a member of the plugdev group.

For systems based on Arch:

ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="081e", ATTRS{idProduct}=="bd01", TAG+="uaccess"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="081e", ATTRS{idProduct}=="bd04", TAG+="uaccess"

Attempting to enter the Updater Mode

The device displays this message and is not responsive. This happens when there are no applets installed. It is normal after running the Neotools command applets clear. To resolve the problem, install an applet, for example, AlphaWord or ControlPanel.

Metadata

Release files for neotools 0.3.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neotools 0.3.6
File Size Uploaded
neotools-0.3.6.tar.gz 40.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for neotools 0.3.6
File Interpreter ABI Platform
neotools-0.3.6-py3-none-any.whl Python 3 none any Details

Total release size: 83.7 kB

Release files / neotools-0.3.6.tar.gz

Download URL neotools-0.3.6.tar.gz
Size 40.5 kB
Tags Source
SHA-256 checksum
How to use checksums
72cf1d86e5fda7e71149b2c9b6e99cf3f6fcf1d33d097fff890264ab5e166791
BLAKE2b-256 checksum
How to use checksums
0d0d4535c29d4f049498b5bcd3e7ef0819890ae204f39843d1a0fa2b3633b1e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release files / neotools-0.3.6-py3-none-any.whl

Download URL neotools-0.3.6-py3-none-any.whl
Size 43.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67b457971ada5640fee2c2d0875dcbacd4bbe8a3ecb07a48ce78435a0d9c994e
BLAKE2b-256 checksum
How to use checksums
160f68d3698ff4664ea5fdfad1b552107b3e9c8a1ab6466b11f665e8efda7e93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.3.6 This release

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page