Mikedowney.co.uk
What's New
Site Map

Diary
Astronomy
Bits N Bobs
Computing
Food And Drink
Links
Photography
Welcome


Recipe Collections
Recipe A Week 2013
Recipe A Week 2010
A-Z of Regional Cakes
Alphabet of Nations


Selected Entries
Pinhole Photography
Keeping Quail
Coventry
Recipes
A different recipe each week
Friends websites
Oven Temperatures and Measuring Cups


Most popular stories
A Hamster's Home is his C...
Hamster Peanuts
Simple HDR photography wi...
A Tangfastic Mess
Halloween Animal Beds
Decaffeinated Coffee
Garden Fountain
Pizza, Hamsters and Ballo...
Hamster Baby Update
More Squirrel Photos
Not Quite HDR photography


RSS Feeds:
RSS Feed Entire Site.
RSS Feed Diary only.



Powered by Blosxom


Pinhole Photography Ring
pinhole webring logo
powered by RingSurf
Next | Previous
Random Site | List Sites

International A-Z: Hembesha (Eritrean Bread)

Story location: Home / food_and_drink / a_to_z /
11/Nov/2017

My latest attempt in my international breads comes from Eritrea. There appear to be both sweet and spicy versions of this bread, but I decided to try the sweet version.

The freshly baked Hembesha

See more ....

Ingredients

  • 250g Flour (I used a mixture of white and wholemeal bread flour)
  • 125g milk
  • 1 egg
  • 50g butter or margarine (melted)
  • 25g sugar
  • 50g sultanas (soaked in water)
  • yeast
  • ½tsp salt
  • ½tsp cumin

I simply put everything in the bowl and used our electric mixer. The mixture was a bit soft but I left it to rise for an hour or so before knocking it back and re-kneading it. After the second kneading, the mixture was a bit firmer and easier to handle.

I shaped the dough into a disk, cut some 'spokes' and left it to rise again. Instead of baking in an oven, this bread is cooked in a covered frying pan.

A close up of the inside

I don't recall having cumin in a sweet recipe before and it works well, probably because there isn't much and the flavour isn't too strong. The bread is a bit like a hot cross bun. If mixed spice mixed fruit/mixed peel was used, it would be difficult to tell the difference between them.



More Victoria Square Lunchroulette

Story location: Home / Blog / food_and_drink /
18/Oct/2017

The food market was back in Victoria Square so I went again to see what was available. There was a new Turkish Food stall which I hadn't seen before so I decided to get my food from there and used the random number app to choose off their menu. I had a spicy chicken wrap which was well filled and tasty.

Turkish Wrap



International A-Z: Djibouti flatbreads

Story location: Home / food_and_drink / a_to_z /
23/Sep/2017

I actually made these a few weeks ago but didn't get around to writing it up at the time. The flatbreads are like a cross between a crumpet and a galette style pancake.

Traditionally they are made using Teff Flour which appears to be naturally gluten free. There are several versions of the recipe which use a mixture of plain flour with some gluten free flours so I decided to try my own version. Originally I used a cup of plain flour with 2 tablespoons each of the other flours but the mixture came out a bit stretchy after fermenting so the version below has the amounts adjusted to reduce the amount of wheat flour to make the mixture less stretchy.

the cooked flatbreads

See more ....
  • ½ cup plain flour
  • ½ tbs fine cornmeal
  • ½ tbs buckwheat
  • yeast
  • salt
  • 1 tsp sugar
  • 1.5 cups water

the fermenting batter

Method

Whisk everything together, cover with clingfilm and leave in the fridge overnight. In the morning, take the batter out of the fridge and allow to reach room temperature.

Heat up any lightly oil a frying pan. Spoon in some of the mixture and spread to form a thin pancake.

Djibouti Flatbreads in the pan

When it has cooked on one side, flip it over to cook the other side. Continue until all the batter has been used. To serve, return one of the pancakes to the pan, add the filling, roll up and reheat.

Djibouti Flatbreads in the pan



We're going on a Bearroulette

Story location: Home / Blog / birmingham /
30/Aug/2017

Birmingham is full of bears. I would often combine looking for bears with Lunchroulette. Most of the time I ended up near somewhere selling baguettes and I didn't bother taking photos of those. My lunchroulette photos are up to date but I realised that I hadn't uploaded any of the bear photos yet.

 

Thumbnail Thumbnail Thumbnail Thumbnail Thumbnail
Thumbnail Thumbnail

Click on the thumbnail to view the image



Lunchroulette Update

Story location: Home / Blog / food_and_drink /
19/Jul/2017

A few weeks ago I went to the food market in Victoria Square and randomly chose which stall to get my lunch from. I ended up at the vegan burger one. I thought I'd try the pulled-pork style Jackfruit Burger. The 'cheese' was a bit strange but the burger itself was ok.

Vegan Burger

I did the same thing today but the first roll of the virtual dice selected the coffee van so I tried again and ended up with a tray of filled dumplings. They were nice but the best part of the meal was the crunchy chilli sauce which had crushed nuts in it.

Filled Dumplings



Raspberry Pi + LED + Photodiode + Fidget Spinner

Story location: Home / computing / raspberry_pi /
05/Jun/2017

Several years ago I had the idea of using a camera or light sensor to measure how fast a hamster runs in a wheel. I never actually did anything about it but I recently saw a fidget spinner in action and decided to measure its speed using LEDs and a photodiode.

The setup

The circuit was incredibly simple. At first I thought I might need to connect the photodiode to an amplifier or schmitt trigger or something like that but when I pointed the LED directly into the photodiode and attached the voltmeter to the latter, the voltage went close to zero when I blocked the light and went over 3v when I let the light through. It looked like I could just connect the photodiode directly to a GPIO pin of the Raspberry Pi to measure when the light path was blocked.

The next step was to write some code to detect when the GPIO pin changed state and to measure the frequency. When I logged into the Pi, I found a script which actually did exactly that. I'm not entirely sure where this came from. I may have adapted it from a C exmaple from the pigpio project but I can't actually remember. It uses NumPy to calculate the average.

Wiring it up

Connecct the LED to the 3.3V output of the Pi, through a 220 ohm resistor. Connect the photodiode 'in reverse': the long leg to GPIO 26 of the Raspberry Pi and the short leg to the 3.3v supply. When the light level is low, the photodiode will act like a normal diode and block the current. When the light level is high, the current will flow and the GPIO pin will detect a 'high' signal.

See more ....

Results

Spinning

I fired up the edge.py script, started the figet spinner and lowered it into into the light beam. I had to be careful to avoid it touching the breadboard, the LED or the photodiode so I almost certainly didn't manage to spin it as fast as I could. I ran the script a few times and got numbers between 30-50 Hz. Since the spinner had 3 lobes, this means that it was only spinning between 10 and 15 times per second.

Matt Parker has a video where he uses a spectrum analyser to measure the frequency of the spinner. He uses a compressed air can to reach much higher speeds.



International A-Z: Chinese Steamed Buns

Story location: Home / food_and_drink / a_to_z /
29/May/2017

It has been far too long since I posted my last new recipe. I decided to try a sweet steamed bun recipe and tried to find something suitable on the web. I avoided any American recipes which mostly used mixture of 'all purpose' and 'cake flour' and found a recipe taken from a Ken Hom book. I decided to use half the quantities for my initial attempt.

For the sweet filling, I found a recipe for baked Honey Buns which sounded good. This recipe called for dessicated coconut which had been powdered in a food processor. Since we have coconut flour, I tried using that.

Since coconut flour abosrbs a lot of moisture during cooking, I reduced the amount (¾ of a cup instead of a full cup of dessicated) but the first test run came out too dry. I removed some of the mixture, added extra honey and oil and the egg white, to make the mixture softer and wetter, but the final version was still a bit too dry inside. The recipe for the filling is still only approximate since I don't know how much flour, honey or coconut oil ended up in the final mixture.

See more ....

Making the dough

Put:

  • 90ml warm water
  • 1 tsp yeast
  • 1 tsp sugar
  • 1 tbsp melted coconut oil
  • 190g plain flour

in a mixing bowl. Mix to a dough, knead for a few minutes then leave to rest while preparing the filling.

Mixing the filling

Mix together:

  • ½ a cup of coconut flour
  • 6 tbsp honey
  • 4 tbsp melted coconut oil
  • 1 egg, beaten

The resulting mixture should be soft and slightly wet. This actually makes more than you need for the amount of dough.

Chinese Steamed Buns

Assembling and cooking

I divided the dough into 6 pieces, flattening them out and placing about a tablespoon of the filling in the middle of eIach. After folding the dough up and crimping to seal the top, I sat each bun onto a square of baking paper.

I used our Instant Pot to cook the buns. To make sure it was warmed up and ready, I poured boiling water into the bottom of the pot and pressed the sautee button while the buns rested and rose for about half an hour.

I cooked the buns using the Steam setting at low pressure for 15 minutes.

Chinese Steamed Buns with the coconut honey filling

The bun texture came out ok and the filling tasted good. Apart from the filling going a bit dry (which I mentioned earlier), the recipe worked well.



Lunchroulette: Chicken and Ribs

Story location: Home / Blog / food_and_drink /
26/May/2017

I have done a few more Lunchroulette dinners this year which I didn't blog about at the time. In approximately chronological order, they are:

Chicken Fillet Sandwich Meal

The randomly chosen meal type was Burger and I rolled a 10 on the computer generated dice. I picked a route at random and walked towards the city centre, counting the burger places along the way. I ended up at Love Chicken on the High Street. I chose a chicken fillet sandwich meal (I can't remember the exact name for it but it was slightly spicy chicken fillets in a bun).

Chicken Fillet

Rib Platter

This was a pub lunch with some collegues from work. I used the random number generator to pick a panel from the menu then an item from the panel. I ended up with the full rack of ribs. Good but huge.

Rib Platter

Chicken and Chips

I regularly walk past Big John's take-away but this was the first time I had gone inside. It was nice to get proper chippy style chips instead of the thin french fries which most take-aways do. Two pieces of chicken and a box of chips turned out to be a lot more food than I expected.

Chicken and Chips



Connecting an LCD screen to the NodeMCU

Story location: Home / computing / nodemcu /
14/Apr/2017

When I bought the electronics starter kit for the Raspberry Pi, it came with a small 16 character by 2 line LCD. I found instructions on the Adafruit website for wiring it up and controlling it. I thought it might also be a useful thing to use with the NodeMCU board so I had a look for any instructions for that.

Unfortunately everything I found was for the I2C version of the display and I've got the plain parallel bus version, so I decided to have a go at wiring it up and programming it myself.

The NodeMCU board with the LCD1602 display

See more ....

Wiring up the board

The wiring is quite straightforward, although a lot of wires are required. Six GPIO pins are needed at the NodeMCU end, along with power and ground.

Starting with the power pins, connect one of the ground pins from the NodeMCU to the ground rail of the breadboard. The 'Vin' pin supplies 5 volts (if used with a usb connection) so connect a wire from that to the '+' rail of the breadboard.

Four data lines are required: D4-D7 on the LCD. To make things easier I connected these to pins 4-7 on the NodeMCU board. The final two connections from the NodeMCU are 'Clock' (called 'E' on the display board) which went to pin 2, and 'RS' which went to pin 1. Data line D0-D3 from the display board are left unconnected.

The NodeMCU board with the LCD1602 display

The rest of the pins on the board go to either 0V, 5V or a potentiometer set as a voltage divider (ignore the 3 LEDs in the pictures, they aren't needed here).

Connect the following pins to ground (0V):

  • 'RW' (set permanently to Write mode since we aren't reading from the board)
  • 'VSS' (the board's ground connection)
  • 'K' (the ground connection for the backlight)
  • One side of the two potentiometers.

Wiring up the LCD1602 display

Connect the 'VDD' pin to 5V and also the other side of the two 10K potentiometers. Finally, the 'V0' and 'A' pins can be connected to the centre of the two potentiometers to provied adjustable contrast and backlight.

Wiring up the LCD1602 display

Programming the board

I based my Lua code on the Python code downloaded from the Adafruit website. Since I was converting the code from one language to another, I read through it carefully to make sure I only converted the bare minimum to get it working.

My first version of the code was little more than a few subroutines to send bytes to the board. While I was reading the NodeMCU Lua FAQ, I noticed that they recommend that code is written to be event driven instead of the more traditional program flow used in scripting. They also state that routines called from an event can only take a maximum of 10 milliseconds to run before they affect background services. After reading that I changed my code to buffer the text and use a timer to check the buffer and send the bytes to the display.

The current version is probably too cautious and sends a byte at a time. It might be more efficient to send a line at a time but that should be easy to change.

The code can be found over on Github. I have decided to put it there since it is easier for me to keep it up to date and easier for anyone else to download.



Using the Raspberry Pi serial port from Java

Story location: Home / computing / raspberry_pi /
25/Feb/2017

A couple of days ago I wrote about connecting the Raspberry Pi to the NodeMCU microprocessor board. I originally used Python since I find that the easiest for testing ideas or simple prototyping. Since I use Java for most of my application programming, I thought I should work out how to do the same thing in Java too.

Luckily there is a Java serial comms library called RxTx which is available precompiled for Debian Linux and can be installed on the Raspberry Pi simply by typing

sudo apt-get install librxtx-java

The jar file is placed in /usr/share/java/RXTXcomm.jar (and doesn't seem to be added automatically to the classpath) so to compile any code, you'll need to use something like

javac -cp /usr/share/java/RXTXcomm.jar:. SerialTest.java

and to run the code you need to reference both the jar and the JNI library, using

java -cp /usr/share/java/RXTXcomm.jar:. -Djava.library.path=/usr/lib/jni SerialTest

The Code

import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;

import java.io.*
import java.util.Scanner;

public class SerialTest{

    public static void main(String[] args) throws Exception{
        CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier("/dev/ttyS0");
        CommPort commPort = portIdentifier.open("Java Serial Test",1000);
        System.out.println("Opened Port");

        SerialPort serialPort = (SerialPort) commPort;
                serialPort.setSerialPortParams(115200,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);

        String[] leds = new String[]{"r","g","b","off"};

                try(BufferedInputStream in = new BufferedInputStream(serialPort.getInputStream());
                BufferedOutputStream out = new BufferedOutputStream(serialPort.getOutputStream());
        Scanner s = new Scanner(in)){

            for(String c : leds){
                out.write(c.getBytes());
                out.flush();
                System.out.println(s.next());
                Thread.sleep(1000);
            }
        }
    }
}

I saved the code as SerialTest.java and compiled it and ran it using the commands above. It expects the serial.lua file to already be running on the NodeMCU board, either by running the python script from last time or by executing

python nodemcu-uploader.py --port /dev/serial0 file do serial.lua

As you can see, the code is much more verbose than the Python version but it gets the job done.



The long awaited Raspberry Pi post: Interfacing with a NodeMCU

Story location: Home / computing / raspberry_pi /
22/Feb/2017

I first used a Raspberry Pi when I was working in Leicester and I bought one for home not long after that. I set it up as a file/media server and it has been sitting in the front room quietly doing its job since then.

Last year I bought a Pi 3 and an electronics starter kit (which consisted of a breadboard, LEDs, switches and various other components) so I could learn how to connect things to the Pi.

A few weeks ago I was given a NodeMCU development board (my friend Tim has already written about some of his experiments with his).

I followed the instructions on flashing the firmware and getting a script running. For some reason the ESPlorer software doesn't seem to behave well on my computer. It usually takes several rounds of restarting/resetting/reconnecting before it will agree to communicate with it. The command line tools have no problems, neither does CoolTerm. After a day when it felt like I was spending half of my time struggling to get ESPlorer to connect properly, I decided to ditch it and use the nodemcu-uploader command line instead.

The first thing I wrote was the Hello World of the microcontroller world: the flashing LEDs. The next stage was to use the serial ports to connect the Raspberry Pi and the NodeMCU together.

See more ....

Setting up the Raspberry Pi Serial Port

By default, the serial port on the Pi is configured to be used for a serial console , mainly for diagnostics. To use it for other things, you need to disable the console. There are lots of different instructions to do this but for the Pi 3 it boils down to editing the /boot/config.txt file and adding the line

enable_uart=1

followed by editing /boot/cmdline.txt and removing the

console=serial0,115200

entry. After rebooting the Pi, the GPIO pins 14 & 15 should be available for the serial port.

Writing the script for the NodeMCU

I took my flashing LED script and modified it to listen to the serial port. Sending 'r','g' or 'b' will light up the respective LEDs, any other character will turn them off. If the following script is saved as serial.lua, it can be uploaded to the NodeMCU using

python nodemcu-uploader.py -port /dev/serial0 upload serial.lua

as long as the NodeMCU Uploader has been installed first.

-- Listen on the serial port for a colour.
-- Toggle the colour of the LED.

green=2
blue=1
red=3
gpio.mode(red,gpio.OUTPUT)
gpio.mode(green,gpio.OUTPUT)
gpio.mode(blue,gpio.OUTPUT)

-- Start with the LEDs off
gpio.write(red,gpio.LOW)
gpio.write(green,gpio.LOW)
gpio.write(blue,gpio.LOW)

uart.setup(0,115200,8, uart.PARITY_NONE, uart.STOPBITS_1, 1)

uart.on("data",1,
    function(char)
        if char=="r" then
            print("red")
            gpio.write(red,gpio.HIGH)
            gpio.write(green,gpio.LOW)
            gpio.write(blue,gpio.LOW)
        elseif char=="g" then 
            print("green")
            gpio.write(red,gpio.LOW)
            gpio.write(green,gpio.HIGH)
            gpio.write(blue,gpio.LOW)
            lighton=2
        elseif char=="b" then
            print("blue")
            gpio.write(red,gpio.LOW)
            gpio.write(green,gpio.LOW)
            gpio.write(blue,gpio.HIGH)
        else
            print("Off")
            gpio.write(red,gpio.LOW)
            gpio.write(green,gpio.LOW)
            gpio.write(blue,gpio.LOW)
        end
    end,0)

The script can be run using

python nodemcu-uploader.py -port /dev/serial0 file do serial.lua

Getting the Pi to talk to the NodeMCU

I connected the RX GPIO pin on the Pi to the TX pin on the NodeMCU, and vice versa. The easiest way of powering the NodeMCU was to use the power out pins from the Pi. I found that connecting the 5V out to Vin on the NodeMCU worked reliably. If I had the Pi plugged into a good quality USB power adaptor then I could sometimes get it to work by connecting one of the 3.3V pins of the Pi to one of the 3.3V pins of the NodeMCU board, but this isn't guaranteed to work.

The script uses the serial port library, which can be installed using

sudo apt-get install python-serial

The Python script is fairly simple and just cycles through the LEDs a few times. The third line runs the lua script, in case it wasn't already running. There isn't a pause between cycling between the LEDs but the serial timeout is set to 1 second and the port.read(100) command attempts to read 100 bytes. Since there should only be the colour names being returned, this automatically adds a 1 second delay. This might not be very good programming practice but it was the easiest way of incorporating reading a variable length response and adding a pause all at once.

import serial

port = serial.Serial("/dev/serial0", baudrate=115200, parity=serial.PARITY_NONE, timeout=1.0)

port.write("dofile('serial.lua')\r\n")

for i in range(1,10):
    for c in ['r','g','b']:
    port.write(c)
        r = port.read(100)
        print(r)

Flashing LEDs

This first demonstration is pretty trivial, although it took a few days of trial and error to get everything working. In due course I'll experiment with connecting different sensors to the Pi and NodeMCU.

Flashing LEDs on the NodeMCU, controlled by the Raspberry Pi

I think my next step is to use Java on the Pi to do the same thing. I have had a quick look at Java serial port stuff and it isn't as straightforward as Python but since I do most of my programming in Java these days, it will be useful to know how to do that.



International A-Z: Bulgarian Holiday Bread

Story location: Home / food_and_drink / a_to_z /
01/Jan/2017

For the letter 'B' I decided to do a version of a traditional Bulgarian Christmas loaf. I had originally intended to make it over Christmas but I didn't find time to do any baking, and since we had lots of cakes and chocolates to eat, we didn't really need more bread.

Ingredients

(For the bread)

  • 2 cups of bread flour
  • 2 tsp yeast
  • 2 eggs
  • 50g softened butter
  • ½ cup water
  • 1 tsp salt
  • 1 tablespoon honey

(For the glaze)

  • 1 tsp of honey
  • a few drops of water

Mix the water and honey a few drops at a time until the honey is a pourable consistency.

Method

I put all the bread ingredients in our food mixer, with the dough hook, and let it mix for a few minutes. Since this a brioche type bread, the mix was very wet and a bit sticky, which made it difficult to handle and shape.

I broke the dough into equal weight pieces, rolled them into balls and put them in a round tin to prove.

After proving and brushing with honey

After they had risen, I carefully brushed them with the honey mixture. It was baked in a pre-heated oven (gas mark 5) for half an hour. I started it off covered in foil, but took the foil off after the first 15 minutes.

After baking

Verdict: a soft slightly sweet brioche with a honey flavoured crust. Definitely one to try again.

Bulgarian honey bread with butter



Lunchroulette at the German Market again

Story location: Home / Blog / food_and_drink /
20/Dec/2016

I went back to the German Market again and picked a random stall to buy my lunch. This time it was one of the Pretzel stalls. The salami pretzel sounded good so I bought one of those.

Salami Pretzel

The pretzel was pretty much what you expect: soft, chewy and very salty on top. I had change left so I thought I would try a dessert next. The choice of desserts was reasonably wide and included pancakes, sweets, cakes, marshmallows or chocolate coated fruit kebabs. The dice took me to a marshmallow stand.

Marshmallows

I chose an orange and a gingerbread one. The marshmallow is softer and stickier than the sort you get in bags, and sits on a small waffle or wafer-like disc.



Sausageroulette

Story location: Home / Blog / food_and_drink /
09/Dec/2016

The German Market is in full swing in Birmingham and I am still using the random number app to choose my lunch.

Chicken Schnitzel

The dice took me to a schnitzel stand which offered a choice of different meats. I let the dice decide and came away with a chicken schnitzel. I also got some chips to go with it.

Chicken Schnitzel

I had asked for the mushroom sauce and I think they gave me the curry sauce but it was still good, and went well with the schnitzel.

Half metre sausage

The choice was a bit easier this time. The dice chose the half-metre bratwurst stand so I didn't have any extra choices to make. I didn't let the dice choose my condiments, I added half ketchup and half mustard.

Half-metre sausage

The sausage was fine but the bread was a bit chewy. Although it looks a lot of food, I still felt hungry afterwards.



Banana Bread/Pumpkin Traybake

Story location: Home / Blog / food_and_drink /
23/Nov/2016

This was another 'make room in the freezer' baking session. I had more grated pumpkin in the freezer, along with some 'shop damaged' bananas (6p for a bag). I defrosted them and made two cake mixes. My idea was to pour them in opposite ends of a baking tray, giving the middle a swirl so the ends were one type of cake and the middle had both combined.

Recipe

The original recipe was based on the pumpkin cupcakes. I beat together 175ml of vegetable oil, 3 eggs and a teaspoon of vanilla extract, then divided the mixture in two.

In one half I added the pumpkin cake ingredients (but using cranberries instead of sultanas):

  • 85g golden caster sugar
  • 100g of grated pumpkin
  • 50g cranberries
  • 1 tsp cinnamon with ½ tsp of mixed spice

In the other half I added

  • 85g of drinking chocolate powder, with an extra tablespoon of sugar
  • 100g mashed banana
  • 50g sultanas

Both halves also had

  • 100g self raising flour
  • ½ tsp of bicarbonate of soda

I poured the two batters into a 10x6 inch tray. I expected the cakes to take about half an hour at gas mark 4 but it was well over ¾ hour before the middle stopped being liquid.

When the cake had cooled, I made a lemon juice icing, slightly runny so I could drizzle it over the top.

Banana Bread/Pumpkin Traybake

I took some of the cake to work to share (since that was where the hot chocolate powder came from, it was only fair to do that). People seemed to like it - I got favourable comments from people, someone even noticed that I had used an oil based recipe. Both cakes were definitely worth doing again.