tag:blogger.com,1999:blog-34928002451883968282024-03-06T21:02:43.791+01:00Tom's Electronics, IT and PhotographyElectronics, IT and photography blog focusing on Pentax equipment, AVR Micro-controllers and Open Source (mainly Linux and FreeBSD topics)tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-3492800245188396828.post-78854107663402619752017-03-11T12:09:00.003+01:002017-03-11T12:09:53.439+01:00A cheap STM32 LORA node<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiVkfLm70ysJW20dWACV8PmsClJyxbueepcezwAjBltiBmv5JDHo3ahfUVcw7SWkXhROITlIfMLuCjV3w1WZTQJFBk4JlaZHqKKCfj3qdD9EpI7Q16gL6UPOFIjdUuX3d3DAjgQ-_P4fY/s1600/20170311_074942.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiVkfLm70ysJW20dWACV8PmsClJyxbueepcezwAjBltiBmv5JDHo3ahfUVcw7SWkXhROITlIfMLuCjV3w1WZTQJFBk4JlaZHqKKCfj3qdD9EpI7Q16gL6UPOFIjdUuX3d3DAjgQ-_P4fY/s320/20170311_074942.jpg" width="320" /></a></div>
<br />
See:<br />
<br />
<a href="https://www.thethingsnetwork.org/labs/story/a-cheap-stm32-arduino-node">https://www.thethingsnetwork.org/labs/story/a-cheap-stm32-arduino-node</a>tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com1tag:blogger.com,1999:blog-3492800245188396828.post-21361822467703865302016-12-24T12:41:00.000+01:002016-12-24T12:41:09.595+01:00An ESP8266 scrolling display with a 5x8 WS2812 matrix<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://v7f.eu/public/matrix.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://v7f.eu/public/matrix.jpg" width="320" /></a></div>
<br />
See <a href="https://github.com/tomtor/ESP-8266">https://github.com/tomtor/ESP-8266</a> for the LUA code (loaded on the ESP-8266) and the python driver with the fonts.tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com1tag:blogger.com,1999:blog-3492800245188396828.post-50804928197064148932016-02-07T21:05:00.001+01:002016-02-08T22:14:52.815+01:00The SIMH PDP11 and VAX simulator<span style="font-family: inherit;">This weekend I made a nostalgic trip back in time by recreating the computer environment I used at the university in 1982 and later.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">The Computer History Simulation Project created the SIMH emulator </span>(<a href="https://github.com/simh/simh"><span style="color: #e69138;">https://github.com/simh/simh</span></a>) which I used to simulate a PDP11/70 and a VAX 780. On the PDP11/70 I loaded the original Unix v7 tapes and on the Vax I loaded BSD4.1 and BSD4.3.<br />
<br />
<a href="http://gunkies.org/wiki/Installing_4.3_BSD_on_SIMH"><span style="color: #e69138;">http://gunkies.org/wiki/Installing_4.3_BSD_on_SIMH</span></a> describes the procedure step by step, but states that the networking does not work.<br />
<br />
I used the latest version of SIMH from Github (4.0 beta) and figured out how to get the Ethernet running on the Vax 780.<br />
<br />
The trick is to add:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">set xu enable</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">attach xu msk0</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: inherit;">to your </span><span style="font-family: "courier new" , "courier" , monospace;">boot.ini </span><span style="font-family: inherit;">file.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">You should replace </span><span style="font-family: "courier new" , "courier" , monospace;">msk0</span><span style="font-family: inherit;"> by the name of your physical netwerk interface, eg </span><span style="font-family: "courier new" , "courier" , monospace;">eth0</span><span style="font-family: inherit;"> on your Linux machine, and start it with </span><span style="font-family: "courier new" , "courier" , monospace;">sudo vax780 boot.ini</span><br />
<span style="font-family: inherit;"><br /></span>
See <a href="https://github.com/simh/simh/blob/master/0readme_ethernet.txt">https://github.com/simh/simh/blob/master/0readme_ethernet.txt</a> for details and other configuration options.<br />
<br />
The last step is to rebuild the kernel, you need to add<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">device de0 at uba? csr 0174510 vector deintr</span><br />
<br />
to <span style="font-family: "courier new" , "courier" , monospace;">/usr/sys/conf/GENERIC</span> and rebuild the kernel:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">bsd43# cd /usr/sys/conf</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">bsd43# config GENERIC</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Don't forget to run "make depend"</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">bsd43# cd ../GENERIC</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">bsd43# make depend</span><br />
<div>
<span style="font-family: "courier new" , "courier" , monospace;">...</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">bsd43# make</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">...</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">bsd43# cp vmunix /</span></div>
<div>
<br /></div>
<div>
create a <span style="font-family: "courier new" , "courier" , monospace;">/etc/resolv.conf </span><span style="font-family: inherit;">with:</span></div>
<div>
<br /></div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">nameserver 8.8.8.8</span></div>
</div>
<div>
<br /></div>
<div>
reboot, and you can FTP and telnet to every host on the Internet with software which was compiled in 1986. Amazing isn't it?!</div>
<div>
<br /></div>
<div>
As an exercise I changed the <span style="font-family: "courier new" , "courier" , monospace;">date.c</span> program because it would not let me set a date after 1999, and I changed the timezone to <span style="font-family: "courier new" , "courier" , monospace;">0</span> in <span style="font-family: "courier new" , "courier" , monospace;">GENERIC</span>, but after those changes the clock/calendar are OK.</div>
<div>
<br /></div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">bsd43# date</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">Sun Feb 7 20:31:58 WET 2016</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">bsd43#</span></div>
</div>
<div>
<br /></div>
<div>
I also fixed the printing of the man pages so they don't show as year 116 ;-)</div>
<div>
<br /></div>
<div>
Finally I created a program to convert the simulated tapes to normal files, an adaption of</div>
<div>
<a href="http://zazie.tom-yam.or.jp/starunix/mktape.c"><span style="color: #b45f06;">http://zazie.tom-yam.or.jp/starunix/mktape.c</span></a> which works the other way around.</div>
<div>
<br /></div>
<div>
Get it from my Raspberry Pi-1 running FreeBSD 11-current:</div>
<div>
<br /></div>
<div>
<a href="http://www.v7f.eu/public/SIMH/rdtape.c">http://www.v7f.eu/public/SIMH/rdtape.c</a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<br />
<br />
<br />tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com1tag:blogger.com,1999:blog-3492800245188396828.post-52158942218115443462015-12-31T11:38:00.001+01:002015-12-31T11:53:59.428+01:00FreeBSD video console (vidconsole) on the Raspberry PiIn the default configuration with FreeBSD on the Raspberry console messages are written on the serial console.<br />
<br />
After a "shutdown now" one cannot enter commands from a connected USB keyboard.<br />
<br />
I tried to enable the video console but adding<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">console="vidconsole" </span><br />
<br />
to <span style="font-family: Courier New, Courier, monospace;">/boot/loader.conf</span> just results in an error message from the bootloader.<br />
<br />
Adding:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">kern.console="ttyv0"</span><br />
<br />
to <span style="font-family: Courier New, Courier, monospace;">/etc/sysctl.conf</span>
does the trick!<br />
<br />
Note that one still cannot enter input for the bootloader in the early boot stages.
I have not found a solution for that issue (probably needs different options for UBLDR), you will have to use a serial console for now.tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com1tag:blogger.com,1999:blog-3492800245188396828.post-66209760674989029882015-12-23T08:18:00.000+01:002015-12-31T11:54:37.932+01:00Booting a Freebsd image on a usb stick with the Raspberry PiIt took me some time to figure out how to do this, but it's actually very simple.
<br />
<br />
Create an USB stick (or disk) with the Freebsd image you want to boot and connect it to a USB port on your Pi.
<br />
<br />
Create a small standard Freebsd image on a small SD-card and place it in the Raspberry SD slot.<br />
<br />
Boot it and create as superuser the file:
<br />
<blockquote>
<span style="font-family: Courier New, Courier, monospace;">/boot/loader.conf
</span></blockquote>
with the following content:
<br />
<blockquote>
<span style="font-family: Courier New, Courier, monospace;">currdev=disk0s2a</span><br />
<span style="font-family: Courier New, Courier, monospace;">vfs.root.mountfrom="ufs:/dev/da0s2a"
</span></blockquote>
Now reboot and your Pi will boot the image on the USB stick.
<br />
<br />
Note that when you create a standard image on the stick, that it will have two partitions. The first FAT partition with the firmware and config.txt is not used in this setup. The firmware and config is always loaded from the SD card. You can remove this unused partition (and replace <span style="font-family: Courier New, Courier, monospace;">s2a</span> by <span style="font-family: Courier New, Courier, monospace;">s1a</span> in <span style="font-family: Courier New, Courier, monospace;">loader.conf</span>) or replace it by a swap partition or just leave it as it is.
tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com0tag:blogger.com,1999:blog-3492800245188396828.post-85795631300816820362012-11-02T10:59:00.000+01:002012-11-07T12:03:16.371+01:00A 555 based simple low power boost converter<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOXB5pajf7gG6IfyKacoBE7zlnUA7qMpRCNV_rlbxSBxOMolfhD7O_09zo_Lkg33GMMuGAdRyrVIj60JoB4ADS1ZoUs-dWm5ap-SGMnw1k2K78yFVJVNCRD9zwbTrd_ohOpf2h_EhKNXA/s1600/Boost555.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="300" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOXB5pajf7gG6IfyKacoBE7zlnUA7qMpRCNV_rlbxSBxOMolfhD7O_09zo_Lkg33GMMuGAdRyrVIj60JoB4ADS1ZoUs-dWm5ap-SGMnw1k2K78yFVJVNCRD9zwbTrd_ohOpf2h_EhKNXA/s400/Boost555.jpg" /></a></div>
</p>
I'm experimenting with <a href="http://en.wikipedia.org/wiki/Boost_converter">boost converters</a> to increase the voltage delivered by NiMH or solar cells.
<p/>
I played around with the <a href="http://www.ti.com/product/tl499a">TL499A</a> which is a moderately priced IC, about 3€. It can convert from 1.1V upwards. A pricier modern alternative is the <a href="http://www.linear.com/product/LT1073">LT1073</a> for about 8€. If you just need to convert from 3V upwards then you're lucky, the <a href="http://www.ti.com/product/mc34063a">MC34063A</a> is available for 50 cents! Finally, an interesting 1.0V to 3.3V (or 5V) <a href="https://www.sparkfun.com/products/10967">ready to use breakout board</a>.
<p/>
When you just need to double the voltage and have modest current requirements (e.g. less than 10mA) then a charge pump voltage doubler is an option. The Intersil ICL7660S is a modern and efficient solution for 1.75€. You can also build one yourself, e.g. with a 555 timer IC, there exist plenty of references on the internet. Note that you loose about 0.8 volt, so 2.4V fed to the doubler, will result in about 4 volts. I used these doublers to trickle charge super capacitors or NiMHs from solar cells at dark locations. The cells deliver e.g. 0.5 mA at 2V. That is insufficient voltage to light a led, but by using a doubler you can charge a (super)capacitor/battery with 0.25mA to 3V, and use it to power your (AtTiny) micro controller, so it can flash the led. Note that if you build one yourself that you should use the CMOS 555 versions. The normal 555s will not run at these low voltages and use far too much power to be useful in low power applications.
<p/>
Ok, so you decided to build your own boost converter. The schema shown below is quite versatile. It will accept an input in the 2V to 12V range and the output can be in the 2V to 24V range. Note that you NEED a CMOS 555 for input voltages below 4.5V! Output currents in the 20-100 mA range should be no problem with the schema as shown.
<p/>
How does it work? The concept is simple, the 555 generates an on/off signal in the 100kHz range which is used to switch the Darlington transistor pair.
<p/>
As soon as the required output voltage is reached the 555 stops oscillating for a while because the BC547 pulls the 555 reset pin to the ground.
<p/>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO7NOkLlRbow1SB4Z540E6p2orE_0t9kf2MVmleanNpK0IowtlgluUOwE_wEbzuIRKQAsrJllDF3NNJ1ylN2KAndWROWPW1lnjF9rl3Q0Dvqi39PadB8TZmmX0Wd-nqOcijs05THnHVeo/s1600/boostZener.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="300" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO7NOkLlRbow1SB4Z540E6p2orE_0t9kf2MVmleanNpK0IowtlgluUOwE_wEbzuIRKQAsrJllDF3NNJ1ylN2KAndWROWPW1lnjF9rl3Q0Dvqi39PadB8TZmmX0Wd-nqOcijs05THnHVeo/s400/boostZener.png" /></a></div>
<p/>
The values shown in the schema allow you to triple the input voltage, or even more if you have low output current requirements, e.g. under 5mA. If you want more then you should experiment with changing the duty factor of the 555. Replacing R2 with a 100k resistor will increase the duty factor from the default 50%, so that the inductor will store more energy. Increasing the value (inductance and max current specification) of the inductor might be needed to prevent saturation.
<p/>
I used a 10p timing capacitor on the bread board which will result in a 100kHz (due to stray capacitance) and near 50% duty cycle with low energy consumption. If you want more exact timings for higher duty cycles then you could use eg 100pF, 10k and 33k for the 555 timing network.
<p/>
Converting 2.4V input to 5.0V output and loading the output with a 100ohm resistor (50mA) results in a 62% efficiency (170mA input) in the R2=100k configuration. Note that the converter is most efficient when it can operate in continuous mode, this means that the switching frequency, duty cycle, inductor values and output voltage and current are matched. Use the default values for e.g. 50% efficiency at a large range of input/output voltages.
<p/>
The Darlington can be replaced by an N-Channel (Power) MosFET, which will improve efficiency a lot. If you use input voltages over 4V then the IRLZ34 Logic Level power MosFET will allow you to scale up your power requirements. The Darlington has a 0.8V collector emitter drop at moderate currents, so at 2.4V input we will loose about 33% efficiency. The IRLZ34 has a milli-Ohm resistance for gate-source voltages over 4V. The best MosFETs I could find which should switch efficiently at 2.4V are the (SMD sot23) IRLML2502 and the <a href="http://www.fairchildsemi.com/pf/FD/FDN339AN.html">FDN339AN</a> which should be fine at 2.0V or even a bit lower!
<p/>
Note that the output Zener should not be used as a regulator when you want high efficiency. You should calculate the duty factor of the 555 and the Zener should only become active when the output voltage rises over the desired upper output voltage limit because of a very low output load.
<p/>
You can replace the Zener diode with a TL431 programmable voltage regulator as shown in the next schema if you want to experiment:
<p/>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwgpCGbiroYpQzyQz88YSWQGttfoir5lCrmo_i6FwVjBqLblUWbHaYe8_64oM-LLekC-NOXnZUxVxC6vDj-2KFOYXpkWjid2YNFx8i7fRzOHOJCUP-zFKJkpsboN5krGefGI7g_YYSATM/s1600/boost.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="300" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwgpCGbiroYpQzyQz88YSWQGttfoir5lCrmo_i6FwVjBqLblUWbHaYe8_64oM-LLekC-NOXnZUxVxC6vDj-2KFOYXpkWjid2YNFx8i7fRzOHOJCUP-zFKJkpsboN5krGefGI7g_YYSATM/s400/boost.png" /></a></div>
<p/>
Interesting links:
<p/>
A very clear explanation about the concepts and the <a href="http://www.simonbramble.co.uk/dc_dc_converter_design/boost_converter/boost_converter_design.htm">calculations for converters</a>. You really should study this if you want to adapt my example converter for optimal efficiency.
<p/>
If you want more power, an interesting schema for a <a href="http://www.aaroncake.net/circuits/6-12conv.asp">6 to 12V converter</a>.
<p/>
You don't need a precise output voltage and have a square wave signal from eg a micro-controller? Look <a href="http://www.ladyada.net/library/diyboostcalc.html">here</a>.
<p/>
The MC34063A is your preferred solution? A handy calculator <a href="http://www.nomad.ee/micros/mc34063a">aid</a>.
<p/>
Another <a href="http://www.romanblack.com/smps/conv.htm">simple converter circuit</a>.
tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com0tag:blogger.com,1999:blog-3492800245188396828.post-14280731699252278862012-09-14T11:25:00.000+02:002012-10-10T16:56:01.734+02:00Solar powered Arduino and attiny projects<p/>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv3qxtnWpCD0tuIye1cZXLhhSXkhWgI22NclwSE0a9dsRHaPJhRUbHhwHo7T9n8Y9hIk03n4fZAu0rBSa9hHcs7bV5WCeyq5CSD_Qmgo0KK2mgdghZAxQ_NcL9tn1_b1ZG8n8cGzsGzz0/s1600/solar1.jpeg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv3qxtnWpCD0tuIye1cZXLhhSXkhWgI22NclwSE0a9dsRHaPJhRUbHhwHo7T9n8Y9hIk03n4fZAu0rBSa9hHcs7bV5WCeyq5CSD_Qmgo0KK2mgdghZAxQ_NcL9tn1_b1ZG8n8cGzsGzz0/s400/solar1.jpeg" /></a></div>
<p/>
<h2>Intro</h2>
I've started creating a solar powered base platform for attiny or Arduino based projects. What is the real life need for such a project, you might ask.
<p/>
Well, the Atmel processors are amazingly energy efficient when programmed in the right way. Your project might run for over a year on a set of 2 normal 1.5V AA batteries.
<p/>
The example project to which I link in the end of this blog will signal the battery voltage level by blinking a led several times every 10 seconds. Each blink represents 0.1V over the 2.0V base voltage. So 7 blinks means we have a battery voltage of 2.7V.
<p/>
How long will this project run from batteries? Let's calculate an approximation:
<p/>
In sleep mode my attiny84 uses 0.004mA. When calculating it uses about 20mA, but it is sleeping most of the time. Running at 8MHz it will only execute code for about 1ms every 10 seconds, so it's average contribution to the power usage is 20/10000= 0.2mA.
<p/>
The led draws about 3mA when lit. You can measure the current by reading the voltage over the led serie resistor: 1.0V over 330ohm. It blinks 7 times for 125ms every 10s, so it contributes about 7*125/10000*3= 0.26mA on average.
<p/>
Total average usage is about 0.3 (led) + 0.2 (micro controller)= 0.5mA. A 2000mAh battery will result in 2000/0.5= 4000h battery time, that is about half a year. Note that you should use low discharge NiMH cells (the pre-charged variety) or normal alkaline cells for long running low power applications. If you use solar charging then self discharge is not an issue.
<p/>
If your project is more power hungry and runs only for a few weeks from a set of batteries, then a solar powered solution makes really sense. Another reason to use solar power is when the application is on a location where changing batteries is difficult.
<p/>
<h2>Charging NiMH batteries</h2>
is in general hard when you want to do it optimally. For a start, you cannot charge cells in series reliably. A good NiMH charger will charge each cell individually, because they tend to get out of sync after a while. It's a good idea to charge the cells in a good charger before using them in your attiny project, and e.g. once in a year. For the same reason you should use identical cells of the same make and previous usage. Don't worry too much about these aspects, in reality your solar powered project will run just fine.
<p/>
<h2>Over charging and trickle loading</h2>
Over charging NiMH batteries should be prevented. A simple way is to just use a low charge current over a long time. A C/20 current which is interrupted every 12 hours (because it gets dark :-) or a C/40 24 hour constant current (trickle charging) is absolutely safe. For 2000mAh cells this means 100mA or 50mA. Now the good news! You'll have to buy quite a big solar panel to risk over charging your batteries. Just use a small one which compensates the average power usage of your project. Measure charge current during sunny periods and you should be happy if you exceed 100mA or even 50mA. Our example project uses about 12mAh in a day. An average of 15 minutes of 50mA sun charge each day will keep your cells full. So no need to worry about over charging or too less charge capacity in general. If you measure about 2.7V over your two cells then they are fully charged. 2.8V means you're charging. Over 2.9V means that you are charging quite fast. In the latter case measure charge current and consider using a charge current limiter. The cheapest way is to use a smaller solar panel.
<p/>
<h2>The Solar Panel</h2>
I used two small 4V/40mA panels in series:
<p/>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUczZvpzG2diSNE47FNwGfVLRIZbesGCp2_ZQRbMTvxE_gi_ksmdxP5tfDM3u1fJ0SKFLo1WnqD_s9XMS9ZqzK4WgIlYbbp4gzyoJssGONYYkGA4ulkixhTpN4HHkvXr3-2aqmhszF1QQ/s1600/solar2.jpeg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="300" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUczZvpzG2diSNE47FNwGfVLRIZbesGCp2_ZQRbMTvxE_gi_ksmdxP5tfDM3u1fJ0SKFLo1WnqD_s9XMS9ZqzK4WgIlYbbp4gzyoJssGONYYkGA4ulkixhTpN4HHkvXr3-2aqmhszF1QQ/s400/solar2.jpeg" /></a></div>
<p/>
3V is an absolute minimum if you want to get any charge current into your two NiMH cells in series. The cells have 2.4V when they are not full. The dark current diode has a 0.3V forward drop when you use a germanium or Schottky diode, so charging starts at 2.7V. It will start at 3.1V if you use a normal silicon diode which has a forward drop of 0.7V.
<p/>
Note that the voltage/current specifications of panels are in very bright sunshine. If you need to charge in low light environments then it's better to use a panel which has a voltage specification well over 3V.
<p/>
If you use a solar panel which provides over 5.5V then you should take care that you do not disconnect the NiMH cells in bright light. The connected NiMH cells will prevent a high voltage, but when they are disconnected the voltage provided by the solar cells may rise over 5.5V and your attiny chip may be damaged. You can add a 5.6V zener diode to prevent damage.
<p/>
<h2>The schema and other components</h2>
<p/>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHR5UEilmkxdfEwKMiaB4i-CLZmAsgLCZ-An-TltNno4vXBg5Lxb8o5Im6u3bhvKoRBvXMJxjwF2Xq4aU-hvbUpkgLHMfEIsPRxCguqhS-WmxhEHiUOTj58crBiUADO7-7EddKZUQzgY0/s1600/BatteryPower_schem1024.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="235" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHR5UEilmkxdfEwKMiaB4i-CLZmAsgLCZ-An-TltNno4vXBg5Lxb8o5Im6u3bhvKoRBvXMJxjwF2Xq4aU-hvbUpkgLHMfEIsPRxCguqhS-WmxhEHiUOTj58crBiUADO7-7EddKZUQzgY0/s400/BatteryPower_schem1024.jpg" /></a></div>
<p/>
I've already mentioned the diode which prevents a discharge of the NiMH cells over the solar panel when it's dark. You can use any diode, but for optimal power efficiency you could use a germanium or Schottky diode.
<p/>
In order to measure the NiMH voltage with the attiny ADC we use a voltage divider composed of two resistors. The attiny has an internal reference voltage of 1.1V, so we cannot measure voltages over 1.1V. The two resistors (1MOhm and 330kOhm) in series divide the voltage approximately by 4, so we'll be able to measure 0 - 4.4V. If you use 4 cells in series then replace the 330kOhm by e.g. 220kOhm, so you can measure up to 6.1V. I used large resistors so that the current loss is very small, less than 3uA. In my example code, get it <a href="https://github.com/tomtor/TinyPower/blob/master/ReadPower.ino">here from github</a>, I calibrated the resistors and 1.1V reference voltage by measuring the voltage on the ADC input. Note that the 100nF capacitor between the ADC input and ground is really needed to eliminate high frequency noise on the ADC input. Without it your ADC measurements will be all over the place. I also added a capacitor over Vcc and GND just to be safe.
<p/>
I tested with a power supply of 3.43V. The ADC returns a value in the range 0 - 1023. The expected ADC value would be:
<p/>
330/(1000+330) * 3.43 / 1.1 * 1024 = 792
<p/>
I got 775, a 1.5% error, not too bad considering the 5% resistors I used.
<p/>
<h2>How to proceed from here</h2>
Now that I have a stable base platform I plan to use it as a remote wireless sensor. I'll be adding a radio transmitter (eg a Bluetooth slave which you already see on the bread board) to send temperature and barometric pressure info to my server. The goal is to intercept this info from a commercial 433Mhz outdoor weather station. Its data will be added to the graph (from another Arduino project) which shows current temperature and humidity in my work room:
<p/>
<a href="http://v7f.eu/public/temp.png" imageanchor="1"><img src="http://v7f.eu/public/temp.png" width="600"/></a>
<p/>
The transmitter will need more than 2.7V so I'll either use a DC/DC converter or switch to 4 NiMH cells, but more about that in another blog entry...
<p/>
<h2>Powering a normal Arduino</h2>
In this blog entry I described powering an attiny from 2 NiMH cells. The principle is easy to adapt to normal Arduinos. Just use 4 NiMH cells in series (results in 4.8 - 5.5V voltage) and connect it with a diode to a small solar panel which supplies at least 6V when the sun shines. That's all.
<p/>
You can monitor the charge voltage or (charge) current with a cheap multimeter and check that all is fine. Connect your normal arduino to the NiMH cells and it will run just fine.
<p/>
If you want to connect the NiMH cells to the power regulator input of the Arduino then you'll have to add more cells for a higher voltage (at least 6V) if you really want to run the Arduino at 5V, but you'll waste some (solar) power. Arduinos will not really need the full 5.0V (except the original atmega8) when they run at 16Mhz, so you can safely use the regulator. As a side effect the Arduino will draw less current because the voltage is now lower. Compared to a standalone attiny the Arduino power led and support circuits will always waste energy, but if your solar panel is not too small it will keep running.
<p/>
Some measured data:
<p/>
4 NiMH cells connected to unregulated 5V pin: 45mA current due to led and not in sleep mode.
<p/>
NiMH connected on regulated Vin pin: 34mA current due to led and not in sleep mode. The 5V pin is now on 4.3V while the 4 NiMH cells provide 5.25V. At this rate (34mA) you'll need to charge every other day, so a solar based charger really makes sense.
<p/>
Arduino in sleep mode in above setup: I estimate that it will use less than 5mA. This means that a normal Arduino might run a few weeks on 4 charged NiMH cells, and adding a small solar panel will extend this to ever.
tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com7tag:blogger.com,1999:blog-3492800245188396828.post-49234780642155586342011-07-22T08:58:00.007+02:002011-07-22T10:12:41.435+02:00Adding One Time Passwords to ApacheIf you have some restricted information on your website then you would want to protect access to it. The standard procedure to just add a static user/password pair is not very secure. Even when using an encrypted HTTPS site the password is not fully secure from being intercepted. The transmission over the internet is encrypted, but in many cases you are not in full control over the browser you use.<br /><br />When you are using a browser in an Internet cafe it may have been tampered with and it might pass information you enter to others. Even in some corporate environments the browser has been modified to use a proxy with so called Deep Packet Inspection. The IT department will install a new trusted CA certificate in the browser you use and with or without your knowledge all HTTPS traffic (including private passwords) will be decrypted and inspected for eg virus contamination or other suspicious activities.<br /><br />So using a static password is not very safe. A common solution for this problem is using One Time Passwords combined with Two Factor authentication.<br /><br />The concept is simple, allow a password to be used only once or let it have a very limited lifetime. When your password has been intercepted and an intruder wants to use it, then he'll discover that it is no longer valid.<br /><br />So how do we get One Time passwords?<br /><br />Simply use an App on your smart-phone. Each time you need to login you enter your 4 digit PIN in the App and you'll receive a one time password in return.<br /><br />Many OTP apps exist, you should start at <a href="http://motp.sourceforge.net/">http://motp.sourceforge.net</a> to find one for your device. My favorite is DroidOTP for my Android device. You can find it in the Android market.<br /><br />The other part of the solution is configuring your Apache for MOTP. I'll describe the procedure for an installed Apache22 on FreeBSD, but the Linux procedure would be the same.<br /><br /><a href="http://code.google.com/p/mod-authn-otp/">http://code.google.com/p/mod-authn-otp/</a> hosts the code you need. Download the file (currently <tt>mod_authn_otp-1.1.4.tar.gz</tt>) and extract it in a directory of your choice.<br /><br />Simply executing:<br /><pre><br />make<br />make install<br /></pre><br />installed it without any problems or warnings on my machine.<br /><br />The next step is to adapt the <tt>httpd.conf</tt>.<br /><br />Add the following line to load the module:<br /><pre class="brush: csharp"><br />LoadModule authn_otp_module libexec/apache22/mod_authn_otp.so<br /></pre><br />Now we need to create the OTP user configuration. Create a directory<br /><pre><br />/usr/local/etc/apache22/otp/users<br /></pre><br />and create a file <tt>users</tt> in it. The owner should be <tt>www</tt> and the permissions should be 600. The information in it should only be readable by the Apache server because it contains the secret information for the One Time password generation for each user.<br /><pre><br />cd /usr/local/etc/apache22/otp/users<br />touch users<br />chown www users<br />chmod 600 users<br /></pre><br />Now add a single line for each user to this file, eg:<br /><pre><br />MOTP yourname 1234 1234abcdef567812<br /></pre><br /><br />The first field specifies that we are using the MOTP implementation, the second field is the name of the user, the third a private PIN you have choosen and finally the secret which is used to configure the smart-phone App. How you get this secret depends on the App you use. Most Apps generate this secret for you when you start using them. They show it once and you should copy it to the <tt>users</tt> file.<br /><br />With all this in place usage is quite simple. Just enter the following configuration in the <tt>.htaccess</tt> file in the directory with content you want to protect:<br /><pre><br />AuthType Basic<br />AuthName "My restricted data"<br />AuthBasicProvider OTP<br />OTPAuthUsersFile /usr/local/etc/apache22/otp/users<br />OTPAuthLogoutOnIPChange on<br />OTPAuthMaxOTPFailure 4<br />OTPAuthMaxLinger 1800<br />Require user yourname<br /></pre><br /><br />When you access the content with your browser then you need to enter your username and the OTP password. Grab your phone and start your MOTP App. Enter your pin and type the 6 character string you receive from the App in the password field.<br /><br />Now you can browse for 1800 seconds. After this period you are asked to enter a new OTP password. If you are paranoid you can lower the 1800 interval.tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com1tag:blogger.com,1999:blog-3492800245188396828.post-55675346498081303422011-07-22T07:33:00.020+02:002011-10-25T19:15:34.938+02:00Dynamic Desktop BackgroundSome Linux distributions have the option to refresh your desktop background wallpaper with a random image from a list of images or a specified directory. Ubuntu Natty (11.04) does not offer that option, but even if it did, I have some extra requirements:<br /><ul><br /><li>Load the image recursively from a tree of directories</li><br /><li>Skip portrait orientation images (these will not show nicely on you wide screen)</li><br /><li>Skip small images (thumbnails)</li><br /></ul><br />So I wrote my own script to dust of my (bash) scripting skills: <pre>RandomBG</pre><br />It requires the installation of ImageMagick and jhead from your distribution. These are needed for determining the orientation of the image.<br />Store the script on your computer ($HOME/bin is a good place) and invoke it with two arguments, the image directory (tree) and the delay in seconds between refreshments, e.g.:<br /><pre><br />RandomBG /data/MyImageCollection 300<br /></pre><br />You can start the script when you login on your desktop by adding it to the list of startup programs. On Ubuntu Natty you can find this setting as <tt>Startup Applications</tt> under <tt>System Settings</tt>.<br /><br />The default minimum size of an image is 200k. You can easily change it in the script on line 44 by adapting the <tt>find</tt> command. <br />Adapting it for KDE or XFCE would require just replacing the single gconftool command.<br /><br />Update for Ubuntu 11.10 Oneiric Ocelot Unity desktop:<br /><br />replace the gconftool line with<br /><pre class="brush: csharp"><br />dconf write /org/gnome/desktop/background/picture-uri "'file:///$foto'"<br /></pre><br /><br /><hr/><br /><pre class="brush: csharp"><br />#!/bin/bash<br /><br />DIR=${1:?Need an image dir for this arg}<br />SLEEP=${2:-300}<br /><br />function Ori()<br />{<br />FILE="$1"<br />ORI=`jhead -v "$FILE"|grep "Orientation ="`<br />set `identify -format "%w %h" "$FILE"`<br />W=$1<br />H=$2<br /><br />if [[ "$ORI" == "" || "$ORI" =~ 256 ]]<br />then<br /> if (( $W > $H ))<br /> then<br /> echo "l"<br /> else<br /> echo "p"<br /> fi<br />else<br /> if [[ "$ORI" =~ 1 ]]<br /> then<br /> if (( $W > $H ))<br /> then<br /> echo "l"<br /> else<br /> echo "p"<br /> fi<br /> else<br /> if [[ "$ORI" =~ 6 ]]<br /> then<br /> echo "p"<br /> else<br /> echo "-p"<br /> fi<br /> fi<br />fi<br />}<br /><br />OLDIFS=$IFS<br />IFS=$'\n'<br />fotos=( $(find $DIR \( -name '*.jpg' -o -name '*.JPG' \) -size +200k) )<br />IFS=$OLDIFS<br /><br />while :<br />do<br /> ori="x"<br /> while test $ori != "l"; <br /> do<br /> foto="${fotos[ $RANDOM % ${#fotos[@]} ]}"<br /> ori=$(Ori "$foto"); <br /> done<br /> echo $foto<br /> gconftool -t string -s /desktop/gnome/background/picture_filename "$foto"<br /> sleep $SLEEP<br />done<br /></pre>tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com0tag:blogger.com,1999:blog-3492800245188396828.post-66257123802023507352009-05-03T21:35:00.007+02:002009-05-04T07:43:27.737+02:00Pentax shake reduction with long lensesI read a few times that the in body shake reduction is less effective for longer focal lengths. I own an old Tokina-ATX 400mm AF lens and a K10D and wondered how effective it would be. So I did a quick test, three hand held shots at 1/15s, ie 5 stops below 1/600s.<br /><br />Result: good, moderate, decent<br /><br />and with SR off: bad, bad, bad<br /><br />Conclusions, even with my old trusty K10D a very decent result!<br /><br />First the three SR images, followed by 3 without SR:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUL5ZMapeUUbOlZkQvph64Z85WmZ3oXVlS93ffkZ2Mq_WTMVDa0KVmKzQUDmLl-aaoUcFFlZyQUG5zM9eGVXC3pni1ds3ghPjIA3JgGeyfvJgr2px1VsfI4j4ogsD1ZV3hRQjEkKwUI9Q/s1600-h/IMGP5335rt.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUL5ZMapeUUbOlZkQvph64Z85WmZ3oXVlS93ffkZ2Mq_WTMVDa0KVmKzQUDmLl-aaoUcFFlZyQUG5zM9eGVXC3pni1ds3ghPjIA3JgGeyfvJgr2px1VsfI4j4ogsD1ZV3hRQjEkKwUI9Q/s400/IMGP5335rt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5331684301728898834" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN_ZxKWsIhnelHYOBduH18bvaoLp_U5wFtEebuN5WkutRqGgZEIyUFbH8W7j14dL90P_F_CalEqRGGRRWfcYI47FLJuf4nrfOfJeiXvnTedYgypeLAn1CxTS0xak2HrQdc-TficE4xphc/s1600-h/IMGP5336rt.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN_ZxKWsIhnelHYOBduH18bvaoLp_U5wFtEebuN5WkutRqGgZEIyUFbH8W7j14dL90P_F_CalEqRGGRRWfcYI47FLJuf4nrfOfJeiXvnTedYgypeLAn1CxTS0xak2HrQdc-TficE4xphc/s400/IMGP5336rt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5331684989934247138" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_xTKtZGCEjzSdXgP5U026iaFl609dOW75sC8xl_9Jd9HGO71ndytADqxq1uX0ecWYogSSROKyU9ZXUheF6_3hJmOU-eS1VtbX43gaOQX2Ey-BBOmWY8OUsavOQa8wQEmmqAmjWXTN1PU/s1600-h/IMGP5337rt.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_xTKtZGCEjzSdXgP5U026iaFl609dOW75sC8xl_9Jd9HGO71ndytADqxq1uX0ecWYogSSROKyU9ZXUheF6_3hJmOU-eS1VtbX43gaOQX2Ey-BBOmWY8OUsavOQa8wQEmmqAmjWXTN1PU/s400/IMGP5337rt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5331685388628819106" /></a><br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZk7kwU4ockQwMFWbuTgz1TcY5uxS130dOgtpcuywb7JbUJ5TT97x_v6CKhY__5VO1e5kaaXoWfMzi1bOffF27_jXAA37willkIcPLGIgiS_t6dWOGEQWebeTKUXo1kAzc04X4j2JNXAk/s1600-h/IMGP5340rt.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZk7kwU4ockQwMFWbuTgz1TcY5uxS130dOgtpcuywb7JbUJ5TT97x_v6CKhY__5VO1e5kaaXoWfMzi1bOffF27_jXAA37willkIcPLGIgiS_t6dWOGEQWebeTKUXo1kAzc04X4j2JNXAk/s400/IMGP5340rt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5331685404905484178" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn4HV9sKUc1GxR66mdQccodrIjC8tJqZDw1XG0GSQxMmWzFy6XK7p9_5WBJQdJt_YTvVG05NuUAgvn2JkIkbR523MnFQQJN2YmTJsf19faYD0GcEjR6SEiA16rY6ZE24W0Xvehpv2H04k/s1600-h/IMGP5339rt.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn4HV9sKUc1GxR66mdQccodrIjC8tJqZDw1XG0GSQxMmWzFy6XK7p9_5WBJQdJt_YTvVG05NuUAgvn2JkIkbR523MnFQQJN2YmTJsf19faYD0GcEjR6SEiA16rY6ZE24W0Xvehpv2H04k/s400/IMGP5339rt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5331685390231572226" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjERbgyOJNHODn6hMqUIGAxS2YbQlBR_Z1zDKZps28G6_ShWdDRTTTSoXOwY5-BeBKsYv7vIl8ajwRwc285WZs1K-hqZN0Cgvg7E5ZxQ2EqmX0A52KnDLtcSpqNdyLy2OuRQxZ4iGE62WY/s1600-h/IMGP5338rt.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjERbgyOJNHODn6hMqUIGAxS2YbQlBR_Z1zDKZps28G6_ShWdDRTTTSoXOwY5-BeBKsYv7vIl8ajwRwc285WZs1K-hqZN0Cgvg7E5ZxQ2EqmX0A52KnDLtcSpqNdyLy2OuRQxZ4iGE62WY/s400/IMGP5338rt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5331685393745755458" /></a>tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com0tag:blogger.com,1999:blog-3492800245188396828.post-53820118326801234142009-03-29T11:00:00.012+02:002009-06-21T11:23:39.388+02:00Pentax 540 and Metz 58 comparison<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM3Am1TLbZhFkMxk_OKo4bqIrhEMbvHi2c8H9YtnIKU5jOKcvSz_sR7diL1v_5MAJq22wYXHXOJri7QqwRWJqSVFB9CDViAWv8SdUt6FFpRQpSEtR34TfRE5T2aQ4bwxW0nKtPaS6R5jc/s1600-h/intro.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM3Am1TLbZhFkMxk_OKo4bqIrhEMbvHi2c8H9YtnIKU5jOKcvSz_sR7diL1v_5MAJq22wYXHXOJri7QqwRWJqSVFB9CDViAWv8SdUt6FFpRQpSEtR34TfRE5T2aQ4bwxW0nKtPaS6R5jc/s320/intro.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5318542727839546850" /></a><br /><br />I've had a Metz58 flash for a year and a half and received a Pentax 540FGZ a few months ago.<br /><br />I wanted to test various combinations of these flashes, see the effect of contrast control, etc.<br /><br />First some remarks not related to the flash behavior:<br /><br />I like both units, the bodies of both feel sturdy. I would perhaps rate the feel of the 540 flash head higher than the Metz. On the other hand the 540 has a battery cover which feels fragile, I operate it with care. Also the control sliders of the 540 feel less solid, but not in such a way that I feel that they are likely to malfunction.<br /><br />Completely subjective: the 540 has slightly better looks.<br /><br /><span style="font-style: italic;">You can find the complete 21 page test report in PDF form</span> <a href="http://www.xs4all.nl/%7Etomv/pentax/PentaxFlash.pdf">here</a> (Updated June 2009).<br /><br /><br /> <span style="font-weight: bold;"> Final conclusions:<br /><br />Contrast mode<br /></span><h2 class="western"><span><span></span></span><span></span></h2> <p>Contrast mode works, but not in the way I would expect, c.q. wish it to work. The flash with contrast-on emits less light, but contrast-on does not work for the on camera master. So one cannot have the on camera master act as fill.</p> <p>Contrast mode implementation on the Metz and 540 are not completely similar. The 540 produces slightly different results (lower ratio for the off camera slave?) than the Metz as off camera slave.</p> <p>When using 2 slaves the contrast-on option gives inconsistent results. If the Metz has contrast-on then the option has no effect. If the 540 has the option on then the Metz does not fire.</p> <p>In a controlled environment one should use manual for really predictable results.</p> <p>In a dynamic environment with a master flash on the camera one should move the slave flash away/towards the subject to change the master/slave ratio or play with exposure compensation on both flashes.</p><br /><span style="font-weight: bold;">Which Flash?</span><br /><p>Both the Metz-58 as the Pentax 540 are really nice flashes. I think I prefer the Metz as on camera bounce flash with the option to use the second reflector as fill. The 540 is really good as off camera flash and even has an optical slave mode.</p> <p>I also considered the Metz-48 and Pentax 360 flashes. They are good options as long as one is not interested in using multiple flashes. The drawback of the Metz-48 is that it cannot act as a master/controller on camera, otherwise it would be a great second flash for me. The main drawback for me of the Pentax 360 is not that it doesn't have the swivel head (I assume I could live with that), but that off camera the automatic power off option cannot be disabled. I use off camera flashes a lot with optical or radio triggers and having to turn the 360 manually on after a few minutes (and restoring all its settings) is no option for me.<br /></p> <p>See Mattdm's site: <a href="http://pttl.mattdm.org/">http://pttl.mattdm.org/</a></p> <p>for more flash options and all kinds of details about the flashes.</p> <p style="margin-bottom: 0cm;"><br /></p>tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com0tag:blogger.com,1999:blog-3492800245188396828.post-19750213161434178952009-03-28T18:08:00.002+01:002009-03-29T20:53:50.249+02:00An Ultra Narrow Grid Spot for your flash<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFfQH4u8GW3AZbkA1zQ5LKC9cjDm-F0v7T2KerO5IPIBKS2zAlz0YSZvNL6CCiP4t-5dM5Zgj-KifCWDeVhDuTC4zZV3ZFcGNUln9sceLEFdQfoaByAPtIe2kGkS-t4QwA8KwBaoPfspc/s1600-h/imgp4619sc.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 134px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFfQH4u8GW3AZbkA1zQ5LKC9cjDm-F0v7T2KerO5IPIBKS2zAlz0YSZvNL6CCiP4t-5dM5Zgj-KifCWDeVhDuTC4zZV3ZFcGNUln9sceLEFdQfoaByAPtIe2kGkS-t4QwA8KwBaoPfspc/s200/imgp4619sc.jpg" alt="" id="BLOGGER_PHOTO_ID_5318364722356390994" border="0" /></a>Last week I made a grid spot from drinking straws for my flashes. You can read about these DIY devices <a href="http://lightingmods.blogspot.com/2007/06/diy-black-straws-snoot-grid-part-1.html">here</a>.<br /><br />It took me a few hours to build one with 4.5 cm straw fragments. The result was nice. The spot creates a circle of light about 20 cm wide when used from a distance of about 1.5 meters. (Note: In The Netherlands you can find these black straws at the Xenos or the Ikea)<br /><br />I wished however for a tighter beam of light and wondered if I could use the complete straws in a construction. I'm a bit lazy and didn't want to glue a cardboard/straw assembly together only to discover that it did not work. So I tried the following:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYWJNtANxu0dD9IuNqerNXwwgLMdfbpcZS6h6jjTRtvMrwF2uvBqVrakK0bhRgqHoAEYqZ5UmmtF2IL5zwBDSUkhOPLBH0gYNeujMRvuOafTHXrrOfXWA0d3OnjbXcPUBs6SYJnYDyqO8/s1600-h/imgp4633sc.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 268px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYWJNtANxu0dD9IuNqerNXwwgLMdfbpcZS6h6jjTRtvMrwF2uvBqVrakK0bhRgqHoAEYqZ5UmmtF2IL5zwBDSUkhOPLBH0gYNeujMRvuOafTHXrrOfXWA0d3OnjbXcPUBs6SYJnYDyqO8/s400/imgp4633sc.jpg" alt="" id="BLOGGER_PHOTO_ID_5318367976843673186" border="0" /></a><br />I bundled two packs of straws with two rubber bands (a band on each end) so that they formed a nice circle. I used an already home made snoot as container, c.q. flash mounting device. To prevent light leakage I wrapped a black cloth (a.k.a. a pair of socks) around the straws and put this in the front of the flash mounted snoot:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjki5oyJisHohZKuVqByZLwXlD3zuzfF0RX5ppuhujdKCeBAjfS-LdGwlYSc2vnr6TpL7sxQ2KYX3AzRh85lBBv2EGzg0IYKeL2Bs4mXW5s1Krp2pz0vAow150S50rwgUFlgEtjWikAhz8/s1600-h/imgp4626sc.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 268px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjki5oyJisHohZKuVqByZLwXlD3zuzfF0RX5ppuhujdKCeBAjfS-LdGwlYSc2vnr6TpL7sxQ2KYX3AzRh85lBBv2EGzg0IYKeL2Bs4mXW5s1Krp2pz0vAow150S50rwgUFlgEtjWikAhz8/s400/imgp4626sc.jpg" alt="" id="BLOGGER_PHOTO_ID_5318368250614496514" border="0" /></a><br />The result was great! This grid created a spot as shown on the first image. The hot spot is about 5 cm when used from a distance of about 1.5 meters. Not only was it quick to assemble, but this way the snoot can function as a snoot AND a grid spot. So the bundle of straws and the sock get a nice permanent place in my flash bag...<br /><br /><br /><img src="file:///media/disk/dcim/100_2803/imgp4633.jpg" alt="" />tomtorhttp://www.blogger.com/profile/13161999859940007795noreply@blogger.com2