PCB_111000_UNO has been developed for any one who would like:
A brief introduction to the Atmega 328 hardware and the task of writing C programs for it.
Some pre-designed electronics that enables them to get started straight away.
A selection of tried and tested sample projects
In this case the pre-designed electronics consists of:
An Arduino UNO
PCB111000_1 that is designed to plug into it.
PCB111000_1 contains an 8 digit 7 segment display and some user switches. The pcbs are connected together with a programming interface and an I2C bus.
The 111000 refers to the 56 sample projects originally written for it.
The project is being presented in a series of three postings.
Part_1 of the project
PCB111000_1 a plug in pcb for the UNO
PCB_111000_UNO which consists of PCB111000_1 plugged into a UNO.
“UNO_bootloader_for_hex&text_V6.hex” a new bootloader for the UNO
Part_2 of the project
This project (part 2) provides everything needed to complete the assembly of PCB_111000_UNO and program both Atmega 328 devices.
There are 3 attachments:
pcb_design_and_assembly.zip (which includes Eagle files)
PDF file “Setting_up_PCB111000_UNO”
The third attachment WinAVR_and_UNO_files.zip gives:
Hex files for “PCB_A_Mini_OS_I2C_V18” the mini-OS and bootloader for PCB_A.
Source files for the mini-OS
Arduino project “Project_programmer_UNO”, enabling the UNO to program the PCB_A device
Two sample user projects (Proj_1B_LEDdisplay and Proj_2C1_random_LEDs_UNO)
A “Hello world” text file
Part_3 of the project
Project PCB_111000_UNO part 3, to be posted later will give a selection of sample projects.
Part 4: Compiler choice
WinAVR, Atmel Studio and Arduino all have a great deal in common. Many projects can easily be transferred between them. And of course projects can use elements of all three.
This is the case with PCB_111000_UNO.
Most of the system code was developed with WinAVR
The hardware relies on the UNO and Arduino compiler
User projects are probably best developed using Atmel Studio
WinAVR was probably the obvious choice ten years ago, but more recently many programmers seem to have migrated to Atmel Studio. Arduino which offers, in one package, all the hardware and software needed to get started , has also become very popular especially with newcomers to micro-controller programming.
A PC application normally used for sending hex files to the target processor hardware has not been written. Instead a terminal program is used and the entire hex file is sent to the bootloader.
There are several excellent free terminal programs. My favorite can be downloaded from https://sites.google.com/site/terminalbpp/. But take care to download the version 20130820, other versions
may have an issue with the "scroll" button.
A good text is also a great help. I recommend going to “https://epdf.tips/c-programming-...” and downloading a copy of Jo Pardues book. It is full of interesting background, examples and amusing anecdotes, though it was written for a different project, the AVR Butterfly.