The "Cheap Step Pro"

I need to add a Gate really to the control boards, can come from the main board for the time being… been so busy this week not had any time to progress after the MUX musings…

Rob

1 Like

Started the MainPCB, being learning “Global Labels” and setting the to Input/Output to aid in reading the diagrams.

Basically there is the Mega, 4x 3-Bit mux to read analog data and 4x 3Bit as the digital outputs pulses.

There’s more to add, but I thought I would roughly lay it out…

I have noticed an error in my control board, the schematic “symbol” was set up with clockwise pad numbering, but the footprint had numbers per row…

I have more ideas for PCB’s than I have time to draw up…

Any yes i have spotted the missing 5V on U8 just now :wink:

4 Likes

We now have the input/output jacks.

The clock In is T/TN with normal connected to a second Arduino to provide an on board clock without having to trouble the Mega. (not show is a clock cut and step button)

A rotary switch will select (1/32)(2/16)(4/8) Mode

Diodes have been added on the outputs of the STEP Muxes in order to allow for Buttons to be added for playing by hand.

Individual switches for forward backwards on all sequencers.

Provision for 6V line to provide the power to the step CV’s…

6 Likes

This things really shaping up woohoo

1 Like

Cheers… It’s getting there. The circuit JUST fits on the 4U 10CM(-5mm) PCB…

There were a numberof extra revisions and adaptions, and I found the SYMBOL for the MUX IC’s had +5V on the botton power connector an GND on the top, I had it sensibly the wrong way round and had to fix it.

There are a few minor fixes i think befour doing the routing… And I think I will draw in an expansion headder to all the unused lines, but that may make routing fail…

I don;t know what I am going to do when LockDown ends as My makeshift desk and dual “Work” setup will have to go. Probably spend lots more time at my workshop.

3 Likes

Well I got the PCB almost ready to print.

One annoyance is that KiCad puts component values on the fab layer, which JLC don’t print.

there does not seem to be a proper solution so I am just opening the PCB file in notepad and doing a find and replace (F.Fab -> F.Silks , B.Fab -> B-Silks) , but it’s a pain…

Same goes for the Box Jack outline which is on the Drawings layer… Just have to remember which side the jack should be on when fixing that.

Anyway… After a few messages on the modules thread from Sam I woke up this morning and had an Epiphany ( No, not the red head from the 80’s who sung “I think Were alone now”)

I maybe had this in my head anyway but dismissed it as the Control boards were in production. But! My control boards have the daughter board for the jacks…

So the idea, is to move all the MUX’s to the control daughter board, this has lots of benefits but can also be done in a way that REV1 control boards x5 are not scrap.

Benefits include,
Reduced cabling on the main board
Ability to actualy go above 64 steps more easiliy
the main board can be cut from 4U(10Cm) to 3U(75cm) potentialy…

There is another plan or two, involving devolving the stepping micro controller to each unit with a master… But I am concerned about handover timing. ( although I think I have that) could get very complex…

3 Likes

You can make your own footprint for resistors and capacitors, which are the same as the standard, but have the value on the silk layer. Below is mine, for a simple resistor (I added the suffix silkvalue, to find it in the library). Save it in a file with a .kicad_mod extension and then add it to your library (maybe it has to be in a folder which has a .prettysuffix (I have it in R_silkvalue.pretty).

(module R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal_silkvalue (layer F.Cu) (tedit 5DD3D40A)
  (descr "Resistor, Axial_DIN0207 series, Axial, Horizontal, pin pitch=10.16mm, 0.25W = 1/4W, length*diameter=6.3*2.5mm^2, http://cdn-reichelt.de/documents/datenblatt/B400/1_4W%23YAG.pdf")
  (tags "Resistor Axial_DIN0207 series Axial Horizontal pin pitch 10.16mm 0.25W = 1/4W length 6.3mm diameter 2.5mm")
  (fp_text reference REF** (at 5.08 -2.37) (layer F.SilkS)
    (effects (font (size 1 1) (thickness 0.15)))
  )
  (fp_text value VAL** (at 5.08 0) (layer F.SilkS)
    (effects (font (size 1 1) (thickness 0.15)))
  )
  (fp_line (start 1.93 -1.25) (end 1.93 1.25) (layer F.Fab) (width 0.1))
  (fp_line (start 1.93 1.25) (end 8.23 1.25) (layer F.Fab) (width 0.1))
  (fp_line (start 8.23 1.25) (end 8.23 -1.25) (layer F.Fab) (width 0.1))
  (fp_line (start 8.23 -1.25) (end 1.93 -1.25) (layer F.Fab) (width 0.1))
  (fp_line (start 0 0) (end 1.93 0) (layer F.Fab) (width 0.1))
  (fp_line (start 10.16 0) (end 8.23 0) (layer F.Fab) (width 0.1))
  (fp_line (start 1.81 -1.37) (end 1.81 1.37) (layer F.SilkS) (width 0.12))
  (fp_line (start 1.81 1.37) (end 8.35 1.37) (layer F.SilkS) (width 0.12))
  (fp_line (start 8.35 1.37) (end 8.35 -1.37) (layer F.SilkS) (width 0.12))
  (fp_line (start 8.35 -1.37) (end 1.81 -1.37) (layer F.SilkS) (width 0.12))
  (fp_line (start 1.04 0) (end 1.81 0) (layer F.SilkS) (width 0.12))
  (fp_line (start 9.12 0) (end 8.35 0) (layer F.SilkS) (width 0.12))
  (fp_line (start -1.05 -1.5) (end -1.05 1.5) (layer F.CrtYd) (width 0.05))
  (fp_line (start -1.05 1.5) (end 11.21 1.5) (layer F.CrtYd) (width 0.05))
  (fp_line (start 11.21 1.5) (end 11.21 -1.5) (layer F.CrtYd) (width 0.05))
  (fp_line (start 11.21 -1.5) (end -1.05 -1.5) (layer F.CrtYd) (width 0.05))
  (fp_text user %R (at 5.08 0) (layer F.Fab)
    (effects (font (size 1 1) (thickness 0.15)))
  )
  (pad 1 thru_hole circle (at 0 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
  (pad 2 thru_hole oval (at 10.16 0) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask))
  (model ${KISYS3DMOD}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal.wrl
    (at (xyz 0 0 0))
    (scale (xyz 1 1 1))
    (rotate (xyz 0 0 0))
  )
)
2 Likes

:wink: ahh cool idea… My personal library is growing with things i find and commonly use so that’s one I can add too.

Thanks for the tip :smiley:

1 Like

See here for my version of the jack footprint — I did it mainly because the footprint I found didn’t seem to quite match up with the Tayda jack, but also I put the outline on the silkscreen layer.

Those are Lisp S-expressions. Cool.

2 Likes

Huh, hadn’t even noticed.

1 Like

Apart from trying to write a ford V-Series radio decoder in LISP last spring, I have not touched LISP sinde 1991… I gave up and got it to work in Python ( never used that before either ) … It works and has saved a few owners from being ripped off for a stereo code.

As far as I am aware its still the one and only full and truly free decoder for that series…

http://www.twistedpear.org.uk/?p=317

4 Likes

As you may have seen, the controller PCB has arrived,

The snap line has worked out ok, but there is a mistake. Where the data header will foul the daughter board with a cable plugged in.

And the logo is Back to front

Version two is under way and that solves the daughter board issue, and moves the mux to the daughter board from the master… Will get some photos up later.

Control is a little cramped, so not quite kosmo ethos. But very happy with how this looks so far.

Ta

Rob

6 Likes

Well The reworking of the design is progressing well, I was in hope that I could drop the board with to 75 mm but it’s to tight with the jacks against the mega… I may be able to move the jacks arround on the daughter board to make it happen.

I am not going to get these made up until I have tested on the old boards.

5 Likes

On a 10cm board! That’s awesome!

3 Likes

Thanks… Ideas need to stop as it will never be finished…

I have managed to get the mainboard Jacks within a 72.5mm board footprint :slight_smile:
As long as I can find space for an expansion header for the unused dunio pins then that will be the format.

The new design of the control board also allows for in-line performance buttons to be added on another module…

1 Like

I know a lot of people don’t like the parentheses in Lisp, but I find them helpful. When I was working in Scheme (a popular dialect of Lisp) I found the use of s-expressions to represent everything from HTML to JSON very handy. Translating to and from an external form (basically any structured document) is very easy, and once you have the data in the internal form you can use the full power of functional programming on it.

SXML, an instance of using s-expressions as an alternative form.

1 Like

Dumb mistake number X…

The for some reason I can’t remember, I selected a 74153 for multiplexing… This presents two problems.

  1. Without thinking, I used the same chip for demuxing for the the digital outputs. and its not a BI-Directional MUX/DEMUX…

  2. It’s a digital MUX so my analogue inputs are not going to work.

I had not bought the chips, it was only when I went to get them today I realised my silly oversight.

unfortunately I can’t find a pin compatible device, so I am having to make a little adapter with a couple of DIP sockets to do a bit of pin shuffeling.

Since these master boards are now just for testing it’s not a problem, I can fix as stated for testing.

The revised master has lost the muxes, and I can now re-work the daughter board for the control modules with the correct chip.

Rob

4 Likes

75mm wide…
now has a I2C MUX so that i can add little 128x32 to each control board…

the little 3 pin header bottom right is just mechanical.

Almost ready to test the V1 board, had an issue with power to the Megga, found i stupidly did not connect it to ground!

6 Likes

Looking nice! Is that your daughter board/snapper there?

Also, I love the name “cheap step” lolol

Edit: ahh I see the headers now and where they line up

2 Likes