Flash cart(ridge)


(Scott R) #164

You could cut out the centre of a store reward card to make a thin spacer.

This is pretty cool, I have some spare chips floating around and a shortage of level shifters.

Edit:
This has got me thinking of making a small pusher to fit in the reset button hole also.


#165

Well done. What type of package uses the flash chip ? regular sop-8?


(Scott R) #166

I wonder if the required amount could be sanded off the top of chip to get a perfect fit.


(serisman) #167

Yes, regular SOP-8. The part number for this one is Winbond 25Q32FVSIG.

In thinking about it a bit more, it might have been better to run the VCC through a Schottky diode for a slight voltage drop to align a little closer to the normal operating range.

Yep, good idea. Although just moving the wire off the top to the side would probably have been enough as well.


(Kevin) #168

@serisman this is beautiful. You are not using any voltage conversion or anything, just the eeprom directly to the spi pins?

This really gives me hope for the bandaid approach for putting it on a flexible circuit. If the case can close on this package then for sure it can fit over the smaller one.

Great news, that means we can just offer a package during the campaign to upgrade your existing arduboy.

It would be funny to have one tier be a kit that includes a cheap soldering iron and screwdriver.


(serisman) #169

Yes. I just directly connected the SPI flash (not an eeprom, by the way) to the spi pins. I have not yet fully tested this across all voltages levels, but it is below the absolute maximum, so it should be ok-ish. There is one note in the datasheet that seems to imply that you can read the contents across a wider voltage range than re-programming the contents, so more testing might be required. If I did it again I would probably include a diode on the vcc line to drop the max voltage down a bit.

What smaller one are you talking about? This is already a surface mount package. The only smaller one I am aware of (haven’t done much research yet) is one with BGA pins. Either way, a flexible circuit would need to be very thin. I wonder if it would be better to install the IC ‘inside’ the PCB (still trying to find a picture of what I am talking about) instead of on top?


#170

I’d say @bateske knows what you mean without a picture:


(Kevin) #171

BGA package on a flex circuit.


#172

That will be WSON or USON package. They have a lower height ( <= 0.8mm) and 2nd one even a smaller footprint

There’s no problem to mount all the relelevant parts on to a flexboard. Look how tiny a TXB0104 in UQFN package is on this level shifterboard.

Make that one of those USB soldering irons :slight_smile:

Edit:
And pack in one of those cheap USBasp ICSP programmers for flashing the bootloader.


(Shawn) #173

Unless you level shift the I/O as well I would advise against having the Vcc at a lower voltage than the I/O as you would be forward biasing the crowbar protection diodes when any inputs are driven high and depending on the length of the pulse you could cause some damage to the pin.


(serisman) #174

Are you worried about the SPI flash IC, or the ATmega32u4?

The ATmega32u4 will never see levels above it’s VCC, so it should be totally ok.

For the SPI flash IC, according to the datasheet, it can take up to VCC + 0.4V on any pin, which is why I was thinking of using a schottky diode instead of a standard one. Also, the ATmega32u4 will probably output levels that are slightly less than it’s VCC. So, the question is whether it is better to run a higher VCC than the normal operating range (but still under the absolute max), or run closer to the range but have slightly higher levels on the inputs.


(Shawn) #175

I meant the SPI flash IC could be damaged. Assuming 5V Vcc for the Atmega32U4 and a conservative nominal high side drop of say 0.6V then the output from the mcu would be ~4.4V. If say three small signal silicon diodes are used to drop Vcc from 5V to Vcc_flash = 3.2V for the flash chip then the inputs would be driven at ~4.4V, ie well past the spec’d Vflash_input_max=Vcc+0.4V=3.6V.

If only two diodes are used the numbers are much more reasonable with Vcc_flash=3.8V and Vflash_input_max=4.2V. Now given all this is speculative and likely wont kill the chip in practice but it’s always good to consider potential pitfalls just in case. As always though time and use will tell if there is a problem with overdriving the chip or its inputs.


(serisman) #176

But, the Arduboy doesn’t run with a 5V VCC (even when USB powered). It runs directly off of the li-ion battery voltage of 4.2V max (~3.7V nominal and ~3V min).

So, using a schottky diode (i.e. 1N5818) with a voltage drop of around 0.3-0.4V, the flash IC will see a VCC of around 3.8-3.9V max, which is closer to it’s normal operating range max of 3.6V. Without the diode, the 4.2V max battery voltage is still under the 4.6V absolute maximum value, but getting closer to the 3.6V range is probably worth it.

Actually, using a standard silicon diode (i.e. 1N4148) may work as well, because at the low current the flash IC will see, it’s voltage drop is only about 0.4-0.5V as well. But, this may put the input high levels too close to that VCC+0.4V rating.


(Shawn) #177

Oops, didn’t realize the arduboy wasn’t running from a regulated rail. Yeah in that case you should be fine. In my arduboy clone I just bypassed the entire headache and ran the atmega off 3.3V so no level shifting is necessary (although it is technically overclocked for that low of an input voltage but I haven’t seen any issues in use).


(serisman) #178

Yep, I did the same in my homemade as well. :+1: