PS4 controller now supported by the USB Host library

January 12th, 2014 87 comments

I am very pleased to announce that I have now added support for the PS4 controller via Bluetooth. This will allow you to read all the buttons and joysticks with the same API as all the other libraries I have written for the USB Host library.

PS4 controller

To get started you should look at the provided example. It shows how to read the different buttons and joysticks. I still haven’t figured out how to control the light, rumble and read the accelerometer, gyroscope and touchpad, but hopefully I will figure that out soon.
Read more…

Categories: Arduino, Bluetooth, TKJ Electronics, USB Tags:

Bluetooth HID devices now supported by the USB Host library

December 1st, 2013 26 comments

I am glad to announce that Bluetooth HID devices are now supported by the USB Host library. The library already supports PS3 and Wiimote controllers, but now it also supports more general devices, like Bluetooth keyboard and mice.

An example is available at the following link: https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/Bluetooth/BTHID/BTHID.ino.

First time you run the code, you will have to pair with your device, this is done by creating the instance like so:

BTHID bthid(&Btd, PAIR, "0000");

You can of course set the pin to anything you like.

Now you should enable discovery of your device and it should automatically detect any mouse or keyboard present and then connect to them. On Bluetooth mice there is no need to enter any pin, but on a keyboard you should enter the pin on the keyboard and then afterwards press enter.

So in this example you should press 0 four times on the keyboard and then press enter afterwards.

After you have paired with the device, you can simply create the instance like so:

BTHID bthid(&Btd);

When you press any button on your device it will automatically connect to the last paired device i.e. your Arduino.
Read more…

Categories: Arduino, Bluetooth, TKJ Electronics, USB Tags:

How to stream video and audio from a Raspberry Pi with no latency

June 4th, 2013 55 comments

I have finally finished my last exams, so now I have more time to focus on some of my own projects. It has been a while since our Kickstarter campaign was successfully funded, but we are still working on making the experience better for the final users.

After the campaign ended we sent out a survey to all our backers with several questions about there address, profession and so on, but we also asked them if they had any suggestions for improvements or extra features they would like to see added to the Balanduino. A lot of people asked if we could enable wireless streaming for it.
I was personally very excited about that since I have been playing with the thought for quite a while, so when the official camera module for the Raspberry Pi became available I bought it straight away.

Raspberry Pi camera module

Read more…

Kickstarter successfully funded

April 19th, 2013 2 comments

We are very pleased to announce that our Kickstarter for the Balanduino balancing robot has successfully been funded by $13,494 which we are very happy about.

We have just received stickers from our printing company and have decided to give a little bonus in form of a signed Balanduino post card. We will be shipping this post card and stickers to all of our backers who have pledged $10 or more, within next week.

All the source code including the firmware, schematic, PCB layout and mechanical drawings for the frame is available at Github: https://github.com/TKJElectronics/Balanduino.

If you are not a backer, but are still interested in the project, you should checkout the Kicstarter: http://www.kickstarter.com/projects/tkjelectronics/balanduino-balancing-robot-kit and our previous blog post: http://blog.tkjelectronics.dk/2013/03/balanduino-balancing-robot-kit/.

That’s all for now. Please let us know in the comments below if you got any questions or comments regarding the project.

The Balanduino

The Balanduino

Balanduino Kickstarter almost finished

April 13th, 2013 6 comments

Hello to all of our followers. This is just a short reminder that the Kickstarter of our Balancing robot, the Balanduino, is nearly finished.
We have already reached our goal of $10.000, but of course it would be great to get even more backers and pledges.

In the meanwhile we have recorded a new video of the robot with a GoPro mounted on the top.

For more information check out the prevouis blog post: http://blog.tkjelectronics.dk/2013/03/balanduino-balancing-robot-kit/ and the Kickstarter page.

Balanduino – Balancing Robot Kit (Kickstarter)

March 18th, 2013 No comments

Hello all fellow blog readers.
Most of you might be aware of the Balancing robot project we have been working on for quite a while, if not please have a look here: The Balancing Robot.

We have now been working on this project in over a year, fine tuning the balance and stability of the robot and adding even other features and control options.

And NOW we are ready to announce this Balancing robot to be sold as a kit, named Balanduino.

The Balanduino

The Balanduino


The Balanduino kit consists of an Arduino compatible main board with the necessary sensors to keep the robot balanced automatically.

Furthermore the main board contains a USB Host controller, the MAX3421E, which library for the Arduino we have been expanding a lot recently, adding support for many of the most popular game controllers.
This USB Host controller together with a USB Bluetooth dongle enabled you to remotely control the Balanduino with your Android phone, PS3, Wii or Xbox controller and even your Windows, Linux or Mac PC.
Read more…

Categories: Arduino, Balanduino, Bluetooth Tags:

LPC4350 board – which parts would you like to see reviewed

March 3rd, 2013 7 comments

We have just recently bought a one of the latest evaluation kits from Hitex, featuring the new dual-core LPC4350 from NXP – the LPC4350 Evaluation Board.

LPC4350 Getting Started Kit

LPC4350 Getting Started Kit


The processor consists of two cores, an ARM Cortex-M0, as the low-level processor and the high-end ARM Cortex-M4. Even though the two cores are of a different kind and with independently different features, they both run at a frequency of up to a stunning 204MHz.
Read more…

Categories: ARM, Development boards Tags:

Drive LCD TFT displays with an FPGA

February 22nd, 2013 11 comments

FPGA’s can be very advanced to get started using, especially if you are used to microcontrollers.
But when you first get the right feeling and the proper mindset you will soon see the endless possibilities with the programmable logic.

One of the great aspects of the logic is the speed and the full control of what happens at every single clock cycle.
With this full control it doesn’t takes many lines of code to generate a very time-critical signal such as a video signal.

In this short post I will walk thru our current test setup with an FPGA, the Spartan 3E, controlling a 18-bit 7″ 800×480 TFT display.

Spartan 3E controlling a 800×480 TFT LCD

Read more…

Categories: Development boards, FPGA, Guides Tags:

Documentation added for the USB Host Library

February 20th, 2013 19 comments

I’m happy to announce that documentation is now available for all the libraries I have written for the USB Host Shield library.
The documentation is available at the following link: http://felis.github.com/USB_Host_Shield_2.0.
The documentation is generated using Doxygen which is a free documentation-generator based upon the header files in the source code.

For instance the following comment will end up looking like this in the documentation:

I hope this will be useful for people who is new to the USB host library or even people who just want a quick overview.
If you spot any typos or got any comments please let me know in the comments below.

Categories: Arduino, Bluetooth, TKJ Electronics, USB Tags:

Bluetooth controlled RGB light strip

January 20th, 2013 8 comments

In December last year we developed a small Bluetooth controlled RGB light strip for the christmas tree, to be controlled with your Android smartphone

The demonstration of the project and the smartphone control can be seen in the video below.

The main aspect of the project is to use an Arduino to parse incoming Serial commands to enable and set different effects for the attached RGB strip.
The code for the project, including the Arduino code and the Android application project, can be found on GitHub: AndroidControllableLights

Another interesting aspect of the project was to enable wireless update of the Arduino sketch, using the Bluetooth serial connection. Scroll down in this post if you are only interested in figuring out how this can be done. Read more…

Categories: TKJ Electronics Tags: