CHIPS Newsletter Vol 16 - Yahoo! Mail. Official Newsletter of

Similar documents
CHIPS Newsletter Vol 5 - Yahoo! Mail. Official Newsletter of

CHIPS Newsletter Vol 3 - Yahoo! Mail. Official Newsletter of. Chuck Hellebuyck's Electronic Products

Chapter 8: User-Friendly Programming

Blackfin Online Learning & Development

Register FAQ Calendar Today's Posts Search

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

Powered by. How did trying to give apples away for free change the world?

Lesson 9 Transcript: Backup and Recovery

HOW TO USE ESP8266 WITH ARDUINO IDE

V-MUX Downloader version 6.0 User Manual

Assembling Computers Summer Academy Presented by the Petters Research Institute (PRI) in cooperation with the Belize Defense Force

Freeduino USB 1.0. Arduino Compatible Development Board Starter Guide. 1. Overview

Adafruit's Raspberry Pi Lesson 1. Preparing an SD Card for your Raspberry Pi

A little more research on TEAC and their tapes revealed that, back in the early to mid 1980s, TEAC made a number of these tapes with real metal

Register FAQ Calendar Today's Posts Search

None. MICROCONTROLLERS III

Manual Iphone 5 Charger Cable Not Working Ios 7 Update

Direct Variations DIRECT AND INVERSE VARIATIONS 19. Name

Manual Format Flash Drive Ntfs Windows Xp

Eureka!Factory Atari Punk Console v2

4. Write sets of directions for how to check for direct variation. How to check for direct variation by analyzing the graph :

PIC32 MX1/MX2 Microcontrollers. Dave Richkas Product Marketing Manager High-Performance Microcontroller Division Microchip Technology Inc.

ARDUINO YÚN Code: A000008

YOUR NEXT HAM RADIO SHACK COMPUTER THE NEXT GENERATION IN PC S. Ken N1RGK

Experimental Procedure. Frequently Asked Questions (FAQ) Kit General Questions. Setting Up and Using Your Raspberry Pi Projects Kit

How To Manually Update Google Play Apps On Kindle Fire Without Rooting

Learning development AVR-USB-Arduino project works by

Seatools Set Capacity Manually

Computer Principles and Components 1

1 of 9 4/17/2015 7:19 AM

Adafruit Metro Mini. Created by lady ada. Last updated on :12:28 PM UTC

Is this a known issue? Seems to affect only recurring events. I have some of them and all are shifted. Non-recurring events show properly.

On Xp Without Losing Data

Post Experiment Interview Questions

Olimex PIC-KIT3 In-circuit programmer/debugger

Motherboard Central Processing Unit (CPU) Random access memory (RAM)

HELPLINE. Dilwyn Jones

Visual set-up guide. V17 Ed Durrant DD5LP 11th. Aug 2017

Exploring Adobe InDesign CS6 (The Computing Exploring Series) Ebooks Free

Audio Enhanced Touch Sensors Build Instructions

Basic Fiction Formatting for Smashwords in OpenOffice L. Leona Davis. Copyright 2012 L. Leona Davis All Rights Reserved

THANKS FOR READING. - Marco Behler, Author. Copyright 2015 Marco Behler GmbH. All Rights Reserved.

SAS Viewer giving way to Universal Viewer Steve Wright, Quintiles, RTP, NC

An Introduction to Business Disaster Recovery

I'm aware of two lower-case kits that came out for the early System 80's.

Motherboard Components of a Desktop Computer

Introduction to PSpice

HOW TO TRANSFER MINI DV TAPED VIDEOS TO DIGITAL VIDEOS ON YOUR PC

UPDATING YOUR SCS.1 FIRMWARE

EPISODE 23: HOW TO GET STARTED WITH MAILCHIMP

HOW TO UPGRADE ESP8266 BOARDS USING ESP FLASH DOWNLOAD TOOLS

RFID: Read and Display V2010. Version 1.1. Sept Cytron Technologies Sdn. Bhd.

The BlueNRG-1, BlueNRG-2 BLE OTA (over-the-air) firmware upgrade

Ubuntu Installing Instructions Macbook Pro Hard Drive Cable

How Often Should I Shutdown My Macbook Air

IME-100 Interdisciplinary Design and Manufacturing

The Laptop Repair Workbook: An Introduction To Troubleshooting And Repairing Laptop Computers PDF

Welcome to Installing and using HI-TECH C PRO for the PIC10/12/16 MCU Family with the MPLAB IDE.

Introducing: New Low-Cost & Low Pin Count PIC Microcontrollers for the 8-, 16- & 32-bit Markets

Mobile Digital Video Recorder Installation Tips

Model 5100 Bootloader Installation Guide

2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)...

AN4869 Application note

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

Tutorial on Using Windows 8

PIC-P28-USB development board Users Manual

Manual Do Ipod Shuffle 2nd Generation Take To Charging My

7, 8, 8.1, 10. You can still get windows ten upgrade from 7, 8 and 8.1 now. Just need the right file to upgrade, I have it.

ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O

A Homebrew AUX-7 Board for the Drake TR7 and R7

Ubuntu Installing Instructions Macbook Pro Hard Drive Cable

Hid usb input device

Manually Install Windows Updates Xp On 7 Laptop Using Usb Drive

Manual Copy Paste Macbook Air To External Hard Drive

Recording for the Blind Part One

Ipad User Guide Macbook Pro Inch Mid 2010) -

Full Court Press: Getting the Press to Write About your App!

Lesson 5: Verifying RAMs with the Fluke 9010A Version 1.03

MITOCW watch?v=0jljzrnhwoi

How To Force Restore A Computer That Won Boot Up After System

_APP A_541_10/31/06. Appendix A. Backing Up Your Project Files

ECIO base board. EB061

How to unlock my iphone screen

Manual Of Ios 7.1 Beta 5 Iphone 4 Performance

How to install a Crucial SSD in your computer

Goal: We want to build an autonomous vehicle (robot)

Working With Ruby Threads. Copyright (C) 2013 Jesse Storimer. This book is dedicated to Sara, Inara, and Ora, who make it all worthwhile.

ACER ASPIRE S7 RAID RECOVERY PARTITION DOWNLOAD

Description: USB to Serial interface and USB development platform

Register FAQ Calendar Today's Posts Search

When I was looking for a guide to set up an Amiga on my shiny new imac, I scanned the forums and Googled the web. I didn't find one.

Keep It Easy Software Cloud User Manual

Stepmania (AKA HA-DI-DI-R)

EPSON EPSON AMERICA, INC.

PIC Microcontrollers: Know It All (Newnes Know It All) PDF

Quicksilver 606 TR-606 CPU Upgrade

Ps3 Hard Drive Replacement Instructions >>>CLICK HERE<<<

Computer Overview. A computer item you can physically see or touch. A computer program that tells computer hardware how to operate.

Transcription:

CHIPS Newsletter Vol 16 From: "chips@elproducts.net" <chips@elproducts.net> To: "Chuck Hellebuyck" <chuck@elproducts.com> Sunday, June 12, 2011 9:45 AM CHIPs Vol 16 / June 2011 Official Newsletter of Chuck Hellebuyck's Electronic Products http://www.elproducts.com/ Topic Maximite Project Creating my own Maximite Conclusion Maximite Project I've been asked in feedback from readers to consider doing projects for the newsletter and decided to try that out in this newsletter. I decided to attempt to recreate a computer project I recently discovered called the Maximite by Geoff Graham. Maximite is an open sourced PIC32 based computer that recreates the old Radio Shack TRS80 and Commodore computer days. Only rather than build the actual Maximite I decided to create a simplified version on a PIC32 board to test out the concept. That is this months newsletter project. MAXIMITE Computer This project was interesting to me because my first computer was a Commodore Page 1 of 8

VIC20 that had a BASIC interpreter preprogrammed into the 6502 Microprocessor. It only had 5k of RAM memory for programs so compared to today's little PIC Microcontrollers that is not much space but people still did some amazing things with these computers. I would occasionally drop by my local Radio Shack and play with their TRS80 computer. It had a lot more memory and many more features. All these early computers shared a common programming language call BASIC and though there were some differences, if you knew how to program one you could program the other. Commodore VIC20 You had to connect the VIC20 to a television as that was your monitor. The TRS80 had its own composite monitor. Your programs were stored in RAM as you wrote them so if you lost power you lost your program. To save a program, you stored it on a tape drive which used audio cassette tapes. Eventually external floppy drives were released but very expensive. People wrote games and programs in BASIC, stored them on cassette tapes and then sold the tapes the same way video game disks are sold today. Page 2 of 8

TRS 80 Now jump to the present. I have often thought about making a BASIC interpreter for a PIC using the PICBASIC PRO compiler as the develop software but never really found the time to do it. While reading an electronics forum I came across a reference to this new computer project called the Maximite which was developed by Geoff Graham in Australia. He wanted to recreate one of these older machines using a PIC32 so he went about writing his own BASIC interpreter and created the hardware around it. He called it the Maximite and included a VGA port for driving a monitor and a keyboard port for connecting to a keyboard. Add power to the power port and you have a miniature TRS80 style computer. He even added an SD card slot so you can save your programs. In addition to all this he also put a USB port on the board which allows you to bootload any updates to the PIC32. He also programmed the Maximite to send and receive data from the USB port. This allows you to write BASIC programs on the Maximite with a terminal program without the need to hook up a monitor or keyboard. He also included an expansion port that has analog and digital pins from the PIC32 brought out to a 20 pin header connector. Within his BASIC interpreter he included commands to control these digital and analog ports. He released the schematic, board layout and the entire code as open source. He even showed a fundamental schematic on his website that shows the minimum connections to get the Maximite running. This is where my project begins. Creating my own Maximite Page 3 of 8

After looking over the simplified schematic, I realized there was probably a development board from Microchip with a PIC32 on it that might, with a little modification, allow me to test the Maximite software. Was I surprised to find that the PIC32 mtouchtm board from Microchip had the exact same PIC32MX795F512H micro installed with all the minimum requirements his simplified schematic required including the USB connection. Even some of the I/O he used for his analog/digital control ports were connected to either the mtouch boards expansion header or to prewired LEDs. This setup, I thought, would allow me to program the Maximite code into the PIC32 with a PICkit 3 and then program it in BASIC from a terminal program via the USB connection. And I could do this without bringing out the soldering iron. To test it out I decided to dust off my old VIC20 BASIC programming skills and try to create a simple program to create a train crossing type LED flasher with two output pins connected to LEDs. The first step was to get a hold of this board and check it out. All the PIC32 mtouch board schematics are available inside the users manual and that is free to download from the Microchip website. ThePIC32 mtouch board is shown below and sells for $24.95 under the part number AC323026. PIC32 mtouch Board The board already has the PICkitTM programming header so I plugged in my PICkit 3 and downloaded the software from Geoff's website http://geoffg.net/maximite.html. I used MPLAB to rebuild it using the Microchip C32 compiler (which comes in a free to download lite version) and then programmed Page 4 of 8

the module to make it a Maximite. I wasn't done though. I had to install a serial port driver for the USB communication on my PC so the module will look like a serial COM port. This is also available to download from Geoff's site but for Windows computers only. I installed this driver on my laptop running Windows 7. Windows 7 doesn't have Hyperterminal so I also downloaded the PuTTY terminal program that Geoff used in the description on his website. You can get Putty from the following website: http://www.chiark.greenend.org.uk/~sgtatham/putty. After installing PuTTY and unzipping the driver files, I then connected the PIC32 board to the computer's USB port and was prompted to select the driver. I ran the install wizard in Windows just like any new USB device and directed it to where I installed the driver. The process went smooth and it showed up as COM5 in a pop up screen after the driver installation was complete. PuTTY Setup Screen Then I started PuTTY and the configuration screen showed up. I selected the connection type "serial" and then typed in COM5 to the Serial Line box. I clicked open and the PuTTY screen appeared but blank. I thought maybe I did something wrong or maybe this board did need some modification. Then I hit the return key Page 5 of 8

and the Maximite screen came to life as seen below. Maximite Start up Screen From there I had to recall my old days of programming in VIC20 BASIC and write a quick program to flash two LEDs in a back and forth motion just like a train crossing. I had to refer to Geoff's software documentation a couple times and read through the I/O control commands and also discovered a pause command as well. The VIC20 and TRS80 didn't have commands for controlling I/O ports directly so this was a new feature for this type of programming. Back then to control the VIC20's expansion port (which was the external I/O for that computer) you had to use the PEEK and POKE commands to control the data registers in the 6502 micro. This new Maximite software was beginning to look more like the PICBASIC PRO language I wrote my first book about. The last two LEDs on the PIC32 mtouch board were pins 19 and 20 in Geoff's Maximite software. The program below was entered one line at a time. Each line needed its own unique line number. If I made a mistake I had to retype the whole line including the line number. Man did this bring back memories. Because each character is sent to the Maximite serially, I couldn't just backspace and retype. That is the way I had to write programs on the VIC20. If I had a syntax error, the Maximite sent back an error message and I had to retype it again. Page 6 of 8

Train Crossing Program Once the program was entered I typed the "LIST" command and it displayed the whole program. Now the moment of truth. I typed "RUN" at the command prompt and success; the LEDs began to flash back and forth. I tried different pause delays and reprogrammed it many times. It worked perfectly. I could now test out the Maximite without ever touching a soldering iron. I cannot explain what a thrill this was for me. It took me back to the days of my VIC20. It made me remember the first time I successfully controlled the expansion port on my VIC20. After I had learned a lot about the VIC20, I purchased a VIC20 programmer's reference manual which had the schematic and all the inner details about the VIC20's internal setup. With this information I figured out how to control the expansion port on the VIC20 using the PEEK and POKE commands in Commodore BASIC language and had connected an old SPO256 speech chip with amplifier to the expansion port. This was a chip Radio Shack sold that allowed you to create speech with the proper control of a few pins on the chip. Anyway, it wasn't long before I had the VIC20 talking with a computer robot voice. Anything I typed was converted to the proper signals and spoken by this chip. Just getting those LEDs to flash proved this type of project was possible with the Maximite though with all the advanced capabilities of the compilers for Microchip PICs I'm not sure this has the same appeal. The Maximite can draw bitmap graphics and do floating point math so recreating the old games is where most of the applications for this seem to be focused. My next step is to build an actual Maximite but the only resellers are in Australia and they are sold out. Maybe I'll make my own when I have more time. All the board files and parts list are open sourced so anybody can build their own. Page 7 of 8

Conclusion I had so much fun with this I had to share it here with my newsletter readers. In response to last months request for any information on Microchip PIC based Arduino style modules, I received information about a 40 pin Arduino module I'll probably write about in next month's letter. If you know of any other PIC based Arduino style modules please send the info on so I can include them as well. If you develop something interesting like Maximite, send me an email and I might post it in a future newsletter. In fact email me any feedback, good or bad to chuck@elproducts.com. If you get this newsletter forwarded to you then please sign-up for any future newsletters at my website www.elproduct.com. It's free. Note: The Microchip name and logo, PIC are registered trademarks of Microchip Technology Inc. in the USA and other countries. Any other trademarks mentioned herein are the property of their respective companies. Unsubscribe from CHIPs Newsletter Page 8 of 8