• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 16:13
CEST 22:13
KST 05:13
  • 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
Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7Code S Season 2 (2026) - RO8 Preview5[ASL21] Finals Preview: Two Legacies21
Community News
Douyu Cup 2026: $20,000 Legends Event (June 26-28)8[BSL22] Non-Korean Championship from 13 to 28 June4Weekly Cups (May 25-31): Clem doubles, 2v2 circuit heads toward finale0StarCraft II 5.0.16 PTR Patch Notes may 26th156Weekly Cups (May 18-24): MaxPax wins doubles0
StarCraft 2
General
RSL S6 finale at Blizzcon Oliveira Would Have Returned If EWC Continued Team Liquid Map Contest #22: Results and Winners High level ptr replays? where can I find them? StarCraft II 5.0.16 PTR Patch Notes may 26th
Tourneys
Douyu Cup 2026: $20,000 Legends Event (June 26-28) Maestros of The Game 2 announcement and schedule ! Sparkling Tuna Cup - Weekly Open Tournament Sea Duckling Open (Global, Bronze-Diamond) GSL Code S Season 2 (2026)
Strategy
[G] Having the right mentality to improve
Custom Maps
[D]RTS in all its shapes and glory <3
External Content
Mutation # 530 One For All The PondCast: SC2 News & Results Mutation # 529 Opportunities Unleashed Mutation # 528 Infection Detected
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion vespene.gg — BW replays in browser Quality of life changes in BW that you will like ? [BSL22] Non-Korean Championship from 13 to 28 June
Tourneys
[Megathread] Daily Proleagues [ASL21] Grand Finals [BSL22] Grand Finals - Sunday 21:00 CEST Escore Tournament StarCraft Season 2
Strategy
Creating a full chart of Zerg builds Relatively freeroll strategies Why doesn't anyone use restoration? Any training maps people recommend?
Other Games
General Games
Path of Exile Stormgate/Frost Giant Megathread Nintendo Switch Thread PC Games Sales Thread ZeroSpace Megathread
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia
Community
General
US Politics Mega-thread Canadian Politics Mega-thread Russo-Ukrainian War Thread Trading/Investing Thread Things Aren’t Peaceful in Palestine
Fan Clubs
The HerO Fan Club! The herO Fan Club!
Media & Entertainment
Movie Discussion! [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion [Manga] One Piece
Sports
2024 - 2026 Football Thread Formula 1 Discussion Cricket [SPORT] TeamLiquid Health and Fitness Initiative For 2023 NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
Does Workplace Frustration D…
TrAiDoS
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Why RTS gamers make better f…
gosubay
Customize Sidebar...

Website Feedback

Closed Threads



Active: 9722 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
BSL22 NKC (BSL vs China)
19:00
Group Stage - Day 2
Jaystar vs Dewalt
eOnzErG vs TerrOr
XuanXuan vs Bonyth
Mihu vs Dewalt
Messiah vs Jaystar
eOnzErG vs Bonyth
TerrOr vs Dewalt
ZZZero.O165
LiquipediaDiscussion
uThermal 2v2 Circuit
15:00
Season Finals: Group Stage 2
uThermal3217
RotterdaM1075
TaKeTV 574
mouzHeroMarine569
IndyStarCraft 202
BRAT_OK 130
SteadfastSC124
SHIN 73
sc2solar59
LamboSC252
Shameless19
Classic16
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
uThermal 3217
RotterdaM 1075
mouzHeroMarine 569
IndyStarCraft 202
BRAT_OK 130
SteadfastSC 124
ProTech80
SHIN 73
sc2solar 59
LamboSC2 52
CosmosSc2 47
Railgan 28
JuggernautJason27
Classic 16
StarCraft: Brood War
Britney 13138
Calm 2678
Mini 180
ZZZero.O 165
ggaemo 81
Dewaltoss 68
Sea.KH 53
Soulkey 39
Shine 19
Rock 18
Dota 2
XaKoH 503
League of Legends
Doublelift10392
JimRising 186
Counter-Strike
fl0m9433
zeus814
byalli413
Super Smash Bros
Mew2King96
Heroes of the Storm
Khaldor222
Other Games
Grubby4615
summit1g4429
mouzStarbuck402
UpATreeSC47
Tefel14
OptimusSC25
Organizations
Other Games
EGCTV1476
gamesdonequick798
BasetradeTV165
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 12 non-featured ]
StarCraft 2
• Reevou 5
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Other Games
• Shiphtur171
Upcoming Events
Wardi Open
14h 47m
OSC
1d 3h
Replay Cast
2 days
The PondCast
3 days
Replay Cast
4 days
OSC
4 days
CranKy Ducklings
4 days
BSL22 NKC (BSL vs China)
5 days
XuanXuan vs Jaystar
Mihu vs Messiah
eOnzErG vs Dewalt
Bonyth vs Jaystar
TerrOr vs Messiah
XuanXuan vs Mihu
eOnzErG vs Jaystar
BSL22 NKC (BSL vs China)
6 days
Dewalt vs Messiah
Bonyth vs Mihu
TerrOr vs XuanXuan
eOnzErG vs Messiah
Jaystar vs Mihu
Dewalt vs XuanXuan
Bonyth vs TerrOr
Liquipedia Results

Completed

Acropolis #4 - GSB
2026 GSL S2
Heroes Pulsing #1

Ongoing

IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
CSCL: Masked Kings S4
YSL S3
BSL 22 Non-Korean Championship
SCTL 2026 Spring
Maestros of the Game 2
WardiTV Spring 2026
uThermal 2v2 2026 Main Event
Murky Cup 2026
Heroes Pulsing #2
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1

Upcoming

CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
Douyu Cup 2026
Heroes Pulsing #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
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 © 2026 TLnet. All Rights Reserved.