un1b0x - 2020 EUzebox BOM

Topics regarding the Uzebox hardware/AVCore/BaseBoard (i.e: PCB, resistors, connectors, part list, schematics, hardware issues, etc.) should go here.
User avatar
danboid
Posts: 1936
Joined: Sun Jun 14, 2020 12:14 am

Re: Unibox - WIP 2020 EUzebox BOM

Post by danboid »

Thanks Artcfox!

I had noticed the pos 1 and pos 2 in the datasheet diagram but I was unsure it was the right datasheet because it showed N pins instead of 6.

Have you written a full book about the Uzebox? What is it called? Is it stlll in print?
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Unibox - WIP 2020 EUzebox BOM

Post by Artcfox »

No problem!

No, it was a book on the TLC5940:
https://sites.google.com/site/artcfox/d ... he-tlc5940
but it uses an AVR microcontroller.

I did write a guide (not book) for Uzebox Video Mode 3 with scrolling though:
https://sites.google.com/site/artcfox/o ... blications
Here is the corresponding Git repo:
https://github.com/artcfox/uzebox-mode- ... ling-guide
User avatar
danboid
Posts: 1936
Joined: Sun Jun 14, 2020 12:14 am

Re: Unibox - WIP 2020 EUzebox BOM

Post by danboid »

Looking at the casing for the 6-pin header more closely I now see there is an arrow on the front (the side with the notch) left which is probably supposed to indicate pin 1.
User avatar
danboid
Posts: 1936
Joined: Sun Jun 14, 2020 12:14 am

Re: Unibox - WIP 2020 EUzebox BOM

Post by danboid »

What does the circle placed next to pin 9 of the MCU represent?
Screenshot from 2020-07-22 17-01-29.png
Screenshot from 2020-07-22 17-01-29.png (70.67 KiB) Viewed 8066 times
Do I have to wire the reset button too to just get the 6 pin header working?
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Unibox - WIP 2020 EUzebox BOM

Post by CunningFellow »

The circle means the same as the solid line above the word "reset"

It means that pin is inverted logic (active low)

For safety you should always have a 10K resistor pulling reset to VCC. This is unless you know for sure there is some reason not too.
User avatar
danboid
Posts: 1936
Joined: Sun Jun 14, 2020 12:14 am

Re: Unibox - WIP 2020 EUzebox BOM

Post by danboid »

Thanks CF!

Apparently I should only have to wire up a 10k resistor now before I should be able to program the chip but that needs to be placed in some holes I have clogged with solder after having placed something there on the board previously and then hackishly removed it.

I have ordered a solder sucker but it won't arrive until Saturday. I have successfully declogged a hole already on the board using my pointiest soldering iron head but it has caused damage to that hole so I think I'm prob best off waiting until the solder sucker arrives now, unless anyone has any other less harmful solutions for removing unwanted solder from breadboard holes? My wire wool + flux dabbing isn't cutting it.

EDIT

I was unable to wait for the solder sucker. I have managed to clear the solder within the holes using my soldering iron alone but it has ruined the plating on those holes. I'd imagine that's pretty hard to avoid when desoldering.
IMG_20200722_232936-small.jpg
IMG_20200722_232936-small.jpg (212.66 KiB) Viewed 8059 times

IMG_20200722_232832-small.jpg
IMG_20200722_232832-small.jpg (118.12 KiB) Viewed 8059 times
User avatar
danboid
Posts: 1936
Joined: Sun Jun 14, 2020 12:14 am

Re: Unibox - WIP 2020 EUzebox BOM

Post by danboid »

After almost two weeks of working on my Uzebox, I think I've done enough so that I should be able to use avrdude to flash the bootloader,or at least if I understood and did what Jubatian said I needed to do but I don't think avrdude is working yet; or more likely I've messed my wiring up somehow.

Before I go checking what I can with a multimeter, it would be good if someone good have a look at my schematic. I have ticked off every connection I have made so far but maybe I've missed some that are required to use the 6-pin head to flash the MCU?

Unib0x-chip-programmer-schematic.jpg
Unib0x-chip-programmer-schematic.jpg (173.08 KiB) Viewed 8013 times

Or maybe someone can spot something wrong looking at the board?

Un1b0x-chip-programmer-board.jpg
Un1b0x-chip-programmer-board.jpg (195.23 KiB) Viewed 8013 times
top-small.jpg
top-small.jpg (297.44 KiB) Viewed 8047 times

I have only tested with my PSU set to 5V but maybe I need to set it higher?

Here's what happened when trying to use avrdude:

Code: Select all

ISDADS\sgs548@salv13603-ub:~/src/uzebox/demos/Bootloader5/default$ avrdude -v -c USBasp -P usb -p m644 -U flash:w:Bootloader5.hex

avrdude: Version 6.3
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/local/ISDADS/sgs548/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : USBasp
         AVR Part                      : ATmega644
         Chip Erase delay              : 55000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10   128    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: error: program enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

ISDADS\sgs548@salv13603-ub:~/src/uzebox/demos/Bootloader5/default$ sudo avrdude -v -c USBasp -P usb -p m644 -U flash:w:Bootloader5.hex

avrdude: Version 6.3
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/local/ISDADS/sgs548/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : USBasp
         AVR Part                      : ATmega644
         Chip Erase delay              : 55000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10   128    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

ISDADS\sgs548@salv13603-ub:~/src/uzebox/demos/Bootloader5/default$ sudo avrdude -v -c USBasp -P usb -p m644 -U flash:w:Bootloader5.hex -F

avrdude: Version 6.3
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/local/ISDADS/sgs548/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : USBasp
         AVR Part                      : ATmega644
         Chip Erase delay              : 55000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10   128    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: error: program enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x504596
avrdude: Expected signature for ATmega644 is 1E 96 09
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.

avrdude done.  Thank you.

ISDADS\sgs548@salv13603-ub:~/src/uzebox/demos/Bootloader5/default$ sudo avrdude -v -c USBasp -P usb -p m644 -U hfuse:w:0xd2:m -U lfuse:w:0xf7:m -U efuse:w:0xfc:m

avrdude: Version 6.3
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/local/ISDADS/sgs548/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : USBasp
         AVR Part                      : ATmega644
         Chip Erase delay              : 55000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10   128    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: error: program enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

ISDADS\sgs548@salv13603-ub:~/src/uzebox/demos/Bootloader5/default$ sudo avrdude -v -c USBasp -P usb -p m644 -U hfuse:w:0xd2:m -U lfuse:w:0xf7:m -U efuse:w:0xfc:m -F

avrdude: Version 6.3
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/local/ISDADS/sgs548/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : USBasp
         AVR Part                      : ATmega644
         Chip Erase delay              : 55000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10   128    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: error: program enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0xe0a5e4
avrdude: Expected signature for ATmega644 is 1E 96 09

avrdude done.  Thank you.
I'm presuming that the following errors are fatal and means it hasn't worked:

Code: Select all

avrdude: error: program enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
Last edited by danboid on Mon Jul 27, 2020 11:52 am, edited 2 times in total.
User avatar
danboid
Posts: 1936
Joined: Sun Jun 14, 2020 12:14 am

Re: Unibox - WIP 2020 EUzebox BOM

Post by danboid »

My USBasp programmer has a few jumpers on it but I don't know what they do. I wonder if they might need to be set differently?
USB-small.jpg
USB-small.jpg (94.46 KiB) Viewed 8044 times
Last edited by danboid on Sun Jul 26, 2020 10:52 am, edited 2 times in total.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Unibox - WIP 2020 EUzebox BOM

Post by Artcfox »

https://www.freetronics.com.au/pages/us ... tart-guide

When programming, I would make sure that you don't have an SD card in the Uzebox, be sure that the jumper settings on the programmer are correct (5V) and make sure the jumper is set so you can provide your own power to the Uzebox. And then of course, make sure you supply power to the Uzebox.
User avatar
danboid
Posts: 1936
Joined: Sun Jun 14, 2020 12:14 am

Re: Unibox - WIP 2020 EUzebox BOM

Post by danboid »

Thanks Artcfox!

I don't think I made the best choice of AVR programmer. First, it has a 10 pin header so I have to use the included adapter to connect it to my UB and I've not been able to find a manual for this exact device.

Its got 2 sets of jumpers attached - JP21 seems to select the voltage. I'm unsure about JP1 but from looking at other USBasp devices I expect that is the self-program jumper, which I don't think I need. I have written to the Amazon seller to ask them what the jumpers do. Its got space for a third, unconnected jumper too.

I need not worry about SD cards as I've not attached that yet.

I have tried running avrdude with the jumper in both the 5V and 3.3V positions as well as having no jumper (which I think means self-powered) and also with and without the -B 1 switch which the guy on YT recommended but I get the same errors as before. I'm going to check the board with a multimeter now but I think I may end up having to order a known working programmer that doesn't need an adapter.

When I've got avrdude working, I'll be submitting a PR to update the Bootloader5 README with instructions for flashing it with avrdude. Currently the bootloader README just gives a link to a forum post which only has instructions for Windows users.
Post Reply