After seeing a few solar garden lights as a quick project I decided to make my own version using the ATtiny13A so it can be low cost but have decent functionality. I didn’t an RGB LED so I went with red, green and yellow LEDs and in terms of the solar panel I have a 4V 50mA one.
(sneak peak of the end result)
My first initial thought was to use a Lipoly battery to power everything, use a diode with the solar panel to recharge the battery with an LDO to 3.7-3.9V if needed. My main concern is leaving the Lipoly outside and it heating up quite a lot so I’ve decided to go with AA batteries.
After a few iterations of the design, I went with 3x AA batteries to be recharged and the charging will be switched on using a PNP transistor, I’m going for 1.4V per AA battery. Originally I wanted to go with a N or P mosfet however since the Vds would be less than 1V so it wouldn’t be able to switch on. One unintended feature of the PNP design in this case is that it’ll automatically charge up the 3x AA batteries if they are 0.6V lower than the solar panel.
As part of my CPLD Logic Analyser project, I might want to easily adjust the clock and since the CPLD that I’m using doesn’t have a PLL module, we’ll have to buy our own clock generator.
The Cypress CY22150 chip allows you to generate a clock up to 200MHz from a 8-30 MHz crystal using I2C and has multiple outputs / clock dividers. For the price of $2.77 it’s not too bad and for me was actually cheaper than buying a 100MHz crystal from my supplier.
There are a few settings we need to configure – the crystal frequency, crystal capacitors, which outputs to enable and clock multipliers and dividers. This may seem a bit complex at first but Cypress have made a CyberClocks program that can assist us with these settings.
I have a 16MHz crystal, so we enter that on the top left. The VCO is given to us in another section of this program (Option > VCO Calculator) as shown below, I enter in the Reference as the crystal and desired clock as 133MHz.
The main feature is that you can now add some male headers and convert it into an Arduino shield so you can program your ATtiny with your Arduino if you don’t have a dedicated programmer.
I’ve added another LED for the MISO so if this LED lights it means that your ATtiny is able to communicate with your programmer. Another small improvement was to move the 6 and 10 pin headers a bit more apart so that you can fit in IDC socket connectors.
It’s retro teardown time, today we’ll be taking a look at a game called Galaxian 2 made by Futuretronics which was build in 1981 so we’ve had this around for a long time. You can either play single player or with someone who controls the alien ships.
We used to have a joystick mounted for easier control on the single player controls. For anyone who owns one of these games you might notice a potentiometer near the second player’s controls, this was a modification that one of my relatives made to it to increase or decrease the game speed; and I always thought it that this game had that feature by default! It takes 4x C batteries, has a DC jack too and of course is missing it’s battery cover.
Here’s a video of me playing the game and listening to the game over music.
Previously I made a ATtiny GPS Long Lat logger to record the GPS co-ordinates to an EEPROM and now it’s time to implement the full functionality of my project which is to check an accelerometer for motion, monitor the GPS until we are in a certain area and then send an SMS. If it’s a few KM away from the area, then it’ll turn the GPS off for a few minutes and check again later but if it’s close to the area, it will keep checking the GPS as long as movement is detected within 1 minute.
I was using the ATtiny2313 before however it didn’t have any ADCs so I’ve switched to the ATmega88 which is approximately the same price. To reduce power I have a mosfet for the accelerometer, GPS and mobile phone. The mobile I’m using this time is the Nokia 3210 which cost me $22 from Ebay, the battery seemed to discharge after a couple of days so I was trying out different options.
// Reset PC6 1|o |28 PC5 N Mosfet for MMA7361 accelerometer
// RX GPS PD0 2| |27 PC4 N Mosfet for GPS
// TX SMS PD1 3| |26 PC3 N Mosfet for Nokia 3120
// PD2 4| |25 PC2 X Axis
// PD3 5| |24 PC1 Y Axis
// PD4 6| |23 PC0 Z Axis
// VCC 7| |22 GND
// GND 8| |21 AREF
// XTAL PB6 9| |20 AVCC
// XTAL PB7 10| |19 PB5 SCK
// PD5 11| |18 PB4 MISO
// PD6 12| |17 PB3 MOSI
// PD7 13| |16 PB2 Optoisolator for Nokia 3120 power button
// PB0 14| |15 PB1 LED
The Nokia 3210 seems to power up from ~2.3V to 3.4V, so one option is to try a 3.7V Li-ion with a diode to drop it however after some experimentation it switches only stays on for a few seconds.
A little while ago I had a Netgear ReadyNAS unit which was faulty and wasn’t able to repair it however I thought it would be worth re-using the case to make my own NAS using the Raspberry Pi. I decided to build my own SMPS to provide 5V and 12V to the drives and the Pi and I’m using USB hub with 4x USB to SATA adapters to connect to the 4 hard drives.
(how it all looks at the moment)
After hooking up an 16×2 LCD display to the Pi, I made a start up script in Python to check the drives, assemble the array, mount it and then display the RAID status and free space (see the video above).
Today we’ll be taking a look at the DrayTek Vigor2710ne Wireless ADSL2+ Router which is fairly recent from 2012, it has the usual 4 10/100 LAN ports and 802.11n Wifi capability.
One screw later and we’re in.
Most capacitors on the board are branded Su’sucon which may not be the one of the good capacitor brands. The board has the option of fairly large capacitors which aren’t populated – something seen more in older routers. There’s also a small slot on the PCB which the antenna is wrapped around to keep it in place.
I’ve previously bought an alarm system from Ebay and have been making modifications to it such as making the PIRs wireless and added wireless sirens. On our last part, we added a way to check which sensors have checked in.
By using everything that we’ve built and modified, it’s now time to make our own alarm system. We’ll be adding in our own PIR, Door sensor, making a slight change to the Siren and modifying the Server.
I was thinking about how I could potentially box up the PIR with the PCB but I found that the PIR module you buy from Ebay fits in nicely to the existing casing, I removed the PIR cover and it works well. I’ll be switching from the 3V coin cell to a 3.7 Li-poly so that the PIR and the PCB will run off this which should last at least a few years.
One down side of running from the Li-poly battery is that after testing I found that the PIR is unstable when the voltage drops to 3.3V the PIR automatically turns on. One thing I should have added a while ago was a way to monitor the battery voltage, so we’ll add that this time and the cut off will be 3.5V. A few cuts on the PCB, adding some resistors, re-wiring and it’s ready to go.
From our last post we looked at the base configuration of a SMPS using the MC34063. In this part we’ll look at adding in an external transistor so that we can bypass the 1.5A peak current limit present on the MC34063.
Above we have the circuit configuration which we can add our PNP transistor on, I’m using the TIP42C.
(Voltage – blue, Current though diode – green, Current though inductor – red)
We can test this configuration on LTspice, though one problem when using the transistor is that it gets very hot. For testing I’m using two 100 ohm resistors, so it’s quick to switch on and off. We need an inductor and diode that can handle the current because the 1N5819 diode only can do 1.5A so I choose the Toshiba CMS05-TDE which can do 5A and only has a 0.45V voltage drop. I was able to salvage a decent sized inductor from an ATX power supply.