Hijax

Members
  • Content Count

    74
  • Joined

  • Last visited


Reputation Activity

  1. Like
    Hijax got a reaction from gounthar in THE testing thread   
    Serial and power mux board is ready for ordering. However before I do so, I need to wait till SD card mux board redesign is complete at least overall idea is “approved”.
     
    As previously written the major change is to switch from simple SDI interface towards SDIO one allowing full speed communication with card. This requires 8 pins thus not only mux board but also card adapter tuning. 
    Recently idea under consideration is to move SD mux board away from stacking and make it more alike USB Mass Storage device. 
  2. Like
    Hijax got a reaction from Werner in THE testing thread   
    Picture of first power / serial board. This is the old design and I am awaiting for new one (just got DHL notification of incoming parcel) 
     
    I expect that till end of August the prototype will be assembled and electrically tested. Then as promised I will publish design and manufacturing files.
  3. Like
    Hijax got a reaction from Tido in THE testing thread   
    @Tido no idea what country is yours  but I can suggest ... use google for searching china pcb prototyping. I have recently used easyeda service, or jlcpcb. They manufacture 5 pcs (of each board, hence 3 times 5 pcs) for as little as 2USD plus delivery. Check their site. They can also do some basic assembly (I was not using that option yet, they can have some parts at their stock, anyway you may discuss the SMD soldering only as THT is simpe one)
     
    Happens I have 4 set of boards (as I assembled one set only) and I can send those somewhere, to @Igor for example?

  4. Like
    Hijax got a reaction from TRS-80 in THE testing thread   
    Ok chaps, final design of serial mux board, plus zip file full of gerber files.


    serial-mux.zip
     
    BOM:

     
     
    manufacture.pdf
     
    Simple example how to control mux from bash (not verified, concept only
     
    #!/bin/bash # pin allocation MOSI_PIN=353 #GPIO2 SCK_PIN=3 #GPIO3 EN_PIN=19 #GPIO4 function gpio-setup { for pin in $MOSI_PIN $SCK_PIN $EN_PIN; do [[ -d /sys/class/gpio/gpio$PIN ]] && echo $pin > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio$PIN/direction done } function gpio-write_byte { for i in {1..8}; do // set data pin to high or low value BIT=0 (( $1 > 127 )) && BIT=1 echo "$BIT" > /sys/class/gpio/gpio$MOSI_PIN/value // set clock high echo "1" > /sys/class/gpio/gpio$SCK_PIN/value $1=$(( $1 << 1 )) // set clock low echo "0" > /sys/class/gpio/gpio$SCK_PIN/value done } # 16 bits: -- -- -- -- -- b3 b2 b1 p7 p6 p5 p4 p3 p2 p1 # px - power status on port x # bx - serial connected to port x function setup_mux { local high_byte=$(( $1 >> 8 )) local low_byte=$(( $1 & 255 )) gpio-setup gpio-write_byte(high_byte) gpio-write_byte(low_byte) # toogle EN bit to latch new value on 595s echo "1" > /sys/class/gpio/gpio$EN_PIN/value echo "0" > /sys/class/gpio/gpio$EN_PIN/value }  
  5. Like
    Hijax got a reaction from TRS-80 in THE testing thread   
    Small progress update -
     fresh photo.
     
     
  6. Like
    Hijax got a reaction from gounthar in THE testing thread   
    Small progress update -
     fresh photo.
     
     
  7. Like
    Hijax got a reaction from gounthar in THE testing thread   
    Status update. DHL parcel received. New boards photos: 
     

     
    and SD adapter inserted into Rock64

     
    Now I am waiting for remaining components then soldering/assembly will start. 
  8. Like
    Hijax got a reaction from gounthar in THE testing thread   
    Picture of first power / serial board. This is the old design and I am awaiting for new one (just got DHL notification of incoming parcel) 
     
    I expect that till end of August the prototype will be assembled and electrically tested. Then as promised I will publish design and manufacturing files.
  9. Like
    Hijax got a reaction from Igor in THE testing thread   
    Small progress update -
     fresh photo.
     
     
  10. Like
    Hijax got a reaction from jeanrhum in THE testing thread   
    Small progress update -
     fresh photo.
     
     
  11. Like
    Hijax got a reaction from lanefu in THE testing thread   
    Small progress update -
     fresh photo.
     
     
  12. Like
    Hijax got a reaction from gufmar in customize-image with (crontab) autostart script   
    Hi,
     
    My experiences with crontab @reboot is that I dropped that solution in favor of systemd services.
    To give you basic idea here comes a excerpt of code I put into the customize-image.sh script:
     
    cat <<EOT >|/usr/local/bin/usb3-memory-size.sh #!/bin/bash echo 1000 > /sys/module/usbcore/parameters/usbfs_memory_mb exit 0 EOT chmod +x /usr/local/bin/usb3-memory-size.sh cat <<EOT >|/lib/systemd/system/usb3-memory-size.service [Unit] Description=USB3 memory sizer Before=basic.target After=sysinit.target local-fs.target DefaultDependencies=no [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/bash -c "/usr/local/bin/usb3-memory-size.sh" [Install] WantedBy=basic.target EOT systemctl enable usb3-memory-size.service It creates a new service that corrects the kernel setting for USB3 camera.
    This works perfectly fine.
     
    When such a service shall be triggered depends on your configuration. Look at the line of [Unit] section, explicitly before/after lines.
    For example you can force such a service to start after login prompt pops up.
     
     
  13. Like
    Hijax got a reaction from lanefu in THE testing thread   
    Status update. DHL parcel received. New boards photos: 
     

     
    and SD adapter inserted into Rock64

     
    Now I am waiting for remaining components then soldering/assembly will start. 
  14. Like
    Hijax reacted to lanefu in THE testing thread   
    Im a devops consultant and fluent in Ansible so I think im Obligated in that regard. I can at least handle the plumbing hopefully others can implement the more granular testing once the framkework is in place.
  15. Like
    Hijax got a reaction from lanefu in THE testing thread   
    Picture of first power / serial board. This is the old design and I am awaiting for new one (just got DHL notification of incoming parcel) 
     
    I expect that till end of August the prototype will be assembled and electrically tested. Then as promised I will publish design and manufacturing files.
  16. Like
    Hijax got a reaction from lanefu in THE testing thread   
    First PCB from jlcpcb in on the way.
    Meanwhile I have find some time to sit down on the mSD adapter.
     

     
    Small PCB with JST XH connector. Thus cables between mux boards and those should be 4-Pin JST XH Female Connector Double Ended ones.
     
    An micro SD mux board final design:

     
    And serial mux / power distribution (with I2C interface)
     

     
    For serial / power connection, standard NEMA17 extender cable (4-pin JST XH & DUPONT connectors) will do the job.
    Dupont connector inserted into following pins on the SUT board:

     
    I have ordered 1m cables (JST/JST & JST/Dupont) from aliexpress.
     
     
     
  17. Like
    Hijax got a reaction from lanefu in THE testing thread   
    JST connectors shall be locked in place and not touched, yes. This is due to the need of having firm board-cable connection, also there is no need to disconnect that.
     
    For power & serial cable, second end I plan to use 4 pin Dupont connectors. This time for easy plugging into SBC 40pin header. 
    Hence, together with uSD card adapter both can be reconnected as many times as one need.
  18. Like
    Hijax got a reaction from lanefu in THE testing thread   
    I assume all SUTs will also be connected to network by means of Ethernet at least. Then not only uboot/kernel booting proces can be tested but also login via ssh over network as well. Detection if USB ports are working. Proper apt update etc.
     
    One thing that will not be tested is the hdmi output. This however can be accomplished easily by connecting SBCs to single monitor via hdmi multi-viewer and camera that will take a picture when needed. 
     
    I have several SBCs. Several cameras. 4-port multi viewer as well. What I do not have is the topic of this thread
     
    But now you shall understand why I am so keen on constructing this mux device  
  19. Like
    Hijax got a reaction from lanefu in THE testing thread   
    2x595 or MCP23017 - no problem to switch.  Actually 595 as simple shift register can be driven by SPI directly, yet on RPi header (first 10 pins) there is I2C, so no big deal to use MCP23017 instead.
    Why I have chosen 595 initially? As it saves some pennies and footprint. And it it really simple to send command using "software SPI". And commands are to be sent rarely, no need for high speeds.
     
    Concept picture of the automated test device:
     
     

     

    No spacers are visible.
    Rock64  is a MasterSBC here, it is to be used to control 8 system under test - SBCs. Each of them connected using 10pin header (power + serial) plus custom SD card adapter.
    On top of the MasterSBC is a (shorter) SD mux board, micro SD sockets placed on both sides of the PCB are invisible, as I have no 3D model for them (MOLEX 47219-2001 one). Also 4 pin headers would be replaced by JST XH2.54 ones.
    Yes, instead of single SD shared between all SUTs, newest design has 8 SD cards, and MasterSBC can connect those to SUT or to itself for image uploading process. Of course if  SDx card is beeing used by MasterSBC, then SUTx shall be powered of as it will not see and SD card "inserted", will not boot.
     
    Next to it, top one its serial mux + power distribution board, with 8 sockets of type Molex KK 254 AE 6410 04AKK 254.
     
    Both add-on boards works together. When it comes to use cases, one shall use SPI / i2C interface to program 16 bit configuration word. 
     
    From msb to lsb:
    ME M2 M1 M0 SE S2 S1 S0 | P7 P6 P5 P4 P3 P2 P1 P0
     
    Meaning of particular bits:
     - "Px"  is power section control (8 independent ports)
    -  "Mx" is a SD card multiplexer control (8 micro SD cards)
    -  "Sx" is a serial interface multiplexer control
     
    Meaning of bits ME & SE:
     
    ME : 0 - SUTx disconnected from SDx, MasterSBC connected to SDx pointed by M2-0
    ME : 1 - SUTx uses SDx
    SE : 0 - MasterSBC connected to SUTx serial pointed by S2-0, 7-seg led active
    SE : 1 - No serial link crossed, 7-seg led inactive
     
    So with this design all 8 SUTs can be power controlled at the same time, serial console be connected to one of he powered SUT while at the same time other SD card can be used to upload new image.
     
    Examples:
    Upload image to SD card 3, SUT 5 & 7 working, Master listens to Serial from SUT7
    0 0 1 1   0 1 1 1   1 0 1 0 0 0 0 0
    Upload image to SD#1 (thus) SUT#1 disconnected, all other SUT are working
    0 0 1 1   1 0 0 0   1 1 1 1 1 1 0 1
    Upload image to SD#1 all SUT are working (SUT1 do not see SD card, will not boot)
    0 0 1 1   1 0 0 0   1 1 1 1 1 1 1 1
     
    Comments appreciated.
     
    I am attaching also schematics for anyone wanted to take a look.
    (now with 595 which can be replaced for I2C connectivity). 
     
     
     
     
     
    serial-mux.pdf sd-card-mux.pdf
  20. Like
    Hijax got a reaction from Tido in THE testing thread   
    @lanefu hold yourself with sending for production. Let me build the prototype, and when verified, I will publish final production files.
  21. Like
    Hijax got a reaction from guidol in How to create minimalistic image ?   
    Actually missing } in line 69... I have already informed @Igor via git comment
  22. Like
    Hijax got a reaction from lanefu in THE testing thread   
    @lanefu hold yourself with sending for production. Let me build the prototype, and when verified, I will publish final production files.
  23. Like
    Hijax got a reaction from lanefu in THE testing thread   
    Two 4mm lanes for 4 SUTs equals 8 SUTs in total.
     
    Did that already, so the version with LEDs is now in production ( 5pcs).
    Hope within a week (DHL) boards will reach my workshop.
     
    Be careful, as the gerbers I attached previously are for other version w/o LEDs. As well as BOM and manufacture pdf.
     
    Some comments:
    - for 7seg display essentially all common anode will work with distance between pin rows 5.08mm
    - 10k resistor, any 0805 will do the job
    - for assembly one will need "2.54mm 10 Pin Double Row Stackable Long Legs Female Header" and 4 screwed spacer sleeves
  24. Like
    Hijax got a reaction from lanefu in THE testing thread   
    Ok chaps, final design of serial mux board, plus zip file full of gerber files.


    serial-mux.zip
     
    BOM:

     
     
    manufacture.pdf
     
    Simple example how to control mux from bash (not verified, concept only
     
    #!/bin/bash # pin allocation MOSI_PIN=353 #GPIO2 SCK_PIN=3 #GPIO3 EN_PIN=19 #GPIO4 function gpio-setup { for pin in $MOSI_PIN $SCK_PIN $EN_PIN; do [[ -d /sys/class/gpio/gpio$PIN ]] && echo $pin > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio$PIN/direction done } function gpio-write_byte { for i in {1..8}; do // set data pin to high or low value BIT=0 (( $1 > 127 )) && BIT=1 echo "$BIT" > /sys/class/gpio/gpio$MOSI_PIN/value // set clock high echo "1" > /sys/class/gpio/gpio$SCK_PIN/value $1=$(( $1 << 1 )) // set clock low echo "0" > /sys/class/gpio/gpio$SCK_PIN/value done } # 16 bits: -- -- -- -- -- b3 b2 b1 p7 p6 p5 p4 p3 p2 p1 # px - power status on port x # bx - serial connected to port x function setup_mux { local high_byte=$(( $1 >> 8 )) local low_byte=$(( $1 & 255 )) gpio-setup gpio-write_byte(high_byte) gpio-write_byte(low_byte) # toogle EN bit to latch new value on 595s echo "1" > /sys/class/gpio/gpio$EN_PIN/value echo "0" > /sys/class/gpio/gpio$EN_PIN/value }  
  25. Like
    Hijax got a reaction from lanefu in THE testing thread   
    One more update, I have added LEDs close to every port to show powering status and 7seg LED display to show which Serial is currently connected.
     
    3D view: https://autode.sk/2OcgRSL