homebrew processors and film camera love

Author: webbothegreat

Xmas, More Pentax’s

Xmas, More Pentax’s

With my new found enthusiasm for film photography alive again, I thought I’d have a go at trying some pot luck on ebay. I’ve always loved Pentax 70’s/80’s SLR’s and already own a ME/Super ME/Program A x2. I am getting quite good at repairing the […]

How’s Your Plumbing?

How’s Your Plumbing?

When I built the Semi auto machine, that has pretty much gave me all the code theory I need to build a full auto machine, the only real additions will be a few more relays and some solenoid valves for opening and closing valves, and […]

Make Your Own – Part 4 – Rest of Code

Make Your Own – Part 4 – Rest of Code

This is a LONG page, take time to do each bit in sections to get your head around it all.

Agitation Timing

This for me, was the hardest part to get my head around as I just don’t understand how millis settings work in arduinos.

I actually hired someone from India for a £20 to write this part for me, then once shown, I can understand how to edit the code to adjust my timings.

//dev cycle set to rpx400 time of 6m30s
void monoDevCycle() {
uint32_t monoDevcountdown = 300;
uint8_t monorelayCountdown = 30;

bool runningmonoDev = true;
bool updateDisplaymonoDev = true;
uint32_t countdownTimemonoDev = millis();
uint32_t relayOnTimemonoDev = 5;
uint32_t relayOffTimemonoDev = 25;
bool relayStatemonoDev = true;

//-enter the servo function below
agitationOn();
while (runningmonoDev) {
if (updateDisplaymonoDev) {
updateDisplaymonoDev = false;
lcd.setCursor(0, 2);
char m[3];
char s[3];
sprintf(m, "%02d", int(monoDevcountdown / 60));
sprintf(s, "%02d", monoDevcountdown % 60);
lcd.print(m);
lcd.print(":");
lcd.print(s);
//Below is the countdown in minutes and seconds for 7segment display
byte monoDevminutes = (monoDevcountdown / 60);
byte monoDevseconds = (monoDevcountdown % 60);
display1.printTime(monoDevminutes, monoDevseconds, true); // display time

if (relayStatemonoDev) {
lcd.print(" Agitating");
}
else {
lcd.print(" Standing");
}

lcd.setCursor(0, 4);
if (relayStatemonoDev) {
lcd.print("AGI stops in ");
}
else {
lcd.print("Next AGI in ");
}
sprintf(s, "%02d", monorelayCountdown);
lcd.print(s);
}

// Every second: count down.
if (millis() - countdownTimemonoDev > 1000) {
if (monoDevcountdown == 0) { // Finished! (this happens after the last second has passed).
runningmonoDev = false;
}
monoDevcountdown--;
monorelayCountdown--;
countdownTimemonoDev += 1000;
updateDisplaymonoDev = true;
if (monorelayCountdown == 0) { // Switch the relay.
if (relayStatemonoDev) {
//enter the servo off function below
agitationOff();
relayStatemonoDev = false;
monorelayCountdown = relayOffTimemonoDev;
}
else {
//enter the servo on function below
agitationOn();
relayStatemonoDev = true;
monorelayCountdown = relayOnTimemonoDev;
}
}
}
}
lcd.clear();
display1.clear();
}

The above is alot to take in, but the only bits we are interested in are as follows

uint32_t monoDevcountdown = 300;
uint8_t monorelayCountdown = 30;

This sets the overall time in seconds, and the interval between agitations (or starting the relay)

uint32_t relayOnTimemonoDev = 5;
uint32_t relayOffTimemonoDev = 25;

The above may need changed if you wish to adjust the agitation timing.

//enter the servo off function below
agitationOff();
relayStatemonoDev = false;
monorelayCountdown = relayOffTimemonoDev;
}
else {
//enter the servo on function below
agitationOn();
relayStatemonoDev = true;
monorelayCountdown = relayOnTimemonoDev;

And the above shows the process calling the agitation relay commands we covered earlier.

And that’s it for the agitation timing. I’d be lying if I said I fully understand the above, but it works and is enough for me.

You can easily replicate the above code for every timing agitation part needed. You need to use find and replace and change each ‘mono’ to another word to avoid the commands failing due to being called the same.

Putting it all together

This isn’t hard, but I would do this very slowly in order that you don’t get mixed up.

Make your process commands

The first thing you need to do is make all the commands for the processes that will be called when you stitch them altogether.

Let’s use an easy process as an example. Mono Development.

You would need to make 3 programs (void etc), one agitation section for Developer, One for Stop Bath and one for Fixer.

In my code they are called

void monoDevCycle
void monoStopCycle
void monoFixCycle

These are just 3 of the agitiation cycles above, copied and modified to change the time of each process and the names. That’s it really.

Stitch it together

Ignoring button presses to call programs, we can now look at the Mono Cycle program in full

void monoProgram() {

lcd.clear();
lcd.setCursor ( 0, 0 ); // go to the 2nd line
lcd.print("Set Bath to 20c");
lcd.setCursor ( 0, 1 ); // go to the 2nd line
lcd.print("When 20c Reached");
lcd.setCursor ( 0, 3 ); // go to the 2nd line
lcd.print("Start will Light");

// - Temp Start Code

while (digitalRead(25) == LOW) {
// Do nothing
}
digitalWrite(Relay_5, RELAY_ON);
soundBuzzer();

// - Start button press code - Modded for awaiting temp trigger

while (digitalRead(31) == HIGH) {
// Do nothing
}
digitalWrite(Relay_5, RELAY_OFF);

lcd.clear();
lcd.setCursor ( 0, 0 ); // go to the 2nd line
lcd.print("Process Start!");
lcd.setCursor ( 0, 1 ); // go to the 2nd line
lcd.print("Pour in Dev");
lcd.setCursor ( 0, 2 ); // go to the 2nd line
lcd.print("Then Press Start");
delay(1000);

// - Start button press code
digitalWrite(Relay_5, RELAY_ON);
while (digitalRead(31) == HIGH) {
// Do nothing
}
digitalWrite(Relay_5, RELAY_OFF);

lcd.clear();
lcd.setCursor ( 0, 0 );
lcd.print("Mono Dev Cycle");
monoDevCycle();
lcd.clear();
lcd.print("Cycle Finished");
digitalWrite(Relay_7, RELAY_ON);
soundBuzzer();
lcd.setCursor ( 0, 1 ); // go to the 2nd line
lcd.print("Drain Dev then,");
lcd.setCursor ( 0, 2 ); // go to the 2nd line
lcd.print("Fill Stopbath");
lcd.setCursor ( 0, 3 ); // go to the 2nd line
lcd.print("Then Press Start");

// - Start button press code
digitalWrite(Relay_5, RELAY_ON);
while (digitalRead(31) == HIGH) {
// Do nothing
}
digitalWrite(Relay_5, RELAY_OFF);
digitalWrite(Relay_7, RELAY_OFF);

lcd.clear();
lcd.setCursor ( 0, 0 );
lcd.print("Mono Stop Cycle");
monoStopCycle();
lcd.clear();
lcd.print("Cycle Finished");
digitalWrite(Relay_7, RELAY_ON);
soundBuzzer();
lcd.setCursor ( 0, 1 ); // go to the 2nd line
lcd.print("Drain Stop then,");
lcd.setCursor ( 0, 2 ); // go to the 2nd line
lcd.print("Fill Fixer");
lcd.setCursor ( 0, 3 ); // go to the 2nd line
lcd.print("Then Press Start");

// - Start button press code
digitalWrite(Relay_5, RELAY_ON);
while (digitalRead(31) == HIGH) {
// Do nothing
}
digitalWrite(Relay_5, RELAY_OFF);
digitalWrite(Relay_7, RELAY_OFF);

lcd.clear();
lcd.setCursor ( 0, 0 );
lcd.print("Mono Fixer Cycle");
monoFixCycle();
lcd.clear();
lcd.setCursor ( 0, 0 ); // go to the 2nd line
lcd.print("Cycle Finished");
digitalWrite(Relay_7, RELAY_ON);
soundBuzzer();
lcd.setCursor ( 0, 1 ); // go to the 2nd line
lcd.print("Now wash film");
lcd.setCursor ( 0, 2 ); // go to the 2nd line
lcd.print("Using Ilford Wash");
lcd.setCursor ( 0, 3 ); // go to the 2nd line
lcd.print("Process Finished");
digitalWrite(Relay_7, RELAY_ON);
soundBuzzer();
digitalWrite(Relay_4, RELAY_OFF);
}
 

Now it looks alot to take in, but have a slow look down the code. Do you notice it’s mainly just messages printed on the LCD, buttons waiting to be pressed and alot of delays?

All the main program does is display instructions on screen, then awaits the user to press the correct button, ie. start, etc. Then it will call the correct agitation sequence. When that sequence (void program) is finished, it then changes the message on the screen and awaits the next program start via push button (giving you time to change the liquids)

Theres also a buzzer which sounds via another called small program.

Let’s break it down more

// - Start button press code
digitalWrite(Relay_5, RELAY_ON);
while (digitalRead(31) == HIGH) {
// Do nothing
}
digitalWrite(Relay_5, RELAY_OFF);
digitalWrite(Relay_7, RELAY_OFF);

lcd.clear();
lcd.setCursor ( 0, 0 );
lcd.print("Mono Stop Cycle");
monoStopCycle();
lcd.clear();
lcd.print("Cycle Finished");
digitalWrite(Relay_7, RELAY_ON);
soundBuzzer();
lcd.setCursor ( 0, 1 ); // go to the 2nd line
lcd.print("Drain Stop then,");
lcd.setCursor ( 0, 2 ); // go to the 2nd line
lcd.print("Fill Fixer");
lcd.setCursor ( 0, 3 ); // go to the 2nd line
lcd.print("Then Press Start");

So above, is one section of common code. Looking at it, its awaiting the Start button to be pressed

while (digitalRead(31) == HIGH) {
// Do nothing
}

The once its pressed, it continues with the loop, it shows on the LCD it’s starting the Stop Cycle, then it calls the monoStopCycle(); program.

Once this agitation program ends, it prints the message on the LCD and sounds the buzzer. It then shows the final instructions on the screen, then the next bit of code (the fixer section) would take over.

If you break each section down like this you can eventually understand that it is all just one giant flow chart.

By now, if you have understood and followed the instructions correctly you will have a basic working, semi automated dev helper!

Hope this has helped, remember this isn’t an exact how to, more a over view guide. You need basic arduino experience to slot it altogether.

Thanks again

By building this I now have the understanding to move onto the fully automated system.

Make Your Own – Part 3 – Main Board

Make Your Own – Part 3 – Main Board

The Theory The Arduino Mega powers the main screen, timer interface and the relays for button lights and more importantly the motor for agitation. Imagine the whole code script as a flow chart for doing things in sequence. Rough Setup Guide. For the minute, in […]

Make Your Own – Part 2 – Temp Setup

Make Your Own – Part 2 – Temp Setup

The Theory The smaller arduino uno, takes the temperatures of the two chemicals, via the DS18B20 temp sensor setup. This is then displayed on the relevant 4 digit display and updated every second. Once the chemicals reach a certain temp, then the arduino sends a […]

Make Your Own – Part 1 – Bits & Downloads

Make Your Own – Part 1 – Bits & Downloads

Here as promised is a rough overview to building a semi-automated system (And I mean rough). I must apologise as I haven’t got the time to do a step-by-step guide.

In order to build this, you will need to learn some basic Arduino coding, just to get an understanding of the code.

Parts List (all off ebay or amazon)

1x Arduino Uno or chinese copy
1x Arduino Mega or chinese copy
3x TM1637 7-Segment, 4-Digit Displays
1x 4X20 CHAR HD44780 IC2 LCD Screen
2x DS18B20 Waterproof Temperature Sensors and the 4.7 resistors to go with them
1x Chinese slow geared (30 or 60rpm) motor for the dev tank
1x 8 Channel relay with arduino compatibility
2x Generic small breadboards

And a ton of male to male and male to female connector wires and a 5v and 12v external power supply.

I haven’t included a parts list for my light up buttons as alot of people won’t want this. If you don’t want to add this, you could get away with far less relays needed as most just powered the lights for the selection buttons. For my light up buttons, I used 12v light up buttons and powered them with a 12v power supply. This was then wired into the relay. Loads of how to’s cover these on the net.

If you dont want this, then please just comment out in the code the sections where it turns relays on for lights (These are pins on the MEGA, 32-38 if you are following my code exactly)

 

*Very Important* – This guide omits the basics of arduino stuff, such as basic Ground Pin wiring, using Breadboards and using external 5V power supplies (the arduinos don’t have enough power to power everything themselves). PLEASE PLEASE have a good read up first and a play with some basic code (making LEDs light up, basic Delay commands etc) before attempting the below as its very easy to become disheartened if you haven’t covered the basics. You wouldn’t put straight in for a driving test if you haven’t learnt to drive a car would you?

 

Pins I’ve used

To make sure things work if you are just plainly using my code without editing, this is the pinouts guide

Arduino Uno – Temp

1-Unused
2-Temp Sensor ‘OneWire’ to the DS18B20 setup
3-Display 1 CLK Pin (Water temp display)
4-Display 1 DIO Pin
5-Display 2 CLK Pin (Chemical temp display)
6-Display 2 DIO Pin
7-Unused
8-Signal Pin to Arduino Mega for Mono Temp
9-Signal Pin to Arduino Mega for Colour Temp

Arduino Mega – Timer, Motors and Buttons

SDA – 4X20 Display
SCL – 4X20 Display
8-Timer 4 Digit DIO Pin
9-Time 4 Digit CLK Pin
23-Buzzer Pin
24-Signal Temp Pin from Temperature Arduino Uno (Mono)
25-Signal Temp Pin from Temperature Arduino Uno (C41/Colour)
27-Mono Stand Push Button
28-Mono Push Button
29-C41 Push Button
30-E6 Push Button
31-Start Push Button
32-RELAY – C41 Button Light
33-RELAY – E6 Button Light
34-RELAY – Mono Stand Button Light
35-RELAY – Mono Button Light
36-RELAY – Start Button Light
37-RELAY – Agitation Light
38-RELAY – Cycle End Light
39-RELAY – Agitation Motor

You can change these pins if you wish, just update the code.

Downloads & Software Information

SOURCE CODE DOWNLOAD (Arduino programs, 6kb zip)

Software needed

I made these using Arduino IDE 1.8.5. This is old hat these days. The newer versions should work, but if you have problems with plugins, maybe find the old version?

The plugins libraries needed for these 2 programs are easy to find. Most are in the built-in library of the IDE software. Please google if you can’t find the others, I didn’t want to offer a download of these as they aren’t my work and don’t want to take credit for them.

 

Prototype Done, Now build your own

Prototype Done, Now build your own

Fred Dibnah, Died 2004, a personal hero of mine 🙂 Firstly, I think I must do a few apologies first to some people. As with most Internet websites/ideas, I got a bit lost off with this one in 2019, mainly due to discovering a love […]

Full Auto – Let’s start

Full Auto – Let’s start

Firstly, I think I must do a few apologies first to some people. As with most Internet websites/ideas, I got a bit lost off with this one in 2019, mainly due to discovering a love for motorbikes (Doing my UK full test) and family life. […]

Sold some cameras, and another MJU2

Sold some cameras, and another MJU2

We’re still alive

It’s been a little while since I’ve wrote anything on The Developist, but like all websites ran by normal people, life can sometimes get in the way. I’ve had house renovations to do which take priority over photography which is just a hobby for me.

So whats happened camera wise since late summer? Well I’ve been rationalising my hobby as everyone does and I asked the question ‘What do I really want to do with analogue photography?’

As with most hobbies, I’d bought a ton of cameras, wanted to experiment with everything and all the kinds of Chemistry and in the end I’ve answered this question below.

*Disclaimer* – These are my own personal views, and seeing as everyone gets offended so easily these days just bare that in mind. In other words, stop being a softy.

Thing’s I’ve realised about what I want from photography as a hobby.

  1. I had far too many cameras in too many formats -Hence the below sell off
  2. I don’t need to shoot every type of film to enjoy the hobby
  3. Slide film is overated and for what I use slide/colour will be an occasional ‘niche’ rarely used
  4. If your shooting only a few rolls a month and want to use Motion picture film, just buy some premade rolls or Cinestill 800T. Its good and saves all the remjet palarva.
  5. Polaroid cameras are still as crap and film still as expensive as I remember them 20 year ago, the picture quality is awful and apart from my daughters instax, they’ve all gone.
  6. The camera phone will always accompany my film camera. – If I’m taking important ‘family’ shots then I’ll always take a phone just incase. It’s just not worth losing images of precious moments if a film isn’t developed right, lost, exposed wrong etc.
  7. Most facebook film groups can be full of pretentious people who want everything to be ‘pure’. Sure, use them for inspiration but avoid commenting and generally winding yourself over stupid comments and general know it all idiots.
  8. Read the photography blogs on the net. Many still include alot of film info and unlike facebook there generally sensibly written and not overhyped.

Well thats it for that, back to cameras!

The Big Sell Off

I realised in the winter, I had far too many cameras. I’d bought too many and would never use them all. So I thought which ones do I actually use or want to use?

The answer was

Pentax Program A – Nice Balance of Price v Features

Despite having Super A’s as well, the program A has grown on me a lot in recent months. It just ‘feels’ right. It has more features than my ‘ME’ and despite less than the Super A, I feel that this is keeping my hobby low cost but enjoyable. I have two bodies at present and seem to be able to pick them up for less than £20 if you look correctly.

Pentax ME Super – Soft spot for these.

As above, I have a soft spot for the ME Super as it was the first SLR I really used in this hobby. The Program A is a bit easier to use, but the ME Super has an easier to use light meter and they are still fairly low cost. I need a backup body as all I have at present is my black one which works but isn’t 100%

XA 2- £10 bargain and great alternative to MJU2

Despite hating the XA, The xa2 has grown on me. I took it on holiday and it performed flawlessly. The pictures were comparable to the SLR I was using. I’m trying to get out of the compact side of the hobby but I’m keeping this one. Why not an mju2 you ask? This is MUCH cheaper, MUCH better built and takes just as good a photo from what I’ve used. I just use it without the flash for ourdoor candid stuff.

Cameras that have gone

I sold my Canon EOS entire batch, It was getting too ‘easy’ to shoot with everything on auto, including focus, which was removing why I wanted to use film in the first place. Great cameras but not what I want long term.

Pentax compacts and MJU’s have gone, despite them having no faults, I just wanted out the compact side of things, bar the well made xa2.

Polaroids – As mentioned, they just aren’t for me, for ‘spur of the moment’, I prefer a mobile phone camera, not a washed out poor image that costs nearly £3 a shot.

Will I buy anymore?

Who knows, probably, but only if they are cheap. The prices are getting silly for everything now.

Another MJU2

Whilst browsing ebay one day in November I came across the usual broken MJU2 listings. As mentioned they are very fragile cameras and more are broken than working. I seen one for only £20 so took a chance, hoping it was just the easy fix lens issue. It was a total pot luck. When it arrived, it worked fine, except the little window at the back which shows what film you have in. Some tape fixed this, you probably dont even need the tape but I’m a little paranoid.

Working fine, £20 mju2 in 2019 is good going

So will I keep it? Simple answer….. no. I’ve already sold it for a nice profit. I didn’t go silly on ebay, yes theres loads offered for £200, but is actually anyone paying that? No. It sold for a good price, I am happy at over £100 profit and the new buyer still got a fully working mju2 for much less than the rest. I sold my earlier one for a similar price. I like MJU2’s but I always seem to wrestle with the fact theres nearly £200 on my shelf that I won’t use much. Seems better cash in my pocket.

 

XA2 – Bargain Compact

XA2 – Bargain Compact

In an earlier post, I gave the original XA a good bashing. Whilst it’s a very good camera for some, I found it went against what a compact was about, ie. ease of use and full automation. (And I personally don’t like rangefinders) In truth, […]

MJU II – Change of Heart

MJU II – Change of Heart

*Generic coffeeshop camera pic, its the law to do one on instagram 🙂 * If you haven’t read my first ramblings on this little plastic camera, please check it out here, prior to reading this. I’ve had a change of heart with this little plastic […]

It works!, First Test Run, with Video

It works!, First Test Run, with Video

Well after a bit of a wait for some chemicals, I decided to make a very boring 15 minute video showing the entire process of the first time using the ‘Developist’ to actually process some film. I’d recommend watching it full screen to see all the text on displays etc.

If you just want to see the results, you can skip to the last 30 seconds, or I’ve posted a few shots below.

The film was rpx 100, done in Ilfosol3 at 24 degrees for 4 minutes. I was going to do the normal 5min 20 degress, but we have a mini heatwave here in the UK, hence is was easier to keep the higher temperatures.

A few things need adjustment, like maybe I need to add some consideration for the time it takes to empty/fill chemicals, maybe a mini countdown or similar.

A few mistakes were made as you can see in the video, but overall I was happy with the results.

I really like RPX100, it may be rebranded something, like most rollei products but it just seems a little finer than FP4+ at box speed.

Anyway heres some test shots scanned in yesterday. No light room or anything, just photoshop to touch up the dust marks

Motors Arrived! – Final Testing

Motors Arrived! – Final Testing

Well after about two weeks, my new motors came from China. Not bad really 2 weeks is pretty quick considering 6 motors and postage was under £6. These ones look the same as the others except the motor shaft is metal not plastic. They are […]

A QUICK TOUR OF THE PROCESS

A QUICK TOUR OF THE PROCESS

*Picture heavy post* Whilst I’m waiting for the new quicker motors for my agitation stick, I thought I’d do a quick ‘process of order’ so people can understand what the machine is trying to help with. I’ve missed a couple of steps out but it […]

Program A – A worthy ME upgrade?

Program A – A worthy ME upgrade?

Don’t get me wrong, I love my ME Super and ME, so much so that I bought a spare just in case my main one goes wrong. To compare the Program A to the ME standard model is a bit unfair. The Program A is basically a more modern ME Super without a few posh features that the Super A has.

Note this has manual shutter speeds as well, so despite being the modern equivalent of the ME standard, it has basically the same comparable features as a ME Super.

 

If you don’t know, the ‘A’ series pentax’s have auto and manual aperture modes, meaning if you just want to forget about things and just focus and shoot then you don’t need to worry about anything else. I like these modes for when I’m out and about with family and don’t have time to ‘slow the moment down’ as some ‘hipster photograpists’ like to do.

In terms of useability, its easier to carry than a ‘M’ range pentax, due to the front and back thumb and finger grips.

 

 

The main downside people have the the Program and Super A’s is the internal LCD display that shows aperture and shutter speed.

It’s a bit of a love/hate thing. If you are setting manual speeds, I find it very handy. Also if you are new to film photography, the Auto settings are a good idea of seeing what settings you would pick for different situations as they are shown on screen.

The two main downsides are you need ok eyes to see them (glasses might be a struggle) as they aren’t massive and also you need a bit of light in the image to see the LCD good, indoors could be a struggle.

My only dislike personally is the same as alot of people who’ve moved up from the ME Super. The ME Super use’s coloured LED’s in auto mode for showing the chosen shutter speed. This makes it very easy and quick to select a decent shutter speed by simply adjusting the aperture ring on the lens until the LED’s are green. This is a big miss on the A series.

However, I suppose if you are using auto and aren’t bothered about what aperture, then the whole idea of the A series is Auto-Aperture which removes the need for the LEDs I suppose.

If you had a choice, I would pick the Super A over the Program as it’s very slightly better built and feel, nicer selection wheel and it has a lovely tiny LCD next to the winder showing shutter speed. However unless they are the same price, the program is 95% the camera of the super for usually alot less money.

*I’ve chosen the Pentax Program A as my first camera to shoot the first film I’ll be processing on my ‘Developist’ processing assistant so keep an eye on the Build Diary 
I’ll be using fairly simple stuff for my first attempt, bog standard RPX 100 film and Ilford Dev chemicals.

*UPDATE*

Hot off the press!, first photos to be dev’ed with ‘The Developist’, RPX100/ILFOSOL3/100ISO

Changing motor on Agitation

Changing motor on Agitation

Well initial testing of the machine is going well. I am currently sorting out timing for some common Dev processes I use and I’ve even added a buzzer to signal as well as the light when chemicals need changed etc. I realised something with the […]

Prototype Nearly Finished

Prototype Nearly Finished

Yey!, my prototype is nearly finished with the exception of auto temp starting!, well in the shed anyway. Not actually tested it with film yet. It may look a bit of a mess, but the logic is that once it’s refined, I’ll think of a […]

Control Panel – Lighty up buttons!

Control Panel – Lighty up buttons!

After my earlier post, and the realisation that not everything was going to fit, I threw all asthetic designs for a panel out the window and went with a basic but functional tupperware box lol !

My pretty light up buttons came from AliExpress as I couldn’t find the ones I wanted on ebay. They are all push to make and 12v lights, so I can use the same PSU for the relay-powered items. It also means I can power both arduinos through a 12v-5v cigarette lighter style adapter, all with the same 12v psu.

The buttons themselves are easy to use, just print some labels out on acetate sheet (the old overhead projector stuff) using a toner-based printer and then cut them out and fit under the push button.

Wiring them can seem a little daunting if you don’t solder much, but I used to restore arcade machines, and they are all wired the same, with a common earth (ground). Each push button’s ground is soldered to each other, then the final one goes to the arduino ground or ‘GND’ in code speak.

Messy but easy to find issues

The 12v lights, all again have a common SEPARATE 12v GROUND (dont blow your arduino up lol) and the 12v positive’s are all linked to the relay. Each light is then controlled by the relay/arduino and lights up relevant to what you press or what dev sequence is going on.

Relay powers all 12v stuff.

I have also fitted two lights as well, a blue one which lights when agitation is going on, and a red one to show when a dev-stage is finished and the chemicals will need changing, this will also have a buzzer eventually.

The wiring looks a little ‘hotch potch’ but its easier to track and find faults having all easily accessible, rather than behind a tiny panel.

A mess but easy to fault-trace

Now that everything is together, I wired them up and ran some basic code just to test all the lights worked, and I also made a text note of that arduino wire is what relay and button to make future coding easier to reference.

Agitation – Let’s not overcomplicate

Agitation – Let’s not overcomplicate

OK, Agititation, the subject that gave me a few headaches when I started doing a fully automated version from scratch. The whole thing is now massively simplfied and just as effective. When looking over the internet, most automated agitation devices were either rotary or servo-driven […]

Main Arduino ‘Brain’

Main Arduino ‘Brain’

Now that the temperature section was more or less done, I moved back onto the main board. As mentioned, I purchased a chinese mega for the main board. And again on forums whilst asking for basic help I was constantly bombared with ‘up their own […]