Posts | Comments

Planet Arduino

Archive for the ‘basic’ Category

Ever since the SMART Response XE was brought to our attention back in 2018, we’ve been keeping a close lookout for projects that make use of the Arduino-compatible educational gadget. Admittedly it’s taken a bit longer than we’d expected for the community to really start digging into the capabilities of the QWERTY handheld, but occasionally we see an effort like this port of BASIC to the SMART Response XE by [Dan Geiger] that reminds us of why we were so excited by this device to begin with.

This project combines the efforts of SMART Response XE support library by [Larry Bank] with Tiny BASIC Plus, which itself is an update of the Arduino BASIC port by [Michael Field]. The end result is a fun little BASIC handheld that has all the features and capabilities you’d expect, plus several device-specific commands that [Dan] has added such as BATT to check the battery voltage and MSAVE/MLOAD which will save and load BASIC programs to EEPROM.

To install the BASIC interpreter to your own SMART Response XE, [Dan] goes over the process of flashing it to the hardware using an AVR ISP MkII and a few pogo pins soldered to a bit of perboard. There are holes under the battery door of the device that exposes the programming pads on the PCB, so you don’t even need to crack open the case. Although if you are willing to crack open the case, you might as well add in a CC1101 transceiver so the handy little device can double as a spectrum analyzer.

Not satisfied with any of the DIY retro computer kits on the market, [Leonardo Leoni] decided to make his own. Built using only the finest through-hole technology and powered by the ATmega328 microcontroller, his diminutive 8-bit computer is easy to build and even easier to develop for. Whether you’re looking to hone your BASIC skills or play some Zork on the bus, this little computer looks like a great project for anyone who has a soft spot for computing’s simpler days.

All things considered, using this diminutive machine looks like it would be relatively pleasant. [Leonardo] is using a common SH1106 OLED display, and there’s a full QWERTY keyboard (with number row) done up with tactile momentary buttons. There’s very few passive components involved in the build, which is sure to be appealing to new players; especially after they’ve finished soldering all those switches to the board.

On the software side, [Leonardo] says he leaned heavily on open source projects to get his machine up and running. Beyond the hardware drivers for things like the display, he specifically calls out the Tiny Basic and Tiny Lisp Computer projects for their code. If small-scale programming isn’t your style, the machine is compatible with the Arduino IDE so you can easily throw something else on it. If you’ve ever dreamed of a QWERTY Arduboy, this might be your chance.

From the way [Leonardo] describes the computer, which he calls the Cobalt 3, we get the impression a commercial kit might be in the cards. We hope the community shows enough interest to make it happen. After all, not everyone was able to make it to Hackaday Belgrade 2018 to get their own pocket retro computer.

In the past, you might very well have started programming in Basic. It wasn’t very powerful language and it was difficult to build big projects with, but it was simple to learn, easy to use, and the interpreter made it easy to try things out without a big investment of time. Today you are more likely to get started using something like an Arduino, but it is easy to miss the accessible language and immediate feedback when you are doing simple projects. Annex WiFi RDS (Rapid Development Suite) is a scripting language for the ESP8266 that isn’t quite Basic, but it shares a lot of the same attributes. One example project from [cicciocb] is a scrolling dot matrix LED clock.

The code is really simple:

' Simple program using Annex and a MAX7219 dot matrix module
' by cicciocb 2019
'Set 4 8x8 displays with GPIO15 as CS pin
MAXSCROLL.SETUP 4, 15
INTENSITY = 5
'Set the first message with Annex
MAXSCROLL.PRINT "Annex"
MAXSCROLL.SHOW 31, INTENSITY
PAUSE 1000
'Set the refresh rate of the display (50 msec) - lower values -> scroll faster
TIMER0 50, SCROLLME
WAIT

SCROLLME:
'Scroll the display with the intensity defined before
MAXSCROLL.SCROLL INTENSITY 
' Set the text with the Date and Time
MAXSCROLL.TEXT DATE$ + " " + TIME$
RETURN

Of course, one reason it is simple is that Annex has a built-in set up for the LED drivers (MAXSCROLL). It also integrates with a remote web browser very easily, so you can embed HTML output in your projects.

If you look at the project’s main page, there is support for a lot of things including devices such as Neopixels, servos, LCDs, and temperature sensors. There’s also support for a lot of protocols and algorithms ranging from MQTT to PID controllers.

If you really miss Basic, you can use it on the web. Not to mention, that QuickBasic is still floating around.

Lug
06

C64 Emulator For The Arduino Due

6502, arduino hacks, basic, c64, classic hacks, commodore, EHBasic, emulator Commenti disabilitati su C64 Emulator For The Arduino Due 

c64

Almost a year ago, [miker00lz] started a thread on the Arduino forums telling everyone about a 6502 emulator and BASIC interpreter he wrote for an Arduino Uno. The chip inside the Uno isn’t a powerhouse by any means, and with only 2KB of RAM it’s far less capable than just about any computer from the 70s. Arduino works on a lot of different chips, though, and after a few months, [Jan] turned an Arduino Due into a Commodore 64 emulator.

[Jan]‘s code isn’t limited to the DUE, and can be used with any chip with enough memory. If you’re feeling fancy, you can connect a TFT display for all the vintage goodness of PETSCII graphics, all while running a faster BASIC than the very stripped down EHBASIC.

Because the emulator is using software to talk to the outside world, it should be possible to use this project to interface with the cooler chips found in Commodore machines – SIDs for one, but also the cartridge port for some vintage Ethernet goodness. It’s not even limited to Commodore machines, either: the POKEY chips found in Atari 8-bit micros are seriously underutilized in the chiptune and demoscene, and having modern hardware to play with these chips couldn’t hurt in the slightest.


Filed under: Arduino Hacks, classic hacks
Apr
11

Arduino BASIC Shield

arduino, arduino uno, basic, Mcu, Microcontroller, shield Commenti disabilitati su Arduino BASIC Shield 

FJE6ORQHS8FUZ45.MEDIUM

This project turns the Arduino UNO into a computer running the BASIC programming. languagedan14 @ instructable.com writes:

Hi all, this is my first instructable documenting the creation of my project, the Arduino UNO BASIC shield which turns the Arduino UNO into a computer running the BASIC programming language.

As microcontrollers are essentially low performance computers on a chip (they have a processor, RAM and ROM) they can be used to create small computer systems. The aim of this project was to use AVR microcontrollers to create a computer capable of running the BASIC programming language.

Arduino BASIC Shield - [Link]

Apr
10

An Exceptional BASIC Computer

arduino hacks, basic, TinyBASIC Commenti disabilitati su An Exceptional BASIC Computer 

BASIC

Since [Dan] has started using microcontrollers, he’s been absolutely fascinated by the fact these chips are essentially low performance computers. Once he caught wind of TinyBASIC, he decided he would have a go at creating a simple, tiny computer that’s very simple to the old, tiny, 8-bit computers of yore.

The computer is built on an Arduino 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. This inspired [Dan] to use the ATMega328P as a coprocessor running the TVout library, and using the capacious ATMega1284P as the home of TinyBASIC and the PS/2 library.

A circuit was put together in Fritzing using minimal components, and a 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.

Future versions of the build will probably be based around the Arduino Mega, allowing for a TV resolution of 720×480. Also on tap are an SD card slot, LEDs, pots, and possibly even headers for I2C and SPI.


Filed under: Arduino Hacks


  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook