AT40DB – A Development board for 40 pin avr microcontroller

AT40DB Schematic
Hi guys,
here is my idea to make a development board for 40-pin AVR microcontrollers. This board can work with two different voltages, 5VDC and 3.3VDC, has a 10-pin port ICSP, you can choose the clock source (crystall or oscillator), has a reset button of the microcontroller, and provides 4 LEDs and 4 buttons activated by jumpers. The four ports of the microcontroller are made ​​available by 10 pin ports, including the eight digital I/O plus power and ground.

The buttons work at a high logic level, ie when the button is pressed on the corresponding pin of the microcontroller you can read an high level Vcc.

The leds are connect on portb, from Portb0 to Portb3.The buttons are connect on porta, from Porta0 to Porta3.
The pin number 1 on ICSP port is VCC.
Pin 9 on I/O port is Vcc.
Pin 10 on I/O port is Gnd.

The pcb layout is optimized for dual face copper board, but simple to reproduce by toner transfert metod.

Click here to download entire project.

Hardware , , , , , ,

CX80 Update!!

Hello to all,
public a new firmware version of the CX80 (1.5) and the Rev. B of the pcb schematics optimized for the toner transfert method. Into .zip file also find the original version of pcb.

Click here to download entire project.

CX80 , , , , , ,

CX80 – Project download

CX80 Board

The CX80 – A Brief Description
The CX80 is a computer based on Z80 CPU that you can build at house with a really low price. Of course I asked for some more in-depth knowledge of electronics such as knowing how to make a single sided pcb and know how program the atmel microcontroller. If you are not able to make it alone, do not worry, I can build it for you! I do not provide: a regulated 4.5 – 5.0 Volt DC mains adapter with a 1.3mm jack (centre positive) capable of supplying about 800 mA (or more), a sd card (FAT16/32 formatted) and an RCA cable to connect the CX80 at the  television, a piezo speaker and a switch for the reset pins.

On CX80 board there are four jumpers that are used to configure the system or optional connections:

  • JP1 – Reset (if you short this pins, CX80 reset)
  • JP2 – PAL/NTSC Video (closed = NTSC, open PAL output)
  • JP3 – Rvideo (if shorted, enabled the 75 ohm resistor on video signal. Short it if you see grey color on video)
  • JP4 – Piezo sound (connect a piezo speaker for sound, pin2 = GND)

The SDBoard for CX80
SDBoardThe CX80 required the SDBoard to properly access the SD card. In project zip file you can find the schematic necessary to its construction. IMPORTANT! The signals of the data bus of the CX80 are at 5 volt, the SDBoard is necessary to reduce the voltage to 3.3 volts, for a correct operation of the SD card

The pinout of SD card port on CX80 is:

  • PIN1 = SD_SEL
  • PIN2 = DI
  • PIN3 = GND
  • PIN4 = 3.3 Vcc (from voltage regulator on CX80 board)
  • PIN5 = SCLK
  • PIN6 = GND
  • PIN7 = DO

I also added a pdf file that explains how to create an sd card breadboard socket. The file is “Cheap-DIY-SD-card-breadboard-socket.pdf” (from Instructables site) and is located in the folder “Schematics\SDBoard for CX80”.
Be very careful to observe the orientation of the pin, otherwise it will not work at all.

The female header SV2 must be connected to CX80 SDCard port.
The female header SV1 must be connected to SD card breadboard socket.

When you mount the SDBoard on the CX80 you need to turn it upside down, so as to see the bottom part of the electrical circuit.

For more information see file CX80_Manual.pdf into zip project file.

Click here to download the entire project

The author is not responsible for any malfunction or damage to property  or people resulting from the use of the information contained in this document.

The CX80 is designed to be easily made ​​at home, but of course its assembly requires some knowledge of electronics, but if you are not able to build it alone, I can build it for you. If interested please email me at the address below – once I get enough enquires it becomes economical to source the parts for another batch. The price for a complete board is € 23 (plus postage + 3.9% Paypal fee) – I can send them worldwide. Please bear in mind I make these as  a hobby and don’t have the resources  to buy in bulk so the price pretty much reflects the total cost of the components. I solder everything by hand and make very little (if any) profit.

The CX80 is now also available in kit form! Here’s what you can choose from:

  • The CX80 pre-assembled with SD board is 26€ + 1.47€ for PayPal.
  • The CX80 in full kit is (with SD board PCB) 20€ + 1.47€ for PayPal.
  • The CX80 small kit (preprogrammed ATMega32 + preprogrammed ATMega8 + PCB + SD board PCB) is 14€ + 1.47€ for PayPal.
  • The CX80 micro kit (preprogrammed ATMega32 + preprogrammed ATMega8) is 8€ + 1.47€ for PayPal.

Shipping in Europe is 12€ because the package weighs is less than a kilogram.

ecalogiuri at gmail (point) com

CX80 upgrade to 1.4 version (01/08/2013).

CX80 , , , , , , ,

CX80 Second Video

Hi boys, this is the second video of CX80:

Within a few days I will give schematics and firmware!

CX80 , , , , ,

CX80 – Massive Debug Test

These days i discovered a small bug in the firmware, which i promptly corrected. Following this event i decided that, before releasing the project, it is good to run a massive firmware test. If all goes well, within a few days will release the project with all its specifications.

CX80 , , , ,

CX80 – First video

Hi boys, finally is ready the first video showing the CX80 running! Look for good:

Beautiful, is not it? Within a few days I will give schematics and firmware!

CX80 , , , , ,

Why CX80 uses the Z80 CPU

Since I am completing the final testing of the CX80 bios, i want to give more information on the CPU (emulated) that will use my computer. The main reason that convinced me to emulate a Z80 CPU is, of course, that i know very well this piece of silicon, but it is not the only reason. This processor is still very much supported by the world community and is very easy to find free documentation and software development tools. A problem that occurs when you create a project from scratch as the CX80 is to develop the software that makes the machine run. The easiest way is to use a compiler for Z80 assembler, but i want to have something that is easier to “manipulate”, i want to be able to develop using C language! So since the great support this processor continues to have, it is very easy to find on the net software tools most appropriate to our cause.

The documentation on the CX80 will contain examples of code written in assembler and we’ll use these development environments:

zDevStudio – Z80 Development Studio
This is one of my previous project. It is an free IDE to facilitate the writing of assembler code for Z80 CPU, it is written in Lazarus and is based on PASMO assembler. Available for Windows and Linux.

More information and downloads on: zDevStudio Main Page

SDCC – Small Device C Compiler
SDCC is a retargettable, optimizing ANSI – C free compiler suite that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based (hc08, s08) and Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit 2000/3000, Rabbit 3000A). Obviously, in order to support CX80 needs some libraries written for it, which is currently being completed. Available for Windows and Linux.

More information and downloads on: SDCC – Small Device C Compiler

These two development environments certainly will satisfy all the needs you may have. See you soon guys!

CX80 , , , , ,

CX80 – BIOS running for the first time


This is the first time that the BIOS is running! As you can see has successfully tested the ram, the SD and mounted the filesystem. Consequently, all hardware is working properly. The development of the BIOS progresses every day and his first release is imminent. Keep following this page guys, here we are!

CX80 , , , , ,

CX80 – More info.

Ever since I am passionate about computer science (in 1988) I’ve always wanted to build my own small computer. Why? Because when you’re passionate one thing you can not only use it, but understand it in its entirety. I must say, though, that being able to achieve something interesting took a long time for me. The part that gave me the most trouble was the video part. I tried a lot of documentation on how to generate a video signal, but with little success. Finally  i realized that a small microcontroller is powerful enough to generate a video signal in black and white. To begin i thought it was more than enough and thus was born my first prototype. I called it MegaZ80, because it is based on microcontrollers made ​​by Atmel. Of course the “Z80″ in the name refers to the glorious 8-bit processor made ​​by Zilog. But CPU in my project is not “real”, but rather emulated! Thanks to MegaZ80 I have become familiar with the world of microcontrollers and the art of making your own printed circuit. Aesthetically, however, the prototype was not only inconvenient to use but also ugly!. It was divided into three separate circuits: CPU, RAM and I / O. All connected by a mass of electric cables :-)

Tired of this little monster of connections, I decided to make my computer into a single circuit, large 160×100 mm exactly. After having designed thanks to the famous Eagle PCB software I was able to create my own PCB and assemble all components. And yes, it works!

I am currently finishing writing the BIOS, then shortly publish the entire project.

Here are his “extraordinary” features:

  • 32 Kb of Ram, all free for the user
  • 16 Mhz clock
  • 1 channel sound (a beeper)
  • 1 expansion port
  • Z80 CPU (emulated)
  • Black and white video text mode with 38×25 characters on screen
  • PS/2 keyboard
  • Slos for read and write from a SD/HC card
  • PAL or NTSC video mode
  • 3 status led: working, SD read, SD write
  • Reset pin

I’ll post the first photo of the first model that I made:7611_4654641806812_473783103_n

It’s very beautiful, is not it? It’s very cheap to build, all at less than 25 €

In a few days more photos and news ;-)


CX80, Hardware , , ,

ProMega – ATMega Programmer

Hi all, as promised we start with my programmer for Atmel microcontrollers, called ProMega! This programmer is different from the others because, in addition to using a standard quartz oscillator can use an DIP14 clock generator. To set the operating mode you must set the jumper SV2. To use quartz oscillator you must short pin 1 and 2 of SV2 jumpers, to use DIP14 clock must short pin 2 and 3.

This programmer is designed to be used with PonyProg and must use the serial port on PC. The “input bus” (SV1 pin header) present on circuit must be connect to 9pin serial RS232 in this way:

  • PIN1 of input bus to RS232 PIN 3
  • PIN2 of input bus to RS232 PIN 6
  • PIN3 of input bus to RS232 PIN 4
  • PIN4 of input bus to RS232 PIN 7
  • PIN6 of input bus to RS232 PIN 8

PonyProg must be configured in this way (if you use a different COM port, please select the right COM number):PonyProg_Setup

WARNING! Promega need an external power supply of 5 V to be applied on the pin JP1. See attachments for more information.


Here the image of the PCB (low resolution), the entire circuit is located on the lower face of the card, only two connections must be made ​​on the upper side to complete the circuit.


This image shows the upper side of the programmer, with the necessary connections plus electrical components to be mounted.

Very important! The microcontrollers must ALWAYS be placed ONE at a time and never together!

In the attached rar file you will find schematics in Eagle format plus PDF for printing and the creation of the PCB. In a few days will insert pictures of my programmer that I made at home.

Click here to download the ProMega project!

The author is not responsible for any malfunction or damage and / or injury resulting from the use of this project.
Hardware , , ,