- Colour Maximite 2 Deluxe Edition GEN2
- Main features
- What are the differences?
- Flashing CPU
- Expansion system
- daisy chaining with other expansion systems
- Powering Maximite from expansion Power Card
- Expansion cards
- WiFi ESP01
- UBS mouse host chip
- Nunchuk
- Atari joystick
- IR sensor
- RTC
- MM edit
The product is based on the Color Maximite 2 GEN2 - Geoff's project. It is 100% compatible with it and has been extended with additional functions. Color Maximite 2 Deluxe Edition GEN 2 is produced in Poland. The Color Maximite 2 Deluxe Edition GEN2 is an enhanced version of previous generation.
Schematic can be found here: schematic REV E v02
Maximite, expansion system and cards can be purchased here: PS Labs
- built-in ARM Cortex-M7 32-bit RISC processor clocked at 480MHz
- 32MB external RAM
- 3 sockets to connect 3 Wii Nunchuk controllers (as opposed to 1 socket in the original design)
- socket for connecting a standard joystick, e.g. Atari
- reset button
- flash button
- 5 edge connectors for expansion cards
- 40 and 26 pin IDC for connecting expansion system
- USB socket for keyboard connection
- USB socket for mouse connection
- USB to UART for: communication, CPU flashing, mouse chip flashing and ESP01 flashing
- IR sensor
- audio jack
- VGA socket
- power switch
- SD card slot
- LEDs indicating power and activity
- built-in battery for RTC
Table below shows main differences in Maximite 2 family
Parameter | Colour Maximite 2 Deluxe GEN2 | Colour Maximite 2 Deluxe | Colour Maximite 2 GEN2 | Colour Maximite 2 |
---|---|---|---|---|
Processor speed | 480MHz | 480MHz | 480 MHz | 400-480MHz |
Ram | 32MB | 16MB | 32MB | 16MB |
Color depth | 24 bit | 16 bit | 24 bit | 16 bit |
Build in expansion system | YES | no | no | no |
Compatible with external expansion system | YES | YES | YES | YES |
Build in USB mouse host chip | YES | YES | no* | no |
RTC chip | no | no | no | no |
Number of Nunchuk ports | 3 | 3 | 2 | 1 |
Atari joystick port | YES | YES | no | no |
WiFi ESP01 support | YES | YES | YES | no |
WiFi COM port selector | YES | YES | no | no |
Reset button | YES | YES | no | no |
Flash button | YES | YES | no | no |
Easy to flash ESP01 | YES | YES | no | no |
Easy to flash Mouse Chip | YES | no | no | no |
* in Original GEN2 out of the box only mouse with PS2 mode is supported, there is place to install HT chip on PCB but is not installed by producers (can be purchased IN HT or PS Labs and installed by user)
CPU can be flashed using one of following methods:
This is the slowest method, if possible consider using USB method
Needed tools and software:
- USB A-B cable
- PC with Windows
- STM32CubeProgrammer software installed can be downloaded here: STM32CubeProgrammer software for all STM32
Procedure:
- Set J1 jumpers to as shown below:
- Connect USB A-B cable to maximite and PC
- Open STM32CubeProgrammer program
- Select UART
- Select COM port
- Press and hold FLASH button and press RESET button while still holding FLASH
- Press connect, successful connection will be reported in Log
- Go to Erasing & Programming tab
- Browse and select firmware
- Press Start Programming button, flashing will start:
- Successful flashing will be reported by po-up window and Log:
- Press disconnect button
- Reboot the unit by using power switch or RESET switch
This method is much faster than UART method, requires USB A-A cable
Needed tools and software:
- USB A-A cable
- PC with Windows
- STM32CubeProgrammer software installed can be downloaded here: STM32CubeProgrammer software for all STM32
Procedure:
- Connect USB A-A cable to maximite keyboard port and PC
- Open STM32CubeProgrammer program
- Press and hold FLASH button and press RESET button while still holding FLASH, You should hear Windows found device sound
- Press refresh icon and select USB1 (or other) from drop down menu
- Remaining steps are identical as those described in UART flashing method starting from step 7
Maximite Deluxe 2 GEN2 is equipped with 5 edge connectors used with expansion cards. IDC40 (J9) and IDC26 (J13) are used to daisy chain expansion modules: Expansion Module
Expansion cards can be used only when top cover is removed or modified (slots are cut in enclosure)
If You need to power Maximite system from Power card please remove solder jumpers JP1 and JP6 marked below to disconnect internal power sources. 12V DC 2,5/5,5mm connector is used to supply Power Cards.
Following expansion cards are available or are in development:
ID | Name | Desc. | Status |
---|---|---|---|
01 | Mouse/joystick card | adds: USB mouse (HT chip) including wireless, Atari joystick, Nunchuk port | done |
02 | Relay card | Relay card controlled by shift registers, can be daisy chained, only 3 pins needed to operate multiple cards | in progress |
03 | Power card | delivers high amperage 5V and 3.3V to be used with power hungry cards | done |
04 | Prototyping card | simple prototyping card | done |
05 | WiFi card | adds wifi functionality, includes USB to RS chip allowing easy flashing and communication with pc | done |
06 | Shift register card | helps to learn how shift registers work, 16 led operated from 3 pins, can be daisy chained | done |
07 | rs232 card | adds 2 standard RS232 ports | in progress |
This card adds wifi functionality, includes USB to RS chip allowing easy flashing and communication with pc
use jumper J1 to configure COM port that CPU is using to communicate with ESP module as shown above
- Use jumper J1 to connect Maximiate USB to UART chip with ESP module ash shown above
- Connect USB A-B cable to PC and Maximite
- Power on Maximite
- Find out which COM port is detected by PC
- Select COM port in Your flashing tool
- Start flash
- Hold PROG. button and press RESET button while still holding PROG. button
- Wait until flash completes
Device is equipped with HT mouse host chip that allows to connect many devices available on the market. Mouse is connected to bottom USB port.
Below You can find sample code for mouse test using HT chip
mode 3
gui cursor on
controller mouse open 2,leftclick,rightclick
settick 20, myint
do:loop
'
sub myint
gui cursor mouse(x,2),mouse(y,2)
end sub
'
sub leftclick
static integer n
local integer x=mouse(x,2),y=mouse(y,2)
gui cursor off
gui cursor on 1,x,y,rgb(red)
n=n+1
print @(100,100)"left",n
end sub
'
sub rightclick
static integer n=0
local integer x=mouse(x,2),y=mouse(y,2)
gui cursor off
gui cursor on 0,x,y
n=n+1
print @(200,100)"Right",n
end sub
Below You can find procedure for flashing mouse host chip:
- Download frirmware and ds30 Loader from this page: HobbyTronics
- Set J1 jumpers as shown above
- Make sure that no device is connected to MOUSE port of Maximite
- Connect maximite to PC with USB A-B cable and power the device
- Find out COM port detected by PC
- Select proper COM port
- Browse for hex file
- Select device, and baud rate as shown above
- Press write
- Press RESET (SW6) button near HT mouse chip
In table below You can find pinout for Atari Joystick DB9 socket:
DB9 pin | Function | Maximite IDC40 pin |
---|---|---|
1 | UP | 35 |
2 | DOWN | 36 |
3 | LEFT | 38 |
4 | RIGHT | 40 |
5 | nc | nc |
6 | BUTTON A | 32 |
7 | +5V | +5V |
8 | GND | GND |
9 | BUTTON B | 33 |
Code example can be found below:
SETPIN 35, DIN, PULLUP
SETPIN 36, DIN, PULLUP
SETPIN 38, DIN, PULLUP
SETPIN 40, DIN, PULLUP
SETPIN 32, DIN, PULLUP
DO
IF PIN(35) = 0 THEN PRINT"UP"
IF PIN(36) = 0 THEN PRINT"DOWN"
IF PIN(38) = 0 THEN PRINT"LEFT"
IF PIN(40) = 0 THEN PRINT"RIGT"
IF PIN(32) = 0 THEN PRINT"FIRE"
PAUSE 100
LOOP
Device is equipped with IR sensor, only standard RC remotes will work with libraries included in MMBasic
Example code can be found below:
IR dev, KeyCode, IR_Int
Do
LOOP
SUB IR_Int
PRINT "Received device = " DevCode " key = " KeyCode
END SUB
Device can be equipped with RTC chip (this chip has to be soldered by user on U23 pad). Out of the box Maximite is using CPU RTC, to change to external RTC use following code:
OPTION DS3231 ON
after enabling external RTC remember to set the date:
DATE$ = "DD-MM-YY"
To turn off external RTC use code below
OPTION DS3231 OFF
Build in code editor is not the only way code can be edited and tested. You can find MM edit more effective way to write and test programs on Maximite.
You can download it here: MM Edit2
To use MM Edit with Maximite:
- Set J1 jumpers as shown above
- Connect maximite to PC with USB A-B cable and power the device
- Find out COM port detected by PC
-
Open MM Edit program
-
From drop down menu select: Connect >> New...
-
Select serial port and speed (default: 115200)
-
Press Save configure
-
From drop down menu select: Connect and select newly created configure 9 From drop down menu select: Connect >> Connect to Maximite
After creating new code You can send it and automatically run in maximite by selecting from drop down menu: Connect >> Load and Run