This is a post I was going to make a little while ago about a fairly basic project to get me into Amtel's AVR microcontrollers... I had some problems with the internet on that day and have only just rediscoverd the draft that was saved :)



So I'm not happy with the stock electronics for the Nerf Stampeed. Using a 7 shot clip you can easily fire away all of your darts and still not hit anything. Also the 6 D cell batteries are a pain to replace and are massively heavy.

The solution:

Put a small microcontroller such as an Amtel AtTiny of some description, replace the current power switch with a 3-way switch to allow selecting between:
-Full Auto(Stock Setting)
-Burst(fires 2 or 3 darts at a time)
-Semi-Auto(fires 1 shot but automatically re-cocks)

Some way of displaying the number of rounds fired in battle and the battery level should be easy to set up. If I can find a way to differentiate between different magazines then a readout showing how many are left in the mag. would also be useful.

A display like this only needs an SPI interface, everything else can be controlled with digital I/O except for reading the battery state, the best solution for which I don't quite know right now but will probably need an ADC channel.

This is a fairly quick flowchart I did up showing the basic functions that will be called and when... not quite up to drawing a flowchart to show exactly how each function works... but I figure this is a start.

If you want to know why I did up a flowchart for this just ask me to put up the Qt code and flowchart that I taught myself and wrote in 1 week or so... the flowchart was about 2.5m high when printed so small it was barely readable... Originally I was trying to work it all out in my head... doesn't work that way... not like the simple little things they wanted me to do flowcharts for in my sfotware design and development course...
Write comment (0 Comments)
Finally I've decided what to make my next new project. A DSO... This oscilloscope will be housed in the case of an old laptop that was given to me a while ago by my grandfather after they got a much better one. From memory it's current specs are in the vicinity of: 400-500 MHz processor(Pentium?), 64MB RAM, 4GB 2.5" IDE HDD, broken mousepad, decent screen (will run up to 1024x786?), came with win98, struggles to run cron, X11 and a window manager(twm?) on top of a CLI Ubuntu install.

All this will be replaced allowing me to start from scratch... I will probably keep the keyboard and screen, even if I have to set up an AtTiny or similar to get the interfaces in a format I want. At this stage looking at using an ARM processor or SoC. The CDROM bay will be replaced with pluggable modules with a digital interface to the main board allowing me to change and upgrade input channels or make a computer controlled function generator/DSO that can be controlled from any computer (Running Linux of course :) ). At this stage to allow remote control ethernet/WIFI is planned with an interface probably built from Qt. As well as being remote controllable the oscilloscope will be locally controllable, with the bootloading being handled by coreboot with a linux kernel payload.

I want to be able to use this to help me debug amateur radio rigs up to the 40m band to start with. The pluggable ADC modules allow me to improve if I need better frequency/accuracy. Basic features will include :
-Local control to allow full functionality as a normal DSO.
-Updatable firmware so new features can be implemented.
-Miniumum 50MHz bandwidth for initial product(excluding prototypes).
-Network connectivity to allow remote monitoring.
-Possibly battery, to allow monitoring in locations with limited power outlets
-Using only free and open source tools to design and sharing the designs as open source(github?)

Hopefully soon I'll get a picture of the laptop in it's current condition so you can get an idea of how much space internally I have to work with :) Write comment (0 Comments)
I've been looking at Amtel's AVR microprocessor chips and they look like the next step for my search for a simple cheap lighting desk...

According to this wikipedia page the smallest amount of RAM that an ATtiny has is 32 bytes... now I have 15 8bit fader channels and 12 boolean channels... by my maths that makes 132 Bits... According to the Wikipedia entry on bytes it says that 1 byte ~ 8 bits on most systems... using that conversion I need 16.5 bytes of RAM for my variables, having about half of the RAM in the system means I don't have to worry too much about having to make my code too compact even on the smallest of microcontrollers... I hope...

As to the problem of needing more ADC channels then are provided I can use the I2C bus or 2 wire bus to attach extra ADC chips to the AVR.

That's all for now... exams are almost over and I have a job coming up shortly that should give me some money to spend on this stuff so I can finally get this desk working properly...

Cheers,
Rex Write comment (0 Comments)
Yesterday after my exam I picked up an old motherboard that the IT guy said he was going to give to me. I'm not exactly sure what it is but it has 8 DDR(1/2?) slots and as far as I can tell 4GB in it so far. It also appears to have 2 PCI-X slots and 3(I think) normal PCI slots.

The really exciting thing about it is that it has 2 separate CPU's!! So naturally when I got it home my brother asked if I was setting it up for gaming... not yet...

I'll try and get some good pics and upload them sometime soonish too...


I plugged it in today and discovered that my PSU's are all really really old... as I only have the 20 pin connectors... but I do have a few of them so I'm going to see if I can hack a few together and get them to drive the board... The biggest problem at the moment is there is another socket next to the main 24 pin ATX power plug, this means (according to wikipedia) that I need an EPS type power supply. on the Wikipedia page for PSU's there is a reference to a .PDF calling itself the EPS design guide so hopefully that will help me hack together something that will work... Write comment (0 Comments)