Tag Archives: tinyBASIC

There’s nothing BASIC about this homebrewed computer

Just when you think you’ve seen everything with AVR microcontrollers here at Bits & Pieces, the 8-bit ideas just keep on coming! A Maker by the name of “Dan” has introduced an ingenious new innovation, a homebrew 8-bit computer running BASIC using a single ATmega1284P MCU.

7317351408619307480

Dan’s sleek design has the ability to generate composite video supported by multiple screens, as well as read PS/2 keyboard input. Running a slimmed down version of the BASIC language, called TinyBASIC, the 8-bit computer boasts over 7kb of SRAM which is available to write programs, while an 8KB EEPROM card (connected to the storage header) can be used to save full-size programs.

According to the Maker’s Hackaday page, “Many GPIO pins are available allowing connections to components such as LEDs, potentiometers, sensors and much more. A L7805 regulator is used to make the system more flexible with the power supply which can be used (compared to using no regulator at all) to power the system such as a 9V wall-mounted transformer or a 12V battery.”

5946021408036181601

“The computer is easy to assemble at home as all components are through-hole,” Dan notes on the simplicity of this design. “Once all the components from the component list have been gathered, they can all be soldered into place and the system is then ready for use. Simply connect a TV, PS/2 keyboard and power source such as a PP3 battery or wall-mounted PSU. If an EEPROM card is connected, set the jumper to the ‘C’ position to allow BASIC programs to be saved to the card or if internal EEPROM is going to be used, set the jumper to the ‘I’ position (note, the jumper is the same as the type used for IDE hard drive pins used to select master or slave mode so they can easily be found within old computers).

This protoype is an easygoing introduction for Makers looking to become familiar with the BASIC language and homebrewed computers. Inspired Makers can view Dan’s full Hackaday tutorial here.

Atmel-based BASIC computer

 makes us nostalgic

BASIC, or Beginner’s All-purpose Symbolic Instruction Code, is a series of general-purpose, high-level programming languages that emphasizes ease of use. According to Wikipedia, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College in New Hampshire way back in 1964.

Multiple dialects of BASIC were written over the years, with the TinyBASIC variant capable of fitting into as little as 2 or 3 KB of memory. This small size made it quite useful in the early days of microcomputers (the mid-1970s), when typical memory size weighed in at 4–8 KB.

Recently, a Maker named Dan decided to design a simple, tiny 8-bit computer to run the succinct TinyBASIC.

As HackADay’s Brian Benchoff reports, the computer is built around the Arduino Uno (ATmega328) and a custom-made AVR-based shield, using TinyBASIC, the TVout library and the PS/2 keyboard library.

“After piecing together a little bit of code, the Arduino IDE alerted Dan to the fact the TVout and PS/2 libraries were incompatible with each other,” Benchoff explained. 

”This inspired Dan to use the ATmega328 as a coprocessor running the TVout library, and using the capacious ATmega1284P as the home of TinyBASIC and the PS/2 library.”

Subsequently, Dan used Fritzing to design a circuit using minimal components, with a custom PCB milled out of copper board.

“After the board was tinned, [Dan] had a beautiful minimalist retro computer with nearly 14kB of RAM free and an RCA display,” added Benchoff. 

The final setup comprises the shield, an Arduino UNO, PS/2 keyboard, RCA capable display (such as an LCD TV), RCA cable and a power source (such as a wall mounted PSU).

Future iterations of the Atmel-powered TinyBASIC computer will likely be based around the stalwart Arduino Mega (ATmega1280), facilitating a TV resolution of 720×480. Additional features could include an SD card slot, LEDs, pots and perhaps even headers for I2C and SPI.

Interested in learning more?

You can check out the project’s official Instructables page here.