Tuesday, January 12, 2016

A Versatile 8 bit Computing Platform

Part Populated WiNode Board
Back in late 2011, I designed a product called WiNode, which was a companion product to the Nanode RF - a simple Arduino based wireless to ethernet hub.

Well that's all ancient history now - but I do still have a box of 40 WiNode kits left over - which I am slowly finding uses for.

WiNode was conceived as a jack of all trades.  It had the usual 16MHz ATmega328P processor - but in addition a whole lot of hardware goodies.

  • 32K SRAM with super capacitor back-up
  • microSD connector
  • RFM12 Low Power 433MHz Wireless transceiver module
  • MCP79410 Real Time Clock - again with supercapacitor backup
  • 754410 Dual H-Bridge (for motor, stepper, relay driving - or Class D audio Amplifier)
Despite all of the additional hardware, WiNode was a compact but surprisingly uncluttered layout. Almost all of the components were through-hole  - so easy to solder.  It was the perfect platform for a whole lot of Arduino & Low Power Wireless control an monitoring applications.

Now 4 years later - WiNode is going to get a new lease of life.

With the SD card, Realtime clock and additional 32K x 8 RAM it makes an ideal platform to host some of my 50x50 series of shields including the new Evita High-Res Video Shield.

Using the Gameduino 2 Library - the hardware is virtually identical to the Gameduino 2 - except that the Evita board drives an external display - in this case below a 32" wide screen TV

Black Text 128 Characters per Line 1024 x 768 

A very large clock in just 14 lines of code
Whilst the applications above are very simple - and easy to code using the comprehensive Gameduino 2 library, there is sufficient capability in the 8 bit ATmega to produce a retro-computer - not unlike those used in the mid 1980s. 

The Evita shield also offers  PS/2 Keyboard and Mouse connectors, and audio output - allowing a complete 8 bit computer with high resolution video to be created.

Additionally it is easy to add a Wii Nunchuck to the I2C pins - making it ideal for playing games or retro computing. The Nunchuck derives its power from the two unused pins A2 and A3 set LOW and HIGH respectively.

With the right language - such as Tiny Basic or Forth, it could make a very versatile computing platform - and ideal to teach basic programming techniques.

The TinyBasic code gan be found here on Github

Hardware Allocation

D0          UART RX
D1          UART TX
D2          FT812 INT
D3          KBD_CLK
D4          KBD_DATA
D6          MOUSE_CLK
D7          MOUSE_DATA

D9          FT812   /CS
D10        FT812  PowerDown/Reset
D11        SPI MOSI
D12        SPI MISO
D12        SPI SCK
D14        I2C SDA
D15        I2C SCK

A0          Analogue Joystick (X)
A1          Analogue Joystick (Y)
A2          Wii Ground
A3          Wii Power
A4          Wii Nunchuck SDA
A5          Wii Nunchuck SCL

Details of interfacing the Wii Nunchuck may be found here.

In the next post I look at Tiny BASIC as a possible contender for a 21st Century homebrew computer.

No comments: