Silicon ChipColour Maximite 2 (Generation 2) - October 2021 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Subscriptions: PE Subscription
  4. Subscriptions: PicoLog Cloud
  5. Back Issues: PICOLOG
  6. Publisher's Letter
  7. Feature: The Fox Report by Barry Fox
  8. Feature: Techno Talk by Mark Nelson
  9. Feature: Net Work by Alan Winstanley
  10. Project: Mini WiFi LCD BackPack by Tim Blythman
  11. Project: USB Supercodec by Phil Prosser
  12. Project: Ultrasonic High Power Cleaner by John Clarke
  13. Project: Colour Maximite 2 (Generation 2) by Phil Boyce , Geoff Graham and Peter Mather
  14. Feature: AUDIO OUT by Jake Rothman
  15. Feature: Max’s Cool Beans by Max the Magnificent
  16. Feature: Circuit Surgery by Ian Bell
  17. Feature: IoT Cricket by Khairul Alam
  18. Feature: KickStart by Mike Tooley
  19. Advertising Index
  20. PCB Order Form

This is only a preview of the October 2021 issue of Practical Electronics.

You can view 0 of the 72 pages in the full issue.

Articles in this series:
  • (November 2020)
  • Techno Talk (December 2020)
  • Techno Talk (January 2021)
  • Techno Talk (February 2021)
  • Techno Talk (March 2021)
  • Techno Talk (April 2021)
  • Techno Talk (May 2021)
  • Techno Talk (June 2021)
  • Techno Talk (July 2021)
  • Techno Talk (August 2021)
  • Techno Talk (September 2021)
  • Techno Talk (October 2021)
  • Techno Talk (November 2021)
  • Techno Talk (December 2021)
  • Communing with nature (January 2022)
  • Should we be worried? (February 2022)
  • How resilient is your lifeline? (March 2022)
  • Go eco, get ethical! (April 2022)
  • From nano to bio (May 2022)
  • Positivity follows the gloom (June 2022)
  • Mixed menu (July 2022)
  • Time for a total rethink? (August 2022)
  • What’s in a name? (September 2022)
  • Forget leaves on the line! (October 2022)
  • Giant Boost for Batteries (December 2022)
  • Raudive Voices Revisited (January 2023)
  • A thousand words (February 2023)
  • It’s handover time (March 2023)
  • AI, Robots, Horticulture and Agriculture (April 2023)
  • Prophecy can be perplexing (May 2023)
  • Technology comes in different shapes and sizes (June 2023)
  • AI and robots – what could possibly go wrong? (July 2023)
  • How long until we’re all out of work? (August 2023)
  • We both have truths, are mine the same as yours? (September 2023)
  • Holy Spheres, Batman! (October 2023)
  • Where’s my pneumatic car? (November 2023)
  • Good grief! (December 2023)
  • Cheeky chiplets (January 2024)
  • Cheeky chiplets (February 2024)
  • The Wibbly-Wobbly World of Quantum (March 2024)
  • Techno Talk - Wait! What? Really? (April 2024)
  • Techno Talk - One step closer to a dystopian abyss? (May 2024)
  • Techno Talk - Program that! (June 2024)
  • Techno Talk (July 2024)
  • Techno Talk - That makes so much sense! (August 2024)
  • Techno Talk - I don’t want to be a Norbert... (September 2024)
  • Techno Talk - Sticking the landing (October 2024)
  • Techno Talk (November 2024)
  • Techno Talk (December 2024)
  • Techno Talk (January 2025)
  • Techno Talk (February 2025)
  • Techno Talk (March 2025)
  • Techno Talk (April 2025)
  • Techno Talk (May 2025)
  • Techno Talk (June 2025)
Colour Maximite 2 (Generation 2) Part 1 Words Phil Boyce Design Geoff Graham Firmware Peter Mather The latest iteration of our retro home computer B ack in November 2019, we published a project that described the original Colour Maximite computer. The Colour Maximite computer (CMM) proved to be extremely popular, with many hundreds of units sold globally. For those of you unfamiliar with the CMM, it can simply be regarded as a compact, standalone BASIC computer to which you attach a VGA monitor, PS2 keyboard and 5V USB power supply. (‘BASIC’ doesn’t mean simple or under-powered; it was programmed using the BASIC language.) On power up, it is immediately ready to be used, much like the pioneering home computers of the 1980s (for example, the ZX Spectrum, VIC20 and BBC micro series). The version of BASIC that the CMM uses is known as ‘MMBASIC’ (Maximite BASIC), and for those of you that have been following the Make it with Micromite series, it is virtually identical to the version of MMBASIC used to program the Micromite. The CMM is much more powerful than the 4MHz, 8-bit microprocessorbased computers of the 1980s. Those typically ran on 6502 or Z80 ICs, but the CMM uses an 80MHz, 32-bit microcontroller. In addition, it is very easy to interface external hardware to the CMM thanks to several input/output (I/O) connectors and supporting I/O MMBASIC commands. The CMM is quite an old design, dating back to 2012, so in 2020, a new (and much improved) version was released. This was called the Colour Maximite 2 42 (CMM2), but for various reasons, it was not featured in PE. However, last month a tweaked version of the CMM2 was released; so now seems like the perfect time to introduce you to the CMM2, or more specifically, the tweaked version which is known as the CMM2 Generation 2 (CMM2 G2, often just abbreviated to G2). Before we get into the details of this new ‘beast’, it is worth reflecting on the previous Maximite models to appreciate how things have evolved over the last decade. Do also bear in mind that the first Maximite was the predecessor of the very popular Micromite that now features in many PE projects. Maximite history In late 2010, Geoff Graham, a talented Australian hobbyist, set himself a challenge to try and implement BASIC on what at the time was a new and powerful 32-bit PIC processor. This was not only a huge software challenge; but it would also involve some kind of hardware design on which, if he was successful, he could run his version of BASIC. Ultimately, he was aiming to recreate a 1980s home computer (a Tandy TRS80) on a single PIC32 chip, knowing that it would also make a great project for his local electronics magazine, Silicon Chip. After several hardware variants, he ended up with a working design that Fig.1. The first Maximite Computer was based on a PIC32 microprocessor. It was released in March 2011. The following year it became known as the Monochrome Maximite. Practical Electronics | October | 2021 included an SD card (for program storage), a PS2 keyboard input (for entering program code), a VGA monochrome video output with a resolution of 480 × 432 pixels (for displaying the code and any other output), and an I/O connector for interfacing with external hardware. He had succeeded. It was indeed controlled by a single PIC32, all housed in a small plastic enclosure resulting in a neat, finished product (see Fig.1). He called it the Maximite Computer, and it was featured in Silicon Chip in 2011 (March, April, and May 2011 editions). The most impressive thing (at least in my opinion) is that all this was achieved in just over three months! After the Maximite Computer had been created, Geoff brought out a trimmed-down version that did not include a VGA output, or an SD card. This version was named the Mini Maximite (see Fig.2), and it could be argued that this was the true pre-cursor to the now-popular Micromite. Once again, it was featured in Silicon Chip magazine (November 2011). The Colour Maximite Never one to rest on his laurels, Geoff looked at improving the design. Many of the earliest 1980s home computers were also initially monochrome, but then came colour. So, in September 2012, he upgraded the Maximite Computer to the Colour Maximite (CMM) (Fig.3), and it went on to become one of Silicon Chip’s magazines most popular projects. Along with the ability to display colour graphics (up to eight colours when using 240 × 216-pixel resolution), it was also possible to draw coloured sprites (a twodimensional image or animation that is integrated into a larger scene). It could play some very impressive sounds, including stereo MOD music files. It was even possible to insert a compatible Arduino shield directly onto the PCB, as well as having an option to add an RTC (real-time-clock) chip with battery Fig.2. The Mini Maximite Computer was released in November 2011. It can be regarded as an embedded-controller version of the Maximite Computer (ie, a basic PCB with no SD socket, and no VGA socket). Practical Electronics | October | 2021 Fig.3. Colour was added to the Maximite in September 2012 along with several other additional features including stereo sound, Arduino Shield compatibility and an RTC option. back-up. As mentioned above, the CMM was featured in PE in 2019/2020 (November to January) and has been extremely popular here in the UK, and also across Europe and the US. (Note that the launch of the Colour Maximite resulted in the first Maximite becoming known as the Monochrome Maximite.) STM32 and the CMM2 The Maximite was a single-chip design, so there was no way to really improve the hardware design without replacing the processor with a more powerful IC. Remember that the original PIC32 used in the Maximite is now well over ten years old. A decade is a long time in G2 Features and Specification  480MHz Arm Cortex M7 STM32 processor (2MB Flash, 1MB internal RAM)  32MB additional RAM chip (program storage and video memory)  VGA colour output (15 video modes, 240 × 216 to 1920 × 1080)  Four colour modes (8-bit, 256 colours to 24-bit, 16 million colours)  Built-in BASIC interpreter (with programs executed at circa 250,000 lines per second)  Support for handling doubleprecision floating-point arithmetic, 64-bit integers, long variable names, and up to five-dimensional arrays (24MB variable storage)  Seven built-in fonts, user-defined fonts, and full pixel control via graphics commands  BMP, GIF, JPG and PNG image files can be read from the SD card, and drawn anywhere on screen (scaling and rotation possible)  USB keyboard language support: UK/US English, French, Spanish, German, Dutch/Belgian  Mouse support: either dual-mode mouse, or (with an additional chip) USB-only mouse  Up to 128GB SD Card support (FAT16, FAT32 or exFAT)  Built-in file manager (with mouse or keyboard control) to allow easy loading of programs  Stereo sound output; music files supported: WAV, FLAC, MP3, MOD  High-accuracy RTC (with battery back-up)  28 I/O pins with pinout identical to a Raspberry Pi 40-way HAT connector: digital inputs, digital outputs, UART, SPI, I2C, onewire, PWM  USB type-B socket for 5V power, or for using an external Terminal program  Built-in, full-screen, colour-coded Editor: up to 255-character line length, with copy/paste functionality, advanced search and mouse support  Special features for game creation including multiple video layers with various levels of transparency, multiple video pages with high-speed copying, animated sprites and support for up to three Nunchuck controllers (two physical ports)  Firmware upgrade via a single USB lead (no other hardware is required). 43 Fig.4. The Colour Maximite 2 (CMM2) is based on an STM32 microprocessor. a) (left) The kit form used mainly through-hole components along with a plug-in Waveshare module which contained the STM32 chip. b) (right) The fully assembled CMM2 used all surface-mount components soldered onto both sides of a single PCB. terms of microprocessor progress, and the PIC32 can now be regarded as an ‘ancient’ device. A search for a replacement resulted in the selection of the ARM Cortex-7 STM32 processor from STMicroelectronics. It was not an easy job to migrate the MMBASIC firmware code from the PIC32 to the STM32. So, while Geoff was taking a well-earned rest, this migration task was open – step forward Peter Mather. Based in the UK, he took on the challenge, and within a relatively short time he had ported MMBASIC so that it was able to run on the STM32 processor. By using a modern processor running at 480MHz, the speed increase alone of MMBASIC on a CMM2 was ten times that of the original CMM. Another immediate benefit was that there was a lot more internal memory, and this resulted in more colours being available (up to 16-bit colour), as well as providing the ability to have higher-resolution graphics (up to 1280 × 720). In addition, other graphical effects were possible, including amazingly fast screen copying and scrolling. Note that the CMM2 also incorporated an additional 8MB RAM chip to provide even more memory required to offer some of these features. Other small additions included the ability to use a USB keyboard and to plug in a Nunchuck game controller. The CMM2 was released in June 2020, and featured in Silicon Chip a month later. It is available in kit form (Fig.4a) or as a preassembled unit (Fig.4b) from micromite.org CMM2 G2 The very latest Maximite, the CMM2 G2 (or simply the G2) can be seen in Fig.5. It has an impressive specification (see the Features box). However, it must be made clear that the G2 is not a replacement for either the Micromite or the CMM2. The Micromite is a fantastic embedded controller, whereas the CMM2 is an extremely powerful standalone computer, perfect for developing MMBASIC programs; not to mention 44 that it is also capable of running some very impressive retro style games – all coded in MMBASIC of course! The G2 should be regarded as a Maximite offering the highest specification that is currently available. In fact, the CMM2 and the G2 both use the same STM32 processor, and even share the same firmware file, so what makes the G2 so special? There are three main improvements over the CMM2. First, the G2 uses a bigger RAM chip, 32MB as opposed to 8MB. This allows for improved graphics capabilities (increasing the resolution to 1920 × 1080), as well as more space for much larger programs. Second, the digital-toanalogue video circuit uses eight bits per colour-channel. This results in true 24-bit colour (meaning over 16 million colours), as well as offering more levels of transparency. The third improvement is that the PCB is now 4-layer, as opposed to 2-layer. This means that all the SMDs (surface-mount devices) are mounted on the same side (the top), making it more suitable for machine assembly. So what else does the G2 offer in terms of hardware improvements?  Referring to Fig.6, you can see a tiny IC to the left of the SD socket. This is a highly accurate RTC chip (DS3231) and is fitted as standard in the G2.  There are now two physical Nunchuck ports that are accessed on the front panel. This makes it ready for two-player games (the CMM2 only has one port on the front panel).  There is a dual USB connector on the rear panel. The top USB socket is for a USB keyboard, and the lower USB socket can accept a mouse with a USB connector on it. If using a dual-mode mouse (ie, a mouse that can use the PS2 protocol but via a USB connector), then it can be used without any modifications to the G2 (apart from a couple of solder shorts). However, a USB only mouse will require the addition of an extra chip. This is mounted near the upper-left corner of the PCB – you can see the location for it (IC5) in Fig.6. More on this next month. Fig.5. The G2 uses a 4-layer PCB with all SMD components mounted on the top side. It uses the same style case as the original Colour Maximite and CMM2; however, note that the G2 adds an additional built-in Nunchuck port. Practical Electronics | October | 2021 Table 1: The four Maximite variants compared Feature Monochrome CMM CMM2 CMM2 G2 Processor PIC32MX795 PIC32MX795 ARM Cortex M7 STM32 ARM Cortex M7 STM32 Speed 80MHz 80MHz 400 / 480MHz 400 / 480MHz Built-in memory (RAM/Flash) 128KB / – 128KB / – 1MB / 2MB 1MB / 2MB Additional onboard RAM – – 8MB 32MB Max number of colours Monochrome 8 65,536 (16-bit) 16 million (24-bit) Max resolution 480 × 432 480 × 432 1280 × 720 1920 × 1080 Video modes 2 4 14 15 Transparency levels – – 16 256 Fonts 1 1 7 7 Sound Mono Stereo Stereo Stereo Sound files MOD MOD WAV, FLAC, MP3, MOD WAV, FLAC, MP3, MOD RTC – Optional DS1307 STM32 built-in High-accuracy DS3231 SD Card storage (max) 32GB 32GB 128GB 128GB I/O 20 20 (ext) + 20 (int) 28 28 Nunchuck ports – – 1 2 Keyboard PS2 PS2 USB (wireless) USB (wireless) Mouse support – – PS2 PS2 / USB  There is provision for an internal ESP8266-01 Wi-Fi module located near the lower-left corner of the PCB  A 3-way jumper by the power switch allows the switch to have its ON position selectable as either up or down (implemented due to user feedback on the CMM2) The above highlights the hardware changes that have been made over the original CMM2 design. To open up the features that the improved hardware IC5: USB keyboard IC offers, a new version of MMBASIC has been released (v5.07.00). This version of the firmware can also be installed on the CMM2 – it automatically detects the hardware platform it’s running on and behaves accordingly. This means that if you currently have a CMM2, several new software features will be made available (such as mouse support, and improved screen resolution) so it is worth upgrading to this latest MMBASIC. However, when you run 32MB RAM it on a G2 you will have access to all the new features. All four of the Maximite variants are compared in Table 1 above. Silicon shortage At the time of writing this article, the supply of silicon has been adversely affected due to various global supply chain problems. This has greatly impacted the availability of the STM32 processor and the RAM chip; it has got to the point where global stock of the CMM2 and G2 are virtually non-existent. We do expect this to change, but none of the usual component suppliers can offer any guarantees of dates. Some are predicting the end of the year before they get new stock, so please be patient if you want to get your hands on a G2. Despite these annoying issues, we will continue next month with full assembly details. Exploring further This month’s download from the October 2021 page of the PE website includes two PDF documents that will help you explore the potential of the G2. The Colour Maximite 2 User Manual and Programming with the Colour Maximite 2 (which apply both to the CMM2 and the G2) includes all the information you need to get you up and running with the G2 computer. ESP-01 header Additional Nunchuck port DS3231 RTC Power orientation Questions? Please email Phil at: contactus<at>micromite.org Fig.6. Additional features for the G2, which make it different to the CMM2. Practical Electronics | October | 2021 45