DIY reef-pi build log

OP
OP
Michael Lane

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
I expect to have 7 left over (assuming everything goes well). I'll put the extras up on Tindie again once they are assembled and tested. I'm glad to be able to make something that's useful to myself and others.

Using the stencil was a bit more difficult than I expected. I'm sure I could have soldered this one by hand faster than using the stencil... Then again, I only made one, and I'm sure the stencil is optimized for batch production.

Front side all soldered up using the stencil and hot air station.
20190220_180029.jpg


The bottom side was all soldered by hand. I couldn't figure out how to make the stencil work after finishing the top.
20190220_180057.jpg


I'm also trying out dry film photoresist to make the test board. I'm still having some trouble with bubbles in the film and getting the exposure time right. Maybe I'll have better luck tomorrow.
 

Bigtrout

Valuable Member
View Badges
Joined
Dec 16, 2018
Messages
1,189
Reaction score
2,826
Rating - 0%
0   0   0
I expect to have 7 left over (assuming everything goes well). I'll put the extras up on Tindie again once they are assembled and tested. I'm glad to be able to make something that's useful to myself and others.

Using the stencil was a bit more difficult than I expected. I'm sure I could have soldered this one by hand faster than using the stencil... Then again, I only made one, and I'm sure the stencil is optimized for batch production.

Front side all soldered up using the stencil and hot air station.
20190220_180029.jpg


The bottom side was all soldered by hand. I couldn't figure out how to make the stencil work after finishing the top.
20190220_180057.jpg


I'm also trying out dry film photoresist to make the test board. I'm still having some trouble with bubbles in the film and getting the exposure time right. Maybe I'll have better luck tomorrow.
Im very happy with mine, its a strong all around board, and I havent had one issue with it, and I see version 2 and alas its even better, input output protection is a great idea. For anyone getting into reef pi, this cuts build time considerably. Its basically plug and play! And with some i/o protection its very newbie friendly!
 
OP
OP
Michael Lane

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
I finally got the negative photoresist to start working and made progress on the testing board. I think I got the film from ebay. I came with developer and resist remover. I was able to get rid of the bubbles using a spray mist bottle. I was having trouble getting the developer to work. Even after a couple of hours, the developer still wasn't working... I finally got the developer step to work by using BRS Soda Ash as developer. I think there's still plenty of room for improvement, but it's finally a workable result.

20190224_130537.jpg


The test board is populated now, so I should be able to finish the test script in the next few days. I probably could have manually tested them all in the time that I've spent trying to learn the phototransfer process. Hopefully, it will pay off in the long term. In any event, it's way better than toner transfer now that the developer is working!
20190224_161926.jpg

It doesn't look great, but I'm excited about the progress.
 

Tristanzs

Community Member
View Badges
Joined
Jan 4, 2019
Messages
95
Reaction score
158
Rating - 0%
0   0   0
ACK new toys right after I build mine lol. Any news on if they have finished the drivers for the PH boards? That's what I came on to look for lol.
 
OP
OP
Michael Lane

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
ACK new toys right after I build mine lol. Any news on if they have finished the drivers for the PH boards? That's what I came on to look for lol.
I know the feeling, and I'm the one making the board! I already want to change it again!
pH drivers are still in progress, but should be coming soon. Most of the core changes to get pH drivers working is complete, so I bet it will be done in a couple months.
 

Tristanzs

Community Member
View Badges
Joined
Jan 4, 2019
Messages
95
Reaction score
158
Rating - 0%
0   0   0
Nice, so out of curiosity if say I wanted to run more dosing pumps I could use the light channels to do so correct? Also is it possible to expand the amount of PH/ORP ports on the hat? Eventually I'm hoping they will support ORP and Salinity monitoring and thus I'll need more ports lol. Either way I can't even begin to express how much I appreciate all the work you've put into building and testing these boards for those of us less knowledgeable.
 
OP
OP
Michael Lane

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
Yup! Dosing pumps and lights both just use PWM to control the output. Lights and Dosing are completely interchangeable.

It is possible to expand the pH/ORP ports since it is just an i2c bus. You can simply splice 2 (or multiple) wires into a port and get extra i2c devices. I'm happy to provide my extra boards for others, and I'm also happy to help anyone understand how they work if they want to make their own.
 
OP
OP
Michael Lane

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
I was able to makes some more progress tonight. I wrote a bash script to set up the pca9685, fade each channel, and test each output from the ULN2803 as well as the 8 GPIO breakout on Power1. The first board checked out 100%! I'm hoping to crank out a batch of boards tomorrow.

EDIT: I can't seem to embed the gif, but here's a link to it.
https://imgur.com/0rxruaL

Here's the test script. I'm sure it could be improved, but it's my first bash script so it's good enough this time.
Code:
#!/bin/bash

function fade()
{
  echo "fading $addr"
  let "addr = 6 + (4 * $1)"
  let "on = 0"

  while [ $on -lt 200 ]; do
    #echo "calling i2cset -y 1 0x40 $addr 0x00 0x00 $on 0x00 i"
    i2cset -y 1 0x40 $addr 0x00 0x00 $on 0x00 i
    let "on = on + 10"
    sleep 0.001
  done
  while [ $on -gt 11 ]; do
    #echo "i2cset -y 1 0x40 $addr 0x00 0x00 $on 0x00 i"
    i2cset -y 1 0x40 $addr 0x00 0x00 $on 0x00 i
    let "on = on - 10"
    sleep 0.001
  done

  i2cset -y 1 0x40 $addr 0x00 0x00 0x00 0x00 i
}

function setFrequency()
{
  let "prescale = (25000000/(4096 * $1))-1"
  echo "setting frequency to $1 Hz using $prescale"

  i2cset -y 1 0x40 0x00 0x10        #sleep
  i2cset -y 1 0x40 0xFE $prescale    #set prescaler
  i2cset -y 1 0x40 0x00 0x20        #auto-increment
  i2cset -y 1 0x40 0x00 0xA0            #keep auto-increment and restart
}

setFrequency 1000

while [ : ]; do
  fade 7
  fade 8
  fade 9
  fade 10
  fade 11
  fade 12
  fade 15
  fade 14
  fade 13
  fade 4
  fade 5
  fade 6

  echo "setting PB1"
  gpioset --mode=time -u200000 gpiochip0 21=1
  echo "setting PB2"
  gpioset --mode=time -u200000 gpiochip0 26=1
  echo "setting PB3"
  gpioset --mode=time -u200000 gpiochip0 20=1
  echo "setting PB4"
  gpioset --mode=time -u200000 gpiochip0 19=1
  echo "setting PB5"
  gpioset --mode=time -u200000 gpiochip0 16=1
  echo "setting PB6"
  gpioset --mode=time -u200000 gpiochip0 13=1
  echo "setting PB7"
  gpioset --mode=time -u200000 gpiochip0 6=1
  echo "setting PB8"
  gpioset --mode=time -u200000 gpiochip0 5=1

  echo "setting PA1"
  gpioset --mode=time -u200000 gpiochip0 11=1
  echo "setting PA2"
  gpioset --mode=time -u200000 gpiochip0 8=1
  echo "setting PA3"
  gpioset --mode=time -u200000 gpiochip0 9=1
  echo "setting PA4"
  gpioset --mode=time -u200000 gpiochip0 25=1
  echo "setting PA5"
  gpioset --mode=time -u200000 gpiochip0 10=1
  echo "setting PA6"
  gpioset --mode=time -u200000 gpiochip0 24=1
  echo  "setting PA7"
  gpioset --mode=time -u200000 gpiochip0 23=1
  echo "setting PA8"
  gpioset --mode=time -u300000 gpiochip0 22=1
done
 
OP
OP
Michael Lane

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
Jimi Hendrix kept me company while I assembled this batch of boards. One board is for me and one board is for my uncle in Florida. Now I'm looking forward to designing another version! I want to integrate the test indicators into the board, but I feel like I'm running out of room...

20190301_233821.jpg


I have the extras on my Tindie store.
 

Bigtrout

Valuable Member
View Badges
Joined
Dec 16, 2018
Messages
1,189
Reaction score
2,826
Rating - 0%
0   0   0
Jimi Hendrix kept me company while I assembled this batch of boards. One board is for me and one board is for my uncle in Florida. Now I'm looking forward to designing another version! I want to integrate the test indicators into the board, but I feel like I'm running out of room...

20190301_233821.jpg


I have the extras on my Tindie store.
You could always do a double decker with stackable 40 pin connectors ;)

Indicators would make the board very newbie friendly, and easier to troubleshoot on someones build thread!

Nice job on the boards!
 

Tristanzs

Community Member
View Badges
Joined
Jan 4, 2019
Messages
95
Reaction score
158
Rating - 0%
0   0   0
Yes make a stackable version with 2 ULN2803's built in, at least 4 i2c ports for when we get salinity and ORP functionality. the three temp ports and 2 ato ports seems like more than enough.
 
OP
OP
Michael Lane

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
Yes make a stackable version with 2 ULN2803's built in, at least 4 i2c ports for when we get salinity and ORP functionality. the three temp ports and 2 ato ports seems like more than enough.
I'm thinking of using a smaller connector JST-SH connector since it would be surface mount and save a ton of board space on the front and back. Then it wouldn't have to stack (which would lead to other problems in positioning the connectors), and could stay nice and compact. I didn't think of adding an additional ULN2803, but I bet most people are using the other 8 gpio for relays after all. I'll have to keep that in mind as I'm working on the next version.
 

Tristanzs

Community Member
View Badges
Joined
Jan 4, 2019
Messages
95
Reaction score
158
Rating - 0%
0   0   0
I don't see many other options for those GPIO ports, considering what you are already covering on the board itself. Having an option to select between digital 4 pin optical level sensors for ATO and a much more basic Float switch without making adaptor cables would be very nice as well. I know it's not a huge issue but as we both know personal preference plays a huge role in these builds. In all reality though I don't see there being that many more options beyond what you're already including. It's a great product for anyone looking to build a controller and I'd wager it's both much smaller and cheaper than building the same options with protoboards.
 
OP
OP
Michael Lane

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
I don't see many other options for those GPIO ports, considering what you are already covering on the board itself. Having an option to select between digital 4 pin optical level sensors for ATO and a much more basic Float switch without making adaptor cables would be very nice as well. I know it's not a huge issue but as we both know personal preference plays a huge role in these builds. In all reality though I don't see there being that many more options beyond what you're already including. It's a great product for anyone looking to build a controller and I'd wager it's both much smaller and cheaper than building the same options with protoboards.
Thanks for the feedback. I've always hated protoboard since it's so easy to make a mistake, and then so difficult to track it back down.
The v2 board makes the ATO ports compatible without needing the adapter cable. That was one of the primary motivators for the second revision.
 

Looking for the spotlight: Do your fish notice the lighting in your reef tank?

  • My fish seem to regularly respond to the lighting in my reef tank.

    Votes: 104 75.9%
  • My fish seem to occasionally respond to the lighting in my tank.

    Votes: 15 10.9%
  • My fish seem to rarely respond to the lighting in my tank.

    Votes: 8 5.8%
  • My fish seem to never respond to the lighting in my tank.

    Votes: 3 2.2%
  • I don’t pay enough attention to my fish to notice if they respond to the lighting.

    Votes: 3 2.2%
  • I don’t have any fish in my tank.

    Votes: 2 1.5%
  • Other.

    Votes: 2 1.5%
Back
Top