아두이노 > Single Chip AVR BASIC Computer V0.3

TODAY1,000 TOTAL604,546
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 아두이노 | 아두이노 | Single Chip AVR BASIC Computer V0.3

페이지 정보

작성자 키트 작성일2017-09-13 13:17 조회840회 댓글0건

본문

Single Chip AVR BASIC Computer V0.3

A computer running BASIC, generating composite video and reading PS/2 keyboard input using a single ATmega microcontroller


DESCRIPTION
A computer running the TinyBASIC programming language on an ATmega 1284P microcontroller as well as generating composite video signals and reading PS/2 keyboard input. The computer is easy to assemble at home as all components are through-hole. System features include: 
- 8bit ATmega microcontroller running at 16MHz (ATmega 1284P). 
- Over 7KB of memory available for creating BASIC programs. 
- Header for external EEPROM 'cards' which allow full size programs to be saved (using a 25LC640 EEPROM IC); 4KB internal EEPROM available within the microcontroller. 
- USBasp programming header allowing easy programming of the computer once assembled. 
- Many GPIO pins for connecting to components and other circuits.
DETAILS

 

This project is a homebrew 8bit computer which runs a BASIC programming language known as TinyBASIC Plus (TBP for short) and can easily be assembled at home. It generates composite video which is supported by many screens (such as TVs) and reads PS/2 keyboard input. 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. Over 7KB of SRAM is available for writing TBP programs and an 8KB EEPROM card (connected to the storage header) can be used to save full size programs; the ATmega 1284P also has 4KB internal EEPROM available for saving programs to. The system was designed in KiCAD and the following image shows the schematic:

1039641408039150849.png

Optionally, a small PCB (EEPROM Card) containing a 25LC640 EEPROM IC can be connected to the system to allow full size programs to be saved. These cards simply connect using a male and female pin header making them easily removable. A header is present on the PCB allowing the user to select which EEPROM to save BASIC programs to (internal or EEPROM card). These cards can be used to transfer BASIC programs between computers, allow other devices (such as an Arduino) to program the cards or to allow full size programs to be saved. The following images show one of the EEPROM cards which was created using the milling process on 0.8mm red PCBs:

3709101408039705766.JPG

7419541408039728731.JPG

The following image shows the schematic diagram for the EEPROM storage cards:

9778981408620088001.png

The following image shows the storage header pinout which is used to connect the EEPROM cards to the computer:

7317351408619307480.jpg

PCBs for the single chip computer (V0.3) are available to buy from me through eBay by clicking the "Purchase PCBs" link at the side of this page. The EEPROM card PCBs can be easily made at home using the photo-etching process or if there is enough interest in these EEPROM card PCBs, I will get some manufactured and also put those up on eBay. The "EEPROM Card Files" link goes to a RAR archive which contains the artwork for the EEPROM storage cards (in an .oxps file), the gerber files and the schematic diagram for the storage cards.

The "Firmware" link on this page goes to a RAR archive which contains the TinyBASIC Plus sketch, the TVout library, the PS/2 keyboard library and the SPIEEPROM library (note, the library folders need to be put into the Arduino IDE libraries folder [within documents on windows]).

Once all the components from the component list have been gathered (note, the male pin headers on the component list can be created by cutting down a long male pin header strip), 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).

 

COMPONENTS
  • 1×ATmega 1284P8bit Microcontroller
  • 1×L7805Power Management ICs / Linear Voltage Regulators and LDOs
  • 1×0.33uF Electrolytic Capacitor
  • 1×0.1uF Electrolytic Capacitor
  • 2×22pF Ceramic Capacitor
  • 1×4.7uF Electrolytic Capacitor
  • 1×2.1mm Barrel JackPower Socket
  • 1×3mm LEDPower LED
  • 1×RCA SocketComposite Video Output Connector
  • 1×PS/2 Mini Din 6 SocketKeyboard Connector

See all components

PROJECT LOGS
  • PCBs & Component Kits

    3 months ago • 0 comments

     

    6764871431815523436.jpg

    8681501431815548731.jpeg

    More PCBs and component kits are now available on eBay and to purchase directly through PayPal. Visit my website for the links: http://www.danselectronic.systems/projects/avr-basic-computer-v0-1/

    I currently have 10 kits available and 15 PCBs.

     

  • New PCBs

    8 months ago • 0 comments

     

    681101417897543628.JPG

    The design of this computer has been updated and I have PCBs available for sale through eBay (using the link on the left - "Purchase PCBs"); the direct link:http://www.ebay.co.uk/itm/121510974344

    A new page dedicated to this new computer design has been created:https://hackaday.io/project/3537-avr-basic-computer-v01

    This design includes an additional EEPROM IC to allow full size BASIC programs to be saved. The PCBs are white in colour with ENIG finish.

     

  • New Boards

    9 months ago • 1 comment

     

    8513991417031846629.JPG

    I received the new boards at the end of last week (one of them can be seen in the image - white PCB with ENIG finish and black silkscreen) and will be assembling one of them this weekend (the plan was to do it today but I haven't received all of the components yet). The remaining boards will be put on eBay once I have assembled one.

    As mentioned in the previous log post, this board is a new design which adds an additional IC (an EEPROM IC) to the single chip computer which allows full size programs to be saved.

    Update (28/11/14): I still haven't yet received the two capacitors for the voltage regulator (C1 and C2 in the picture) but I will be assembling the rest of the board this weekend. Once I receive the capacitors and test the board, the remaining boards will be put up on eBay. Hopefully they will come on Monday so I can have the board completed the same day. 

     

View all 4 project logs

BUILD INSTRUCTIONS
  • 1

    These instructions will explain how to program the AVR bootloader and firmware using the Arduino IDE on a Windows system.

    The Bootloader

    After downloading the firmware and the bootloader files (bootlader can be downloaded as a ZIP from the github page), the bootloader files need to placed within the Arduino "hardware" folder and the firmware files need to placed within the Arduino "libraries" folder and the Arduino sketches folder. As can be seen from the image below, copy the ATmega 1284P bootloader folder ("mighty-1284p-master") into the hardware folder within the Arduino directory (Documents -> Arduino -> hardware):

    1251281408620903124.png

    Next, open the Arduino IDE and set the board to "Original Mighty 1284p 16MHz" and the programmer to "USBasp; both are done under the tools menu as shown in the below images:

    6124141408621109628.png

    1758381408621125205.png

    The bootloader which is programmed to the AVR must be "Original Mighty 1284p 16MHz" as glitches with TVout are caused using the optiboot bootloader.

    Note, an Arduino acting as an ISP can be used to program the single chip computer if a USBasp programmer is not available. Google "Arduino ISP" for instructions on how to do this (the SPI pins of the ATmega 1284P are mapped to the USBasp header - pinout for this header can be found by googling "USBasp pinout").

    Once the board type and the programmer have been selected, the single chip computer can be powered up and the programmer connected. "Burn Bootloader" can then be selected within the tools menu; once this is completed the bootloader has been burnt to the AVR.

  • 2

    The Firmware

    After extracting the firmware RAR archive, four of the folders have to be moved into the Arduino "libraries" folder (Documents -> Arduino -> libraries) and one of them into the Arduino sketches folder. The following image shows the folders which need to be copied into the Arduino "libraries" folder (highlighted on the left - "ps2uartKeyboard", "SpiEEPROM", "TVout", "TVoutfonts"):

    2073271408621616263.png

    Next, the remaining folder ("Single_Chip_Computer_V0_3_EEPROM_Cards") needs to be copied into the Arduino sketches directory (Documents -> Arduino) as shown in the following image:

    4950891408621791396.png

    If the Arduino IDE is already open, close it, reopen it and load the single chip computer sketch:

    5590381408621918320.png

    To upload the firmware (the sketch), select "Upload Using Programmer" from the file menu:

    8141831408622112457.png

    Once the sketch has been uploaded to the computer, the programmer can be disconnected. The computer is can then be connected to a TV and a keyboard and used to write BASIC programs.








  • These instructions will explain how to program the AVR bootloader and firmware using the Arduino IDE on a Windows system.

    The Bootloader

    After downloading the firmware and the bootloader files (bootlader can be downloaded as a ZIP from the github page), the bootloader files need to placed within the Arduino "hardware" folder and the firmware files need to placed within the Arduino "libraries" folder and the Arduino sketches folder. As can be seen from the image below, copy the ATmega 1284P bootloader folder ("mighty-1284p-master") into the hardware folder within the Arduino directory (Documents -> Arduino -> hardware):

    1251281408620903124.png

    Next, open the Arduino IDE and set the board to "Original Mighty 1284p 16MHz" and the programmer to "USBasp; both are done under the tools menu as shown in the below images:

    6124141408621109628.png

    1758381408621125205.png

    The bootloader which is programmed to the AVR must be "Original Mighty 1284p 16MHz" as glitches with TVout are caused using the optiboot bootloader.

    Note, an Arduino acting as an ISP can be used to program the single chip computer if a USBasp programmer is not available. Google "Arduino ISP" for instructions on how to do this (the SPI pins of the ATmega 1284P are mapped to the USBasp header - pinout for this header can be found by googling "USBasp pinout").

    Once the board type and the programmer have been selected, the single chip computer can be powered up and the programmer connected. "Burn Bootloader" can then be selected within the tools menu; once this is completed the bootloader has been burnt to the AVR.

  • 2

    The Firmware

    After extracting the firmware RAR archive, four of the folders have to be moved into the Arduino "libraries" folder (Documents -> Arduino -> libraries) and one of them into the Arduino sketches folder. The following image shows the folders which need to be copied into the Arduino "libraries" folder (highlighted on the left - "ps2uartKeyboard", "SpiEEPROM", "TVout", "TVoutfonts"):

    2073271408621616263.png

    Next, the remaining folder ("Single_Chip_Computer_V0_3_EEPROM_Cards") needs to be copied into the Arduino sketches directory (Documents -> Arduino) as shown in the following image:

    4950891408621791396.png

    If the Arduino IDE is already open, close it, reopen it and load the single chip computer sketch:

    5590381408621918320.png

    To upload the firmware (the sketch), select "Upload Using Programmer" from the file menu:

    8141831408622112457.png

    Once the sketch has been uploaded to the computer, the programmer can be disconnected. The computer is can then be connected to a TV and a keyboard and used to write BASIC programs.



댓글 0

조회수 840

등록된 댓글이 없습니다.

아두이노HOME > 아두이노 > 전체 목록

아두이노 목록
제목 작성자 작성일 조회
61 아두이노 Adafruit Motor/Stepper/Servo Shield for Arduino kit - v1.2 이미지 키트 17-09-13 1071
60 아두이노 가스센서 이미지 키트 17-09-13 1030
59 아두이노 Arduino Waveform Generator 이미지 키트 17-09-13 821
58 아두이노 Arduino Waveform Generator 키트 17-09-13 808
57 아두이노 Arduino Waveform Generator 이미지 키트 17-09-13 1017
56 아두이노 Exclusive 2.5 GHz Frequency Counter 이미지 키트 17-09-13 2169
55 아두이노 AVR SIMULATOR IDE 이미지 키트 17-09-13 696
54 아두이노 Marlin 이미지 키트 17-09-13 773
53 아두이노 opencircuits.com - Oscilloscope 이미지 키트 17-09-13 792
52 아두이노 Zorkduino 키트 17-09-13 773
51 아두이노 Single Chip AVR BASIC Computer V0.1 키트 17-09-13 832
현재글 아두이노 Single Chip AVR BASIC Computer V0.3 키트 17-09-13 841
49 아두이노 Single Chip AVR BASIC Computer 키트 17-09-13 753
48 아두이노 Single Chip Computer: Easy to produce AVR BASIC Computer 이미지 키트 17-09-13 826
47 아두이노 Arduino Realtime Audio Processing 이미지 키트 17-09-13 768
게시물 검색

2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기