IchigoJam BASIC RPi is Raspberry Pi Edition of the software of the Kids PC "IchigoJam".
Refer to https://ichigojam.net/index-en.html about original (LPC1114) edition.
IchigoJam was created to make it easy to enjoy programming in the BASIC language.
It can also be used for electronics hobby by using functions such as digital I/O, PWM, I2C and UART.
Agree to the Terms of use before use it. Distribution to third parties requires a contract.
Compatibility is confirmed with the following models.
* Raspberry Pi 4 and later are not supported.
* For some keyboards, The response of "Zero" series and "Model A+" series is not good for now.
However, Other than that, you can use those same as "Model B/B+" series.
You can download it from here.
Using a PC, Format a microSD card with FAT16 or FAT32.
Copy contents of the directory including readme.txt to the microSD card.
To update to the latest version, follow the procedure below.
* Since updating the SAVE and LOAD command specifications to support EEPROM with ver1.2.5, it may be necessary to adjust the file name in the "files" directory at the time of update. Please see "SAVE/LOAD Destination" for details.
To configure the default keyboard layout, edit keymap.txt in microSD card.
Text in keymap.txt | Keyboard layout |
---|---|
us | US layout |
jp | Japanese layout |
* Changing the keyboard layout after startup is also available by using KBD command.
(refer to the document below.)
If the screen looks like the one on the left, it's successful!
Input "LED1" from keyboard and press [Enter] key.
If the Activity LED (green one) on Raspberry Pi turned on,
it's successful!
Input "LED0" from keyboard and press [Enter] key.
If the Activity LED (green one) on Raspberry Pi turned off,
it's successful!
If the Activity LED (green one) on Raspberry Pi blinking,
it's successful!
To stop blinking, press [Esc] key.
IchigoJam BASIC RPi is ported based on version 1.2.4(1.2b56)(*) of the original edition (LPC1114 edition).
The operation method and available commands are basically same as the original edition,
but the following points are different.
A Document of the original edition is here.
https://ichigojam.net/IchigoJam-en.html
* ver1.2.5 or later. Before ver1.2.4, ported based on ver1.2.3 of LPC1114 edition.
Following key operations are not implemented in RPi edition
Key | Reaction of the original edition |
---|---|
[Ctrl] + [Shift] | Switching Kana input mode(same as [kana]) |
[Ctrl] + [Alt] | Switching insert mode(same as [Insert]) |
Following key operations are implemented in RPi edition only
Key | Reaction of the RPi edition |
---|---|
[Ctrl] + [Shift] + [K] | Switching Kana input mode(same as [kana]) |
[Ctrl] + [Alt] + [I] | Switching insert mode(same as [Insert]) |
Following commands are not implemented in RPi edition
Command | Reaction of the original edition | Reaction of the RPi edition |
---|---|---|
SWITCH | Change the Display | Do nothing |
SLEEP | Enter to the system sleep mode | Do nothing |
ANA | Return voltage of external input as a numerical value | Always returns 0 |
Following commands are implemented in RPi edition only(*1)
Command | Reaction of the RPi edition | Usage |
---|---|---|
KBD | Change the keyboard layout(*2) |
KBD 0 'Swicthing To US KBD 1 'Swicthing To Japanese |
IoT.IN |
Receive numerical values from sakura.io with I2C
|
?IoT.IN() 'Display received numerical value |
IoT.OUT |
Send numerical value to sakura.io with I2C
|
IoT.OUT 111 'Send 111 |
*1 IoT.IN and IoT.OUT are implemented in LPC1114 edition in beta version.
*2 From ver1.2.5, the setting is saved in keymap.txt with the KBD command.
* The numerical value returned by LANG and the numerical value set by KBD are different.
LANG returns the language number of the font to be displayed when enabling Kana input with IchigoJam in use.
(LPC1114 edition 1:Japanese, 2:Mongolian, 3:Vietnamese)
The save destination of the program by the SAVE, LOAD command is as follows.
With ver1.2.5, we changed the specification to support EEPROM.
When updating from ver1.2.4 or earlier to ver1.2.5 or later, adjust the file name in the "files" directory of the microSD card to take over the created program.
microSD card(In the "files" directory) | EEPROM | |
---|---|---|
ver1.2.4 or earier | 0 to 3 and 100 to 227 (*.bin) | [Not supported] |
ver1.2.5 or later | 0 to 99 (*.bin) | 100 to 227 |
In addition, there are following differences.
The relationship between IN/OUT/PWM command and the physical pin
where the electric current actually flows is as follows.
Physical pin | Input command | Output command | PWM command | Initial state |
---|---|---|---|---|
15 | IN1 | (OUT8) | Input(pull up) | |
13 | IN2 | (OUT9) | Input(open) | |
11 | IN3 | (OUT10) | Input(open) | |
7 | IN4 | (OUT11) | Input(pull up) | |
35 | IN9 | Input(open,fixed) | ||
37 | (IN5) | OUT1 | Output | |
36 | (IN6) | OUT2 | Output | |
33 | (IN7) | OUT3 | PWM3 | Output |
32 | (IN8) | OUT4 | PWM4 | Output |
38 | (IN10) | OUT5 | Output | |
40 | (IN11) | OUT6 | Output | |
26 | OUT7 | Output(fixed) |
The physical pin where the electric signal actually flows
by using I2CW/I2CR command is as follows.
Physical pin | function |
---|---|
3 | SDA |
5 | SCL |
The physical pin where the electric signal actually flows
when communicate using UART is as follows.
Physical pin | function |
---|---|
8 | TXD |
10 | RXD |
The physical pin where the electric signal actually flows
by using BEEP/PLAY command is as follows.
Physical pin | function |
---|---|
29 | SND |
For technical information sharing and questions, please use the following Facebook group.
https://www.facebook.com/groups/ichigojamfan/