• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 08:43
CEST 14:43
KST 21:43
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL20] Ro24 Preview Pt1: Runway132v2 & SC: Evo Complete: Weekend Double Feature4Team Liquid Map Contest #21 - Presented by Monster Energy9uThermal's 2v2 Tour: $15,000 Main Event18Serral wins EWC 202549
Community News
Maestros of The Game—$20k event w/ live finals in Paris23Weekly Cups (Aug 11-17): MaxPax triples again!13Weekly Cups (Aug 4-10): MaxPax wins a triple6SC2's Safe House 2 - October 18 & 195Weekly Cups (Jul 28-Aug 3): herO doubles up6
StarCraft 2
General
What mix of new and old maps do you want in the next 1v1 ladder pool? (SC2) : 2v2 & SC: Evo Complete: Weekend Double Feature Geoff 'iNcontroL' Robinson has passed away The GOAT ranking of GOAT rankings RSL Revival patreon money discussion thread
Tourneys
RSL: Revival, a new crowdfunded tournament series Maestros of The Game—$20k event w/ live finals in Paris Sparkling Tuna Cup - Weekly Open Tournament Monday Nights Weeklies Master Swan Open (Global Bronze-Master 2)
Strategy
Custom Maps
External Content
Mutation # 487 Think Fast Mutation # 486 Watch the Skies Mutation # 485 Death from Below Mutation # 484 Magnetic Pull
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ Joined effort Flash On His 2010 "God" Form, Mind Games, vs JD New season has just come in ladder BW General Discussion
Tourneys
[ASL20] Ro24 Group B [ASL20] Ro24 Group C BWCL Season 63 Announcement [CSLPRO] It's CSLAN Season! - Last Chance
Strategy
Simple Questions, Simple Answers Fighting Spirit mining rates [G] Mineral Boosting Muta micro map competition
Other Games
General Games
Nintendo Switch Thread General RTS Discussion Thread Dawn of War IV Path of Exile Stormgate/Frost Giant Megathread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread The year 2050 Things Aren’t Peaceful in Palestine European Politico-economics QA Mega-thread
Fan Clubs
INnoVation Fan Club SKT1 Classic Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece [\m/] Heavy Metal Thread
Sports
2024 - 2026 Football Thread TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
High temperatures on bridge(s) Gtx660 graphics card replacement Installation of Windows 10 suck at "just a moment"
TL Community
The Automated Ban List TeamLiquid Team Shirt On Sale
Blogs
Evil Gacha Games and the…
ffswowsucks
Breaking the Meta: Non-Stand…
TrAiDoS
INDEPENDIENTE LA CTM
XenOsky
[Girl blog} My fema…
artosisisthebest
Sharpening the Filtration…
frozenclaw
ASL S20 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1693 users

[advice needed] Android + bluetooth + arduino

Blogs > evanthebouncy!
Post a Reply
evanthebouncy!
Profile Blog Joined June 2006
United States12796 Posts
Last Edited: 2014-01-28 09:38:03
January 28 2014 09:34 GMT
#1
Hello,

I need to learn how to develop an android app that communicates to an arduino controller via blue tooth.

A minimalistic app will be something like controlling the brightness of an LED from the android phone while monitoring the current brightness of it with a light sensor, displaying a reading on the phone. This includes a basic 2-way communication, adjusting brightness from phone to device, and reporting a reading from device to phone.

Here is where I stand:
I have completed the hello-world programming for android (activities, actionbars, etc)
I have 0 idea of how arduino works
I have years of software engineering experience (although I have not programmed a microcontroller before)
I have not touched circuits / electronics since undergrad, I know what is a capacitor (omg! haha) but that's about it.

So what I imagine I'll need is a very self-contained tutorial, from what parts to buy, to how to wire up the circuit, and detailed instruction of how to code up both the arduino and the mobile phone.

If anyone is an expert in this area and would like to recommend me an online tutorial for me it will be awesome. There are a lot out there but I cannot be sure if one is good or not. The tutorial should ideally be very simple but contains the basic elements of communication between the devices.

much love!
--evan

Life is run, it is dance, it is fast, passionate and BAM!, you dance and sing and booze while you can for now is the time and time is mine. Smile and laugh when still can for now is the time and soon you die!
Djagulingu
Profile Blog Joined December 2010
Germany3605 Posts
Last Edited: 2014-01-28 17:08:54
January 28 2014 11:22 GMT
#2
On January 28 2014 18:34 evanthebouncy! wrote:
So what I imagine I'll need is a very self-contained tutorial, from what parts to buy, to how to wire up the circuit, and detailed instruction of how to code up both the arduino and the mobile phone.

I'm not an expert at wireless communication devices, but i think you can easily find tutorials on the internet about it. I programmed wired communication using PIC microcontrollers and RS232 protocol, but not bluetooth and arduino.

What you need is:

1- An(y) Arduino board (I'm guessing that it is a hobby project, so I'll recommend Arduino Uno)
2- A bluetooth transceiver device that is compatible with Arduino well, I guess all of them are compatible with Arduino. Mobile phone probably has its own bluetooth transceiver, so you will need only 1 bluetooth transceiver.
3- The system that will be actuated by control signals from Arduino (it might be a DC Motor, a LED whose lighting frequency or brightness will be determined by Arduino or even a speaker which will be used by Arduino to generate different sounds by feeding it by different frequencies, that is totally up to you and your creativity)
4- A current amplifier (I didn't read Arduino Uno's datasheet or datasheets of any Arduino boards but I don't think it supplies enough current for anything but a simple LED)

Connections will be pretty simple and straightforward (I'm serious, you'll have input(s) from the bluetooth transceiver and outputs to the system itself), programming Arduino is so fucking much easier than any other microcontroller (due to the simple fact that it is programmed using embedded C and not assembly).

After that, you need to hit the online tutorials about Android programming and Arduino programming. There are lotsnlots of hobbyists around, using various Arduino boards for their hobby projects, so I don't think you'll be having difficulties finding tutorials for programming the Arduino board, I'm not sure about Android programming though. Actually, you can PM me if you have good tutorials about it, because I don't.

EDIT: Oh, it involves measuring brightness and sending it to the phone. Here is how you do it:

1- FUCK light sensor. Seriously. You'll have a fuckton of interference. Use a simple resistor instead, measure the voltage across it. The more current LED draws, the brighter it lights. Simple as that.

2- You'll need to configure arduino pins that are connected to bluetooth transceiver as input pins/output pins when you expect to receive/send. Just configure then as output when you want to send stuff and input for the rest of the time.

3- Use timer interrupts. When you get a timer interrupt, measure the current, configure as output, send stuff to phone, configure as input, return from interrupt.

EDIT 2: For the brightness control, you might need to use 4 (or 8, or 16, or whatever number that can be expressed by 2^n where n is an integer) pins for output and a Digital-to-Analog Converter so that the raw integer number (that is between 0-(2^n-1)) which is sent by your phone can be expressed as different voltage levels and consequently different brightness levels. You can find different DAC circuits on the net. My favorite one is n-2n ladder circuit.
"windows bash is a steaming heap of shit" tofucake
RoyGBiv_13
Profile Blog Joined August 2010
United States1275 Posts
Last Edited: 2014-01-28 20:02:49
January 28 2014 20:01 GMT
#3
On January 28 2014 20:22 Djagulingu wrote:
Show nested quote +
On January 28 2014 18:34 evanthebouncy! wrote:
So what I imagine I'll need is a very self-contained tutorial, from what parts to buy, to how to wire up the circuit, and detailed instruction of how to code up both the arduino and the mobile phone.

I'm not an expert at wireless communication devices, but i think you can easily find tutorials on the internet about it. I programmed wired communication using PIC microcontrollers and RS232 protocol, but not bluetooth and arduino.

What you need is:

1- An(y) Arduino board (I'm guessing that it is a hobby project, so I'll recommend Arduino Uno)
2- A bluetooth transceiver device that is compatible with Arduino well, I guess all of them are compatible with Arduino. Mobile phone probably has its own bluetooth transceiver, so you will need only 1 bluetooth transceiver.
3- The system that will be actuated by control signals from Arduino (it might be a DC Motor, a LED whose lighting frequency or brightness will be determined by Arduino or even a speaker which will be used by Arduino to generate different sounds by feeding it by different frequencies, that is totally up to you and your creativity)
4- A current amplifier (I didn't read Arduino Uno's datasheet or datasheets of any Arduino boards but I don't think it supplies enough current for anything but a simple LED)

Connections will be pretty simple and straightforward (I'm serious, you'll have input(s) from the bluetooth transceiver and outputs to the system itself), programming Arduino is so fucking much easier than any other microcontroller (due to the simple fact that it is programmed using embedded C and not assembly).

After that, you need to hit the online tutorials about Android programming and Arduino programming. There are lotsnlots of hobbyists around, using various Arduino boards for their hobby projects, so I don't think you'll be having difficulties finding tutorials for programming the Arduino board, I'm not sure about Android programming though. Actually, you can PM me if you have good tutorials about it, because I don't.

EDIT: Oh, it involves measuring brightness and sending it to the phone. Here is how you do it:

1- FUCK light sensor. Seriously. You'll have a fuckton of interference. Use a simple resistor instead, measure the voltage across it. The more current LED draws, the brighter it lights. Simple as that.

2- You'll need to configure arduino pins that are connected to bluetooth transceiver as input pins/output pins when you expect to receive/send. Just configure then as output when you want to send stuff and input for the rest of the time.

3- Use timer interrupts. When you get a timer interrupt, measure the current, configure as output, send stuff to phone, configure as input, return from interrupt.

EDIT 2: For the brightness control, you might need to use 4 (or 8, or 16, or whatever number that can be expressed by 2^n where n is an integer) pins for output and a Digital-to-Analog Converter so that the raw integer number (that is between 0-(2^n-1)) which is sent by your phone can be expressed as different voltage levels and consequently different brightness levels. You can find different DAC circuits on the net. My favorite one is n-2n ladder circuit.


The above post mentions quite a few low level requirements for driving the bluetooth modem and measuring the light sensor. This would be the case if you were using a PIC, or had to write your own driver level code. Fortunately, the Arduino platform is a very well developed library with most of this already written for you, so your project on that side will be relatively easy. I would suspect that a weekend would be enough time to dig through the examples and build your arduino led/light sensor toy.

Most Arduinos have an ADC/DAC on-chip peripheral. It should be pretty straight forward to use for dimming the LED and reading the light sensor (many of which output just a straight voltage).
http://www.adafruit.com/products/1384
http://www.adafruit.com/products/161

For bluetooth, the easiest route is to use a bluetooth modem, which will effectively emulate a serial wire between the phone and the arduino: http://www.adafruit.com/products/1588

Adafruit or Sparkfun comes with enough examples and tutorials to get you going on that front. From the links I sent you, just click on the "tutorial" tab to get you going! It should have a software example for you.

For the mobile part of your project, I don't have any great resources as I tend to avoid bluetooth at all costs these days, and go with websockets instead.
Any sufficiently advanced technology is indistinguishable from magic
Please log in or register to reply.
Live Events Refresh
SC Evo League
12:00
S2 Championship: Ro16 Day 2
IndyStarCraft 145
SteadfastSC60
EnkiAlexander 31
IntoTheiNu 12
Liquipedia
WardiTV Summer Champion…
11:00
Playoffs Day 1
ByuN vs herO
MaxPax vs Zoun
Clem vs NightMare
WardiTV799
Liquipedia
Sparkling Tuna Cup
10:00
Weekly #103
Solar vs ShoWTimELIVE!
ByuN vs TBD
CranKy Ducklings313
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
IndyStarCraft 145
Rex 120
BRAT_OK 94
ProTech79
SteadfastSC 60
MindelVK 35
StarCraft: Brood War
Britney 42035
Larva 913
Killer 594
Pusan 487
PianO 432
Hyun 412
Last 309
ggaemo 289
Mini 284
Soma 233
[ Show more ]
Hyuk 229
firebathero 219
Rush 199
Mind 197
Barracks 158
Sea.KH 49
soO 35
ajuk12(nOOB) 27
Free 25
Noble 15
Icarus 15
HiyA 15
Sacsri 10
Dota 2
Gorgc7800
qojqva1345
XcaliburYe460
Pyrionflax201
Fuzer 148
League of Legends
Dendi839
Counter-Strike
summit1g8811
olofmeister1897
Super Smash Bros
Mew2King66
Heroes of the Storm
Khaldor207
Other Games
singsing2080
B2W.Neo763
RotterdaM222
byalli185
rGuardiaN43
Organizations
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Reevou 12
• intothetv
• AfreecaTV YouTube
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 2851
• WagamamaTV369
League of Legends
• Jankos2406
• Nemesis1776
Upcoming Events
Chat StarLeague
3h 17m
Razz vs Julia
StRyKeR vs ZZZero
Semih vs TBD
Replay Cast
11h 17m
Afreeca Starleague
21h 17m
Queen vs HyuN
EffOrt vs Calm
Wardi Open
22h 17m
RotterdaM Event
1d 2h
Replay Cast
1d 11h
Afreeca Starleague
1d 21h
Rush vs TBD
Jaedong vs Mong
WardiTV Summer Champion…
1d 22h
PiGosaur Monday
2 days
Afreeca Starleague
2 days
herO vs TBD
Royal vs Barracks
[ Show More ]
Replay Cast
3 days
The PondCast
3 days
WardiTV Summer Champion…
3 days
Replay Cast
4 days
LiuLi Cup
4 days
Cosmonarchy
5 days
OyAji vs Sziky
Sziky vs WolFix
WolFix vs OyAji
BSL Team Wars
5 days
Team Hawk vs Team Dewalt
BSL Team Wars
5 days
Team Hawk vs Team Bonyth
SC Evo League
5 days
[BSL 2025] Weekly
6 days
SC Evo League
6 days
Liquipedia Results

Completed

Jiahua Invitational
uThermal 2v2 Main Event
HCC Europe

Ongoing

Copa Latinoamericana 4
BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21 Qualifiers
ASL Season 20
CSL Season 18: Qualifier 1
Acropolis #4 - TS1
CSLAN 3
SEL Season 2 Championship
WardiTV Summer 2025
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025

Upcoming

CSL Season 18: Qualifier 2
CSL 2025 AUTUMN (S18)
LASL Season 20
BSL Season 21
BSL 21 Team A
Chzzk MurlocKing SC1 vs SC2 Cup #2
RSL Revival: Season 2
Maestros of the Game
EC S1
Sisters' Call Cup
IEM Chengdu 2025
PGL Masters Bucharest 2025
MESA Nomadic Masters Fall
Thunderpick World Champ.
CS Asia Championships 2025
Roobet Cup 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.