Uzebox DTV instructions

About now most people should be receiving their Uzebox DTVs.  So here are some quick instructions for their use.

First off.  What you should have received in the post.

p1010622

  1. The Uzebox DTV unit
  2. The TRRS (3.5mm jack) to 3 RCA lead
  3. The USB to red RCA power lead

Now – what you will need to provide yourself

p1010623

  1. A 2GB or smaller micro SD card
  2. A 5v USB phone charger (wall wart) or some other source of 5V USB power

At this stage you MUST use a 2GB or smaller micro SD card.  There will be a future update that will allow the Uzebox to use SDHC cards.  For now though you need to dig out that old 2Gb card out of your first MP3 player.

The 5V USB power supply can be any charger from an old android telephone or tablet.  Alternately  you can plug the USB into your laptop or desktop computer to provide power.

p1010627

The above photo shows how to connect the Uzebox DTV up to power.  The USB lead goes into the 5V USB charger/wall-wart.  The red RCA female connects to the red RCA male on the AV lead.  The TRRS plug then goes into the Uzebox DTV.

The Yellow and White RCA males then plug into your TVs composite video and audio in.

When this is done you should be greeted with AVR-Megatris, as this is the game that was used to to the QC testing of the units.

tetris

To get more games onto the Uzebox DTV you must load them onto the micro SD card.

Before you can do that you have to make sure the micro SD card is cleanly formatted with FAT16.  In windows format dialog, the file system should be shown as “FAT (Default)” as shown below.  Any other options such as NTFS or FAT32 will not work.

format

You can then go to the Uzebox games and demos list

http://uzebox.org/wiki/index.php?title=Games_and_Demos

and choose which games you would like on your SD card.  Simply click on the game name to go to its wiki page.  Then download the “UZE” file for that game onto the SD card.

Once you have copied all the UZE files you want to the card, you can take the card out of your PC and pop it in the Uzebox DTV.  The card goes in as shown below.  With the gold contacts facing towards the side that has buttons on it.

p1010629

Now you just need to plug the Uzebox DTV back in and hold ANY button on the controller as the device powers up.  Holding a button down during power-up forces the bootloader menu to be displayed regardless of the system settings.

This should show you a screen that looks similar to this (but with the games you downloaded to the micro SD card).

bootloader

You can use the arrow up and arrow down buttons to highlight a game with the red bar.  Pressing “Start” on the controller will load that game.

The other thing you can do is change the way the Uzebox boots.  Pressing “Select” will toggle between booting to the menu or booting straight to the last selected game.  The bottom right hand corner of the screen will show either

  • BOOT : GAME
  • BOOT : MENU

That is all there is to playing games.

When you are ready to get into programming games, come and join us all on the Uzebox forum.

If you have any Uzebox DTV questions, please feel free to contact me directly.

Advertisements

Gay Sex Videos

Or you prefer regular titles rather than traffic generating click bait titles

The things you learn about China

As I sit here waiting for my cables to arrive from China, I have been looking back over the adventures of trawling through Alibaba many months ago finding a cable supplier.  One of the more confusing things I found was this posting

Apparently that TRRS cable is better for “Gay Sex Videos” than some other companies cable.  There I was thinking that marketing departments were getting really specific when they made ibuprofen just for tension headaches or “facial tissues”.

The really disturbing thing I found looking at all the cable suppliers was however one acronym.

CCS – Copper Coated/Coloured Steel

Now, when I made my very first Uzebox DTV, I gained some experience with this.  I bought a TRRS cable from one of Australias biggest electronics retailers.  When plugged in this cable the AVR kept resetting.  The Uzebox worked with the first cable I borrowed from a Panasonic video camera, but this second cable didn’t work.

It was a head scratching moment till I got out a multimeter and measured the resistance of the cable.  14 ohms in 1.8 meters.  That might be acceptable for carrying an AV signal, but the DTV puts the power down the red plug.  14 Ohms * 50mA = 0.7v.  Pretty marginal for a 4.3v brownout level on the AVR.

I got out a pair of cutters and started investigating.  The cable inside LOOKED like copper.  It certainly didn’t feel like copper though.  It definitely didn’t have the same resistance as copper.

At first when I saw vendors on Alibaba offering cables made from CCS I didn’t know what it was.  More trawling of suppliers led to to a few that had “Copper Coated Steel” as their material of choice.  It all made sense now.

If you happen to be a large electronics retailer and  0.70USD for a copper cable does not give you enough margin on $16 retail price, you can opt for the cheaper steel option for 0.40USD.

There are also options if having braided shielding on the cables sounds too up market.  You can opt for the cheapest vendors and they will give you two parallel wires inside a large round PVC jacket.  It looks just just like shielded cable from the outside but with none of the added benefits of shielding like – well shielding.

In the end the vendor I found made me cables made out of actual copper, that had shielding on the outside, and were 26 AWG.  All that quality only ended up costing me about 8x more than the rock bottom priced cables.  Or if I was buying 5000 units rather than the 100, then it would only cost 1.20USD which is 3x the 0.40USD of the crappiest cables available.

BTW – after showing the “Gay Sex Video” URL to people I know, the best comment I have gotten so far was

“Haha the random things you find when searching. How funny that RCA cables turned up.” – Michael-M

Post below if you’ve got a better one.

 

Uzebox DTV progress

Shipping from China is rather confusing.

The things that were meant to arrive last (SNES cases) actually arrived first.  The things that were meant to arrive first (the RCA/USB to TRRS cables) are on a very slow airplane.  The tracking information on the TRRS cables said that they were put on a plane on the 4th of December, and as of yet have not “Arrived in destination country”.

This post is meant to be about progress though, not about waiting.  So onto some photos of the said progress.

About three weeks ago an unexpected box arrived.  Inside it were 100 SNES controllers. Over a week early.

p1010560

I counted them out to make sure there was 100 of them.  Then proceeded to pull them apart.  This was an unsurprisingly tedious process.

If anyone has any use for 100 SNES controller cords, you are more than welcome to them.

Next step in the process was cutting away parts of the plastic to fit the new larger PCB, the uSD socket and TRRS plug.  When I did the first batch of five prototypes, the controller was just held to the CNC table with double sided tape.  This was a bit scary.  So for the 100 units I decided to cast a snugly fitting plastic holder.

Out with the old lego to make a box to pour in the PU plastic.  It was blutaked down and then sprayed with mold release.

I calculated how much plastic I needed and mixed it up.  And that is when the problems started.

p1010564

The large batch was so exothermic that it started to go opaque and harden in about one min.  I quickly grabbed the box and started pouring in the rapidly setting plastic, but a few 10’s of seconds later it was mostly set.  It looked and felt like some weird large tongue hanging out of the mixing cup when it was partially set and still rubbery.

So I tried it again, but this time aimed to have the liquids mixed and poured in well under a minute.  The photos below show that it didn’t turn out great, but it made a serviceable holder.

The lesson I can take away from this – stick to small batches.  So far all my castings have been very small batches of say 20 grams or less.  This >100 gram batch was extremely hot, impossibly fast to work with, and made lots of bubbles.

When I did the pour for the back part of the case, I made it as two smaller batches of about 60g each.  This was also a bit hot and fast, but a lot more manageable.

The plastic holder was then mounted to the base of the Roland MDX 20.  The grey plastic SNES controller pushed into the snug fitting new holder. The the NC-code was sent to the CNC machine.

p1010581

There is a very boring 3 min long video of it being cut on the you tubes here https://www.youtube.com/watch?v=NRADneg2RA0.

How the NC code for cutting gets created is interesting in itself and will be the topic of a future blog.  For now though, I can leave you with some shots of the final cut front and back shells.

All 100 cases are cut and ready for reassembly with the new PCBs

 

 

 

Slide viewer LED upgrade

Recently I have been going a bit crazy putting LEDs in things.  Probably because it is an easy way to get “runs on the board” as I get my confidence back.  This one was upgrading a hand held slide viewer for my father.

The slide viewer itself was awesomely retro looking.  It ran off two C sized batteries and it also feels lovely and solid.  The big downside was how it actually functioned.  There is a torch bulb sitting maybe 10mm behind a partly opaque sheet of white plastic.  The blub had an awful orange tint and the screen was not at all uniform, as the photo below shows.

p1010409

Aside from the slide viewer I also had a Nokia N93 with a broken LCD screen.  The LCD screen seemed like a perfect fit for the back of the slide viewer case.

p1010400

First step in getting to the LED backlight diffuser was to pull off the front glass/polarizer.  You should be careful if you are going to do this, as bits of glass can fly around when getting it off.  Wear safety goggles I guess.   After the slightly difficult task of getting the front glass off, the sandwich of the LCD glass can easily be folded back.  The flexible PCB acts kind of like a hinge to fold it back.  Just get to it with a pair of scissors because we only want to keep the back part with the LEDs in it.  Just don’t damage the thin bit of flexible PCB leading to the plug.  We need that to feed the mA down.

You can find pinouts for the N93 LCD here on Andy Browns web site.  It shows that the four LEDs are in two strings of two LEDs each.  One on pins 11 and 14,  and the other on 12 and 13.  I hooked them up with some wire wrapping wire and forced 20mA into the wires.  At this stage I took a photo of the light bulb next to the LEDs for comparison.

I could not easily hook the LEDs up to the batteries in the slide viewer.  Four white LEDs in series would be 12 or more volts.  I only had 3v from batteries, so needed some kind of boost converter.  Andy Brown to the rescue again.  I had previously gotten some of his Nokia E73 LCD driver boards for testing with a hand held video game project.  I hacked off the side with the LED driver.  Soldered on the parts, and wired it up to the blue wires from the previous step.  The extra blue wire you can see going from pin three to pin five on the SOT23-5 IC is to hard wire the Enable pin.

A thin layer of Araldite glue was applied to the back of the LCD and to the soldered up connector.  This was allowed to dry, as it was to act as insulation to stop shorts, not as an adhesive at this stage.  Then once the first batch of Araldite was dry, more was used to glue the driver PCB and the connecting wires securely to the back of the LCD.

Now came the irreversible step of hacking the slide viewer.  An Xacto razor saw was used to hack of the plastic dome as well as the copper strip that held the lightbulb.  The LCD/Driver part was then glued with still more Araldite to the back of the newly hacked plastic.

And this is now what it looked like reassembled.  The improvement in quality was amazing.  Brightness, colour and uniformity was in a different class than before the mod.  Sadly photos did not do it justice at all, so I will leave it with just the photos of the white screen which does look fabulous compared to the original light.

Also shown is a photo of the bits left over to be thrown away.

How about the efficiency?  Well that can be worked out from the NCP5007 LED driver datasheet.  Looking at formula on page 37 of the datasheet, and you can see that a much better idea is to just get out a crappy $7 multimeter and measure the current.

140ish mA. That is about 10mA less than the incandescent bulb was drawing, but the light produced is much, much brighter.  Better still it will stay the same brightness all the way till the batteries are totally flat.

p1010431

BTW – If you enjoyed this retro slide viewer upgrade, and you like retro video gaming, you should check out our Uzebox DTV kickstarter campaign.

Edit: Welcome Hack-a-Day viewers

The Uzebox DTV 1st prototype

This is a repost from the dump I did on Imgur about building the prototype of the Uzebox DTV (which is now on Kickstarter).  I assume that’s OK because Imgur loves reposts.

p1010055

The first prototype of my own Uzebox I built into an SNES controller

The Uzebox is a homebrew 8-bit video game console you can build yourself. It was designed in 2008 by a Canadian guy Alec Bourque. They sell the kits of the original at Adafruit you can solder together yourself. I decided I wanted to make my own version that fits inside an old SNES controller. Because Alex is awesome and he made everything open source which made this was possible.

This was the first one I made just after I finished putting it together. I’ve made seven total now. Two of this home etched PCB one and five with a PCB I sent of to China. All the design files / gerbers for this one are available to download on the Uzebox forums. I am still touching up the newer sent to China version but will post those files as well.

Modifying a clone SNES controller bought of ebay

Using an old rusty xacto razor saw to cut modify the controller to fit in the plugs/sockets I needed

Cut location

Just shows the location of the cut if you want to make one yourself.

Out with the Dremel

Obv. this photo was a set up to show where to cut and is not an action shot.  The real cut was some messy hand held action.

Where to make that cut

It’s not critical height.  As long as it is low enough.  No higher than this

Filing out the slot for the SD card

This photo is actually out of order. I didn’t cut the uSD card slot on the first one till after the PCB was made. But on the 2nd one I knew from the start. And if you want to make one yourself, you know as well 🙂

Reaming with a drill bit

to enlarge the hole for the TRRS plug.

Reset button and Programming connector slot

Again out of order. I didn’t do these till much later on the first prototype. Can’t hurt to do them early now you know the location though.

Not very neat

I could be better at doing the whole chain drilling and filing thing. Sorry.

What it looks like from the end when complete

This is what the final result of the case modding will look like.

 

Test fitting TRRS socket 1

Back to the real time line of making the prototype. Test fitting the TRRS to make sure it could sit on a PCB and come out of the hole the captive cable previously came out of.

Test fitting TRRS socket 2

As above, but with the lid on.

Used gEDA PCB to make a paper test fit

Drew the locations of the buttons, the outline of the areas covered by the silicone membranes, and the areas that had plastic pegs in the way. These are “keep out” areas I could not place components in.

First PCB test fitted

Sorry, do not have many shots of making the PCB. Standard photographic methods used. Etching was in my home made spray etcher “The Etchinator” which you can see on instructables if your interested.

More test fits

Yay – the buttons lined up.

PCB shot after tinning

I don’t use the immersion tin stuff. This is the rub on silver stuff.

Artists impression

Well a piece of computer softwares artistic impression. What gEDA thought it would look like if it had a solder mask.

Gratuitous close up shot

Area of the PCB showing some buttons and a SOIC16 4021

They matched the holes

Happy times. The PCB CAD matched the real world and the TRRS and the uSD socket line up.

All the components soldered on now.

This was just done with a Hako 926 equivalent (half of a Hako 701) and Milticore 362 standard solder. Apart from the uSD socket that was 362 and a blow torch.

PCB Close ups.

The Xtal, the power LED, and the reset switch. I didn’t have any 0805 red LEDs handy, so I soldered 1/2 of a Red/Greed dual LED to only connect the red half.

Around the NTSC converter IC

The IC is an AD723. In the foreground is shown four different sized components. The large ceramic cap is an 0805. The two resistors are 0603. The small white capacitor is an 0402. It is still a footprint for an 0603, but I didn’t have any 0603 27pF

working

It’s ALIVE

The money shot. First TV signal. I was very happy at this point. I had actually already written one Uzebox game (vector_game / Asteroids) and done a crazy new video mode for Tornado2000 before the point that I ever had any physical hardware. Speaks volumes about the Uzebox system and community that I could write that code using just the emulator and debugger they have.

Automation

I cut the first two cases by hand as shown in the photos above. It got old pretty quick. So I sticky taped some off cuts of chinshape (Chinese knock off renshape) and mounted the SNES case to the bed of my Roland MDX-20. There is a video on the you tubes of the cutting in the Roland. It includes a lot of scary looking part movement. It really isn’t as bad as it looks in the video as I didn’t even notice it in real life. Also the cutter is a downflute spiral – so it is trying to push the part into the bed rather than lift it.

In the Roland MDX-20

Hard to get action shots inside a Roland. It is very closed in. I got out a spread sheet and hand coded the RML-1 code to cut the bits of plastic for me. RML-1 is the control language of Rolands older milling machines. It is like the bastard child of HPGL and G-Code.

The CNC cut version

Much neater than my messy hand cut ones.

Comparison photo

so much more charm and character

Making a stencil

You’ve all seen solder paste stencils and reflow soldering before. So I won’t do a lot of shots here. Just enough to show my unique stuff. This is a sheet of brass with Enertech dry film photo resist applied and the mask developed in sodium carbonate.

Close up of the photo mask

Not the best definition. I has just lost an inkjet printer to a tragic accident and had not yet charaterised my new inkjet to get the best results.

Brass stencil etched

Again, not my best work

The solder paste applied

Slightly embarrassing solder paste application. The brass was a bit thick (only size I had laying around) and the “bloat” from the photographic process was more than I normally expect because of the new inkjet printer. The five units I made to give away to friends all soldered up fine without needing any touch ups 🙂

I have not included any paste or reflow shots so I don’t cause you all to fall asleep.

(note: I have included some paste shots here I left out of Imgur)

Tornado2000

Finally some action shots (captured with the emulator) of another thing I made that I am very proud of. Tornado2000. An 8 bit de-make of the classic Atari Jaguar game Tempest2000. Which of course was a re-make of the 1980s era vector arcade game Tempest.

More T2K action

It has power ups. It has “Jump”. It even has an AI Droid. All in 4K of RAM on an 8-bit CPU that does not have any video generation hardware.

Seem like too much effort?

And finally if you don’t feel like making one yourself – here is the link to the Uzebox DTV Kickstarter campaign. You can still get into the Uzebox and start writing your own games, but you don’t even need to get out a soldering iron.

Tungsten grinding practice

As far as welders go, I am really good at grinding tungsten.

One of my recent tungsten grinding projects was building a computer desk for Simmone.

The brief was that it had to be able to roll around to different locations and be usable while at the couch/sofa. That meant some kind of cantilevered design with no front legs. I got out some scrap paper and sketched a quick, ugly cantilevered desk as shown in the first image below. Then I pretended to be the desk by holding Simmones keyboard as she sat at the couch and typed. I now had the most important dimension – height for comfortable typing – 680mm.

The problem with the design was that it was ugly. Even on paper it was ugly, and if you added terrible welds and a shoddy paint job to that, it would be even uglier. So we got on the interwebs and looked for different design ideas. After a bit of searching we found an idea on a site called pin-gram or inst-a-rest or something. Sadly I can’t find the picture again. You will just have to imagine what a professionally made desk, in a clean display home, with decent photography looks like.

The design we came up with is on the second image below. It also has some more dimensions fleshed out which we didn’t end up keeping.

The first welds all went well, as they often do. In no time at all I had the base made up with the wheels and glides held on temporarily with double sided tape. I took it to the the lounge room just to make sure it would fit everywhere needed. I then welded on the angled upright and the horizontal bit at the top. All still good and straight even though I didn’t get photos of those bits.

Then I attached the braces and things stopped being straight.

Now for people familiar with welding this is probably not a surprise at all. For people unfamiliar, I will need to explain. When you weld a piece of metal, you are burning its skin. It hates you for this and will try to spite you. It does this by bending, therefore making your project look like you were drunk when you made it, so all your friends will laugh at you.

Some people claim the bending is due to the fact that after the intense heat of welding the metal shrinks as it cools down and THIS pulls the welds out of square. Trust me on this one though – it is spite. There are however tricks to stop it happening. The simplest of which I will explain here with the help of a few diagrams.

img20160928_06422160

As explained above, the metal will try and spite you by pulling out of square. What you need to do it is trick it. If you look at the set up on the left side of this diagram you will see before the weld we have the metal at greater than 90 degrees. You then carefully order the welds to trick the metal into pulling the assembly INTO square. Step one is to do a tack weld. Step two is to run a bead along the outside edge. Steps three and four probably involve a sandwich and maybe a rum. The final step is to weld the inside edge that will cause the assembly to pull into square.

That is the theory of it all. Sadly I usually end up with something that looks more like this.

img20160928_06435280

Which is not so bad really. With the times like these, I often end up having to go on a quest to save the world from a great nothing. They come in handy for that.

Back to the current quest to build a computer desk. The braces that are needed to stop the whole desk just folding only connect to the long straight pieces from one side (as shown). This will cause the [long straight pieces] to instead, just be [long pieces]. The diagram shows what the desk ended up looking like side on. Photos could not show up the bow, but the top of the desk was no longer level and the wooden top would not sit flat.

This time I could not trick the metal with the order I welded. This time I had to torture it to make it behave. An extra two or thee beads were welded on the opposite side to the weld that caused the first distortion and kind of cancelled it out. These beads were then ground flat.

Everything then got a sanding and a painting. The bit of plywood at the top was sanded, varnished and screwed down. The castor wheels on the back got screwed in, and I could pretend I was actually useful for a little bit.

Finally a couple of shots of the desk in its natural habitat.

Clichéd Kickstarter videos

I guess you’ve probably seen a lot of “niche hardware” Kickstarter videos. I know I have.

What do they all have in common?

The project creator walking down a hallway towards the camera. The camera is slowly moving backwards. The subject then walks past the camera. Well at least ALL the videos coming out of a couple of accelerator/incubators have that.

If not that, it is probably all still shots of the prototype with a lot of dissolves and wipes stolen from someones 1993 wedding video. Add a bit of jaunty stock music playing in the background and call it done.

That is not what I wanted. I wanted to be unique. I wanted CRT televisions. I wanted messy hand drawn labels. I wanted it to look like we had no idea how to make a professional video.

I think we succeeded. Especially on that last point.

The one part of the video I actually like the best is the close up product shot with the labels. Maybe that is because it is the most unique and unprofessional looking part. Maybe it is just because I invested so much time in making it.

It started with styrene tube, some paddle pop sticks, six stepper motors, A4988 stepper drivers and an ATTiny2313 board I had lying around.  Now I admit this was done very hackishly and if I had a Smoothieboard or a Tiny-G handy this would not have taken me all day to do.

The styrene tube was just slightly oversized to be a press fit on the stepper shaft.  So I heated it with a lighter and squished it in ever so slightly.  I then slipped a 3.5mm plug onto the other end.  The tube could now couple the Uzebox DTV to the stepper motor.  I also drilled a small hole in the paddle pop sticks so they could be screwed to the other stepper motor shafts.

Then came the slowest part of the whole thing.  Wiring up the six A4988 drivers dead bug style.  This took me a long time and, as I said earlier, a Tiny-G or something similar would have made my life so much easier at that stage.

Finally lots of Blu-Tack and a stack of scrap polycarbonate and it ended up looking like this.

dsc_1157

Now came the job of controlling the steppers in the dumbest way possible.  The six stepper controllers got wired up to PB0 through to PB5 on the Tiny2313.  The board had a MAX232 on it.  All I had to do was have the AVR read a byte from the UART and push it out PORTB.  The desktop PC could then feed it step commands out a terminal program.  The 57600 baud UART would therefore be controlling the rate of steps without having to program any AVR timers.

#include <avr/io.h>

uint8_t ch;

int main(void)
{
    UBRRH = 0x00;                       // Baud rate 57600
    UBRRL = 0x08;
    UCSRB = (1 << RXEN) | (1 << TXEN);  // enable UART
    UCSRC = (1 << USBS) | (3 << UCSZ0); // async 8n1

    DDRB = 0xFF;                        // Set as output to drive steppers

    while(1) {
        while ( !(UCSRA & (1<<RXC)) );  // Wait for UART RX ready         
        ch = UDR; 		         
        if (ch > 13) {                  // ignore CR/LF or lower
            PORTB = ch;
        }
    }
}

You don’t get AVR programs much simpler than that.

If I sent “010101010101” out the UART on the PC the AVR would make the first motor step at 2.88Khz.  That is 57600 baud, divided by 10 (8 data 1 start 1 stop), divided by 2 (“o1”).  If you want to step slower you send fewer 0->1 transitions. “00110011” would be 1.44Khz.

If I sent “020202020202” out the UART that would make motor two step.

Motor three = “0404”.  Motor four = “0808” and so on using some combo of ASCII chars that just had the correct bit toggling.

A spreadsheet was used to make a nice smooth accelerating s-curve for the motor paths.  This was cut and pasted into a text document that my terminal program could send out the UART.  Again Tiny-G would have calculated all that kind of thing for me and I just could have sent G-Code to the controller.

Finally I added one more little subtle detail.  The last stepper motor has discontinuities in its stepper sequence.  This makes it shudder and jerk.  I though it kinda just needed that extra unprofessional touch.

youtubelink
Click to see the long shot on the you tubes
uzedtvfullyoutubethumbnail
Click to see the full Kickstarter video

Tell me what you think.  Does the video look bad enough that it is obvious we wanted that look.  Or is it only bad enough that it really looks “just bad” and we should have done a better job.