foriequal0/devterm_keyboard

Improve installation instructions

Closed this issue · 2 comments

Step 3 says just “verify and upload.” Can we get some more clear details on how to connect to the keyboard? Should DevTerm be disassembled?

Hi!
They are very standard procedure for an Arduino project. Also, as an non-professional individual developer, I found that it is very difficult to provide up-to-date, and accurate documentations on the fast-changing, and somewhat fragmented ecosystem, especially when you target the very beginners. So they were intentionally left concisely.
I think some of these basic instructions about programming the keyboard should be provided by the official DevTerm developers.

Anyway, here's what I know:

  1. Download & install Arduino IDE on your PC

The project depends on Arduino, so you need an Arduino IDE. You can get it from here: https://www.arduino.cc/en/software
I recommend 1.8 version.
They should be installed on your PC since toolchains installed later is not compatible with Arm yet.

A stock Arduino IDE should be enough if you use official or compatible Arduino boards.
However, DevTerm Keyboard is not that kind. It is not an official board, nor a drop-in compatible one.
It uses a different chip (stm32f103r8-compatible CKS32F103 series). So you need to install a core package for the chip.

  1. Install Arduino_STM32 package

It is a hardware support core package for the stm32f1 series.
It provides toolchains to compile, upload to the stm32 based boards, and implements Arduino APIs.

You can the installation manual from here: https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation

I had to add current user to the group ‘dialout’ since I've been using Linux.
Here’s how to add an user to a group: https://askubuntu.com/questions/112568/how-do-i-allow-a-non-default-user-to-use-serial-device-ttyusb0

AFIK, There are other Arduino cores for STM32. I’ve choose Roger Clark’s core since the original firmware is based on that. This thread will be interesting if you are curious: https://www.reddit.com/r/stm32/comments/d4o49q/relationship_between_stm32duinoarduino_core_stm32/

  1. Get the code
  1. Open the sketch in the Arduino IDE

Launch Arduino IDE. File - Open, then select the directory of the code. A file with an ‘ino’ extension is the main sketch file.

  1. Configure board, port

Tools - Board: “…” - STM32F1 Boards (Arduino_STM32) - Generic STM32F103R series. You might need to set Variant, Upload Method, CPU Speed, according to the guide too.

Plug DevTerm Keyboard in to your PC through USB. USB port is on the back of the keyboard. You might need to install some drivers if you use Windows.

Tools - Port - Select a port. I selected /dev/ttyACM0. It might be different in different environment.

  1. Verify & Upload

Sketch - Verfiy, Sketch - Upload
https://www.arduino.cc/en/Guide/Environment#uploading

Uploading is somewhat flaky. I was able to upload it after few retries.

That covers the software side splendidly! Especially useful for the next guy that doesn’t know any of those steps (I knew some but not all)

Plug DevTerm Keyboard in to your PC through USB. USB port is on the back of the keyboard.

Tools - Port - Select a port. I selected /dev/ttyACM0. It might be different in different environment.

this section about the hardware is exclusively about the DevTerm keyboard and was what I was curious about. I didn’t remember seeing a USB port on the keyboard. I think this could be included to help people know that there is a port on the back for flashing.

The rest, as you pointed out, is just standard “how to use arduino” which can be solved with a hyperlink.

thanks!