Loading

RTk.GPIO - First looks on a Mac

RaspberryPi Input and output ports on your computer

RTk.GPIO - First looks on a Mac

I just received a RTk.GPIO from Ryanteck, for which I was part of the Kickstarter campaign. This is designed to allow you to have a set of GPIO ports similar to the Raspberry Pi via USB on your Windows or Mac.

The annoying CH360 chip

I realised that the board has the much maligned CH340 chip on it, which has had its ups and downs with MacOS. Thankfully I read a really useful blog post the other day which had helped me to work out how to get the most up to date driver for this chip. So hoped that the work I had done with that on getting Arduino clones to work would work with this board too.

You can control the interface with Python, the same as on a Pi, so to get it on the Mac I had to install python from: https://www.python.org/downloads/release/python-353/

This downloaded as a pkg file and ran easily. Although it took a bit of careful reading to establish which installer to use for OSX Sierra first.

Once I had python installed the brief setup guide explained I had to run the following in Terminal on the Mac:

sudo -H pip3 install RTk

This burst to life after typing the password and off it went to download the RTk drivers and installed them:

  Installing collected packages: pyserial, wheel, future, RTk
  Running setup.py install for future ... done
  Successfully installed RTk-0.3.7 future-0.16.0 pyserial-3.2.1 wheel-0.29.0

I didn't follow half or that. Never mind. I typed in Ryanteck's demo program using pico, saved as gpio.py and typed python gpio.py.
To which it replied:

  Traceback (most recent call last):
  File "gpio.py", line 1, in 
  from RTk import GPIO
  ImportError: No module named RTk

After a lot of head scratching I discovered (thanks python-guide.org ) that I had installed Python 3, and appeared to be running the built in version of Python, which isn't what I had installed the RTK library into.

To remedy, I simply typed Python3 gpio.py instead. This now appeared to work better:

  Error: RTk.GPIO not detected.
  For more support please visit our website at http://Ryanteck.com/rtk-000-00C
  Press enter to close.

I deduced from this that the drivers I had installed for my Arduino clones were not the same as the ones for the RTk.GPIO so went and installed them from the github at: https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver

330 Ohm Resistor heat shrinked onto the LED lead

I connected an LED to the ground pin and the other pin via a 330 Ohm resistor to pin 21 (which I had set in the code) and the LED lit up.

330 Ohm Resistor heat shrinked onto the LED lead

It didn't flash to begin with. This was because I had missed out the tab in the last sleep command, which meant the LED was only turning off for an instant each time around the loop, and the second sleep command was never executed.

Once that was all working as expected, I re-wired another LED and wrote my own test program. So here is my first OSX python RTk.GPIO program:


  from RTk import GPIO
  from time import sleep
  LED1=21
  LED2=20
  GPIO.setmode(GPIO.BCM)
  GPIO.setup(LED1,GPIO.OUT)
  GPIO.setup(LED2,GPIO.OUT)
  while True:
     GPIO.output(LED1,1)
     GPIO.output(LED2,0)
     sleep(.5)
     GPIO.output(LED1,0)
     GPIO.output(LED2,1)
     sleep(.5)

This does a 'flip-flop' flash between two LEDs. Here it is running in its full glory:

LEDs flashing in sequence

Thanks for this Ryanteck. Thanks for the lesson in Python and OSX too!

Buy one here for £10.

24-Jan-2017 Add comment

blog comments powered by Disqus Permanent Link

Matthew Norman...

... who lives in the UK, who is not an actor, not a clock manufacturer, did not write a rough guide to cuba and also has never written for the Telegraph. I have written books on coldfusion and web databases.

(c) somewhere in space and time: M.Norman