SALSA II – Arduino CoProcessor

$22.00$23.00

Clear
SKU: N/A Category:

Description

  • PWM, MOSFET / Motordriver board to extend the C.H.I.P.

    This is the SALSA DIP for the C.H.I.P. (a $9 computer developed by NTC). The C.H.I.P. is a great board, a tiny linux computer that fits on your palm. But it is in the nature of non-realtime OS that certain functionalities are not available. This is where the SALSA kicks in. It provides a co-processor extension for the C.H.I.P. that is able to run realtime code and offers multiple hardware functionalities which are not available on the C.H.I.P. itself. The SALSA features a Atmel ATmega 328p-au as used on various other tinker board (e.g. the Arduino).

    Features

    • Connected to the C.H.I.P. via I2C, keeps all your C.H.I.P. pins untouched
    • Simple Python3 interface can be used to send commands to and retrieve values from the SALSA
    • Drive some awesome Ws2812 LED strings

      or build your own binary clock

      or a soccer score display

      ws2812 led’s are awesome 🙂
    • Use the four onboard N-MOSFET transistor to drive large strings of simple 12V (up to 36V,7A) LEDs and dimm them via PWM
      I’ve used this capability to build my own personal sunrise
      Forumlink

      This setup is really easy, take a look at the image below

      LED1 is directly connect to the power (choose the right voltage and LEDs, 12V works good), LED2 is connected via SALSA to GND and control via the MOSFET (Q1) CHIP is in charge of.
    • Analog read (0-5V) on three SALSA pins
    • Use the six PWM signals to control e.g. a few servos
    • SALSA provides 12 screw-terminals. 6 on the top and 6 on the bottom, making it really easy to connect to your project
    • SALSA has an Arduino IDE compatible Bootloader. You can simply upload your Arduino Code on the SALSA, (e.g. distance measuring)
    • Seamless power, the SALSA can be powered
      • from the C.H.I.P. 5V output
      • from the optional on-board DCDC regulator (mentioned below)
      • from C.H.I.P.s battery

      This offers an outstanding battery safer option: If you only have limited power in your Battery, shut the C.H.I.P. down! Before you do that, send a wakeup time to the SALSA and the SALSA will reboot the C.H.I.P. as soon as that time has passed! The Salsa can run on a few uA during wait. The video below shows how the SALSA is restarting the CHIP, without me touching anything.

      more

    • An optional on-board DCDC regulator that allows me to power the SALSA from 7-28V DC and provides stable 5V with up to 3A current to the SALSA and the C.H.I.P.. (e.g. run your C.H.I.P. on the 12V from your car)Power is a big issue on the C.H.I.P. most likely the #1 problem on the forum. The reason is that C.H.I.P. draws quite a lot current from the powersuppply (I’ve measured 350mA at idle, and ~500mA under load with spikes up to 650mA). If your powersupply can’t handle those spikes with stable 5V but instead reduce the voltage C.H.I.P. crashes. I’ve measured the stability on a few of my phone chargers, which claim to be 1A stable. The first provided 4.65V at 350mA, the next 4.7V@350mA and went down to 4.2V when I started a CPU intense task. That when I’ve decided to add my own DCDC regulator.

      This pictures actually shows the QUESO DIP, but it is the same DCDC regulator.In general every wallplugged charger should work, that has an output between 7-28V and at least 5W (V*A) so typically a 12V charger with 0.75A (= 9W) or an old laptop powersupply (most of them are ~20V and 50-120W) will give you plenty of power. I found a few power supplies that came with old USB harddrives in my closet and gave them a new purpose.

    Motor-version

    The SALSA II can be assembled with a L293DD motordriver instead of the PWM N-Mosfet. The real neat part is that is can use the PWM channels to drive real smooth curves.

    This transforms the SALSA into a really easy to use robot driving DIP.

    Physical connection

    • See below for the pinout

      more

    How to install the software

    • 1. Install the SALSA on top of the C.H.I.P. and connect a few ws2812 leds if you have. It should look like shown in the pictures below
      This is the lower end, over C.H.I.P.s wifi module and the battery connector, connect the LEDs here
      This is the upper end, connect power to the boards here, red is +, black –
      There is NO POLARITY PROTECTION on the board, so please make sure that connect them in the right way.
    • 2. check if the C.H.I.P. can see the SALSA by running
      sudo i2cdetect -y 1
      0 1 2 3 4 5 6 7 8 9 a b c d e f
      00: -- 04 -- -- -- -- -- -- -- -- -- -- -- 
      10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      70: -- -- -- -- -- -- -- --
      

      If you see the 0x04 (that is the SALSA I2C address) go on

    • 3. Run my autoinstall script
      cd ~
      wget https://github.com/KoljaWindeler/CHIP_SALSA/raw/master/install/install.sh
      sudo sh install.sh
      

      This will take a minute and download all necessary code for you. It will also ask you if you want to run a little demo code. Take a look in the directory CHIP_SALSA/python for more demo code and how the connection works:

      • analog_dimm.py
      • analog_read.py
      • analog_write.py
      • digital_read.py
      • digital_write.py
      • ws2812_moving_rainbow.py
      • ws2812_rainbow.py

    How to use salsa within the arduino IDE

    • To use the SALSA inside the Arduino IDE add this code block to the boards.txt file (see http://playground.arduino.cc/Main/CustomizeArduinoIDE)
      atmega328o.name=[Optiboot] SALSA DIP w/ ATmega328
      atmega328o.upload.protocol=arduino
      atmega328o.upload.maximum_size=32256
      atmega328o.upload.speed=19200 -F
      atmega328o.bootloader.low_fuses=0xe2
      atmega328o.bootloader.high_fuses=0xda
      atmega328o.bootloader.extended_fuses=0x05
      atmega328o.bootloader.path=optiboot
      atmega328o.bootloader.file=optiboot_atmega328.hex
      atmega328o.bootloader.unlock_bits=0x3F
      atmega328o.bootloader.lock_bits=0x0F
      atmega328o.build.mcu=atmega328p
      atmega328o.build.f_cpu=8000000L
      atmega328o.build.core=arduino:arduino
      atmega328o.build.variant=arduino:standard
      
    • Restart the arduino IDE and select Boards -> Salsa
    • You’ll need a UART to USB cable (5V) to connect to the DIP

    Without arduino

    It is possible to use C.H.I.P.s GPIO/UART pins to programm the SALSA. This is a five step process:

    • 1. install avrdude on chip (sudo apt-get install avrdude)
    • 2. move the original avrdude (sudo mv /usr/bin/avrdude /usr/bin/avrdude_org)
    • 3. add wrapper (sudo cp firmware/avrdude /usr/bin/avrdude)
    • 4. complete the wiring as shown below:

    • 5. stop the serial console on the uart port
      (sudo systemctl stop serial-getty@ttyS0.service)

    Now just use the arduino IDE and flash your firmware 🙂
    Remember: You have to repeat step 5 after every reboot!

Additional information

Weight 0.042 kg
Outputs

PWM N-Mosfets, Motor driver +1$

Reviews

There are no reviews yet.

Be the first to review “SALSA II – Arduino CoProcessor”